Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。" Z% f' x9 Z" l
% O+ H+ @" g) C3 U# i- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
4 W5 s% A' m* i) v" h- client_body_buffer_size 512k;) u. I' Y. b. d
- proxy_connect_timeout 5;) l- P) _) {9 k( Y
- proxy_read_timeout 60;* |* D) {2 X, _! |
- proxy_send_timeout 5;
8 x" z; q3 Q5 n; k - proxy_buffer_size 16k;7 r$ ]- B' W# }2 O0 W6 w
- proxy_buffers 4 64k;
0 {7 u% i( H- E' U5 ^( Z - proxy_busy_buffers_size 128k;5 n V" _. Z% ~0 |
- proxy_temp_file_write_size 128k;4 _4 V- S# H" t! P9 b" ]
- proxy_temp_path /home/cache/temp;
7 @$ ]# X6 v8 b$ X* e% L9 d/ j - # 配置临时目录
) s+ Q( l4 B4 C O$ O* k - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;/ r7 T2 |3 x. @! D8 ]% \9 s& R% A
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
7 `' ]) q* j" b$ J6 q& o, z+ Y5 Q; Q- B% L2 I6 I# j) F0 O
- mkdir /home/cache/path -p
7 M z% x7 n8 g2 @( |& E$ i1 K - mkdir /home/cache/temp
7 ]" t7 g, U9 U1 J# T& I" g - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限5 v; Q& b$ Z; R3 N3 s1 C1 s( z
+ {- K1 N8 i0 E! b+ x5 \" A, G1 }% I: C
先创建一个“www.wdidc.net”虚拟主机 h- H G* j* P+ ? W' ^- ?4 u- D
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。, A& X7 t) P! v
8 I1 M2 V! b$ f删除之前系统生成的代码,填入以下代码,注意修改网址。; I: ^; i. s' @" E9 {" J( [
- server
2 g" b# N' C" x9 t - {
3 f: [, R: S* d: I, p+ v) k$ z - listen 80;
: y$ h3 n X6 { - server_name www.wdidc.net;
& b5 J. ^4 E" ^- q) I/ k+ h% `; U
$ b, L2 f$ d( `( ~& p- location / {
1 D: ~7 b% e, f9 ?6 e9 A - proxy_cache cache;" {, ?, R% r3 v$ W& }( u% ^
- proxy_cache_valid 200 304 7d;
" I1 a3 j% n" K6 [2 p; d - #200 304状态缓存7天,按实际情况修改
. p8 P8 t: _& N" {$ x3 v - #其他状态缓存(如502 404)10秒
6 }6 T ?: B! I - proxy_cache_valid any 10s;" x+ v' W+ c2 G6 {" B/ e
- proxy_cache_key "$scheme$host$request_uri";: _* ^. C( A# }; y3 Q
- #缓存key规则,用于自动清除缓存。& x6 x8 S7 H4 t' _, _0 u0 [
- proxy_pass https://bbs.wdidc.net/;! h* p2 ~7 a- y5 E
- proxy_redirect off;. P9 K9 J1 m9 ?( c+ J c3 P
- proxy_set_header X-Real-IP $remote_addr;. M3 v; n. E: X6 n% w
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;% G6 f+ p$ m8 I3 N* o
- #向后端传递访客ip4 I3 {$ f: @1 O1 P6 e, Y
- #limit_conn one 20;
* }7 _& o. F; @ P$ }3 d - #limit_rate 200k;) R" g' M- o. S4 q- p1 s! o
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#" q% Q, k( J( p& ]; E. {+ f
- }
$ R( g( L( L5 U& p" e* n - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
' o: W( }! j. P1 e S
4 ~+ {' U. o8 `- G- /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”表示正常,若有错误请根据错误提示排除问题。
, c3 D% e u3 K+ Z' g6 H2 r& S0 w# H
3 \( Y% h! B: Z M重启nginx
+ E8 q( I5 D3 \2 w; `9 [) T; \! n! l9 Z' V
7 ^; d1 J6 \# Z$ }( u+ [2 L/ O7 w+ \' U$ r5 c g
4 r1 O6 ^7 O3 {+ x" h# d |