Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
/ N8 r! ]! d/ e' H6 G# r+ P- z; y) Q) R! N/ X5 [* r/ e- J- n
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则% N8 _- B/ G; L0 a* ?8 g. h3 R
- client_body_buffer_size 512k;
% X7 L% A, L4 J8 L% G1 G - proxy_connect_timeout 5;
3 H* E6 u$ a: _/ r, w. J+ y - proxy_read_timeout 60;
9 U% p6 F8 H- w/ `. E - proxy_send_timeout 5;8 f( m& C$ G. B6 ~# q
- proxy_buffer_size 16k;
6 J# [! u% K* {) ~4 w. P$ O8 y - proxy_buffers 4 64k;+ h u% A( q8 \6 d' ]2 k {
- proxy_busy_buffers_size 128k;2 v, G! ?$ _! ?' s
- proxy_temp_file_write_size 128k;! K# e1 ~9 d* H' H
- proxy_temp_path /home/cache/temp;! F) K# F7 j, P9 h8 S+ x |
- # 配置临时目录
5 _' E7 D) t; _2 N - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
2 K+ g' L# a, J8 V, I+ f3 q t - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
, C& ^; u( r" s! J) P2 J9 [
+ b: O v: y7 Y! \7 R' q* T- mkdir /home/cache/path -p6 g! q0 C; r! j/ A0 m
- mkdir /home/cache/temp
# D& m) x9 R3 J( A/ Q3 ~! b - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限, R+ k. D* f- O
& A) ~/ F+ B$ [8 R( e" B$ f$ y0 E( c9 Q# _% u2 o) Q, g
先创建一个“www.wdidc.net”虚拟主机% e. r9 o& Q/ G* n! r8 q9 P) b0 I
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
3 X9 Q. i" C* [" ]( }. p. M, U
`, q9 r. u. [; D4 R, ~* O删除之前系统生成的代码,填入以下代码,注意修改网址。
& z+ E {, s% p+ o, v- server6 E7 Y# X% _7 w
- {
( H0 c& }$ g! |8 o( l& }) v# u - listen 80;
% F! ?3 E9 l1 e N) T - server_name www.wdidc.net;4 V, }# W+ D2 _) y& B8 A
- % G" r' f. z0 v4 W, Y4 J& f
- location / {
) {/ E7 P2 l# [6 z& \/ H# l - proxy_cache cache;3 o' n8 G- X2 Z9 }7 k
- proxy_cache_valid 200 304 7d;
' A) S7 L2 N! c( c) G - #200 304状态缓存7天,按实际情况修改
( q; ~, g9 `( h# K0 {; i# _ - #其他状态缓存(如502 404)10秒, a) t$ U3 O9 W( D
- proxy_cache_valid any 10s;
. S5 D' u! h3 M3 B8 d N/ F, J - proxy_cache_key "$scheme$host$request_uri";9 y, a( w0 L# H M
- #缓存key规则,用于自动清除缓存。
7 M, o) y4 A3 d2 K/ ` - proxy_pass https://bbs.wdidc.net/;
* f$ ?+ R9 Y7 H$ f. S - proxy_redirect off;/ Y) b, ]8 n! w
- proxy_set_header X-Real-IP $remote_addr;
) ]) b1 v) o& O- }# E/ X7 o9 b& Y - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
" s/ `. e$ Z3 l: L/ L$ p - #向后端传递访客ip
. ^7 [+ p+ A# g; X0 a5 C2 G6 G - #limit_conn one 20;
* I: G. ? ?( a# \/ n0 o& A1 i - #limit_rate 200k;) \8 [8 }( T9 Z7 K1 e: `
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
/ J3 v: e" U+ w+ ^/ p - }
u2 I1 J! d( p% r( S2 K" @/ B4 W - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。, V9 w. p9 f- A
3 S' S( N( l, s- /usr/local/nginx/sbin/nginx -t
复制代码 测试:若提示:“the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok configuration file /usr/local/nginx/conf/nginx.conf test is successful”表示正常,若有错误请根据错误提示排除问题。
. A4 u! m. M' K) H& L, o* v! D) a. G6 g4 t+ I7 H6 R
重启nginx
& t7 C! ]) |% w8 z' g* W% X
+ p' |% |3 S4 H P2 M8 \' @7 f
3 F, u) E4 [0 b, z; H
: `6 v; E* f7 ?7 q2 j
( f6 q) ~" L0 J9 z, e! u |