Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。 }; u8 T# z$ h4 j; j$ N
" B: q: c# I& V1 V' ~
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
* Z+ W2 f1 R1 r! m: d. _ B2 a& H7 \& }- client_body_buffer_size 512k;
! ?# u% V& K- A1 x. a% h - proxy_connect_timeout 5;2 N1 M( {0 r! H) ^2 J1 \( z& A) q
- proxy_read_timeout 60;
0 }8 v6 C2 A1 s z' {+ i - proxy_send_timeout 5;
9 T! w9 o5 d6 {- { - proxy_buffer_size 16k;+ @3 O0 R7 _3 U& L3 R
- proxy_buffers 4 64k;
+ b' K0 E9 t; Z4 ?5 h1 W7 g+ I - proxy_busy_buffers_size 128k;( J8 H% u" P. _8 B# z' c# q
- proxy_temp_file_write_size 128k;, A9 S, W* u5 G4 @% Z; {- z% x
- proxy_temp_path /home/cache/temp;
: N b. W X5 A) {% [ - # 配置临时目录
2 _; H8 Y! ^8 {6 v0 M# l g8 A0 K - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
& O) D8 M: A4 ^! H5 D" I - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:# @ J0 x) V* y# j7 K
0 E/ V s- e5 R: y
- mkdir /home/cache/path -p
% b0 T: h) ?3 j# k% u - mkdir /home/cache/temp
" r/ E5 X4 T6 A q0 P - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
2 Q) p; o! c( M8 U0 k7 z0 ~; a! F) k2 I) J. J: L. r4 d
( T1 D5 P. L' M* Y" O
先创建一个“www.wdidc.net”虚拟主机# {5 Y) f# H+ E7 A' H# I
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
& N' Y7 K+ [2 e1 h
. e0 m( w6 v2 @, X+ l/ `! M3 Y删除之前系统生成的代码,填入以下代码,注意修改网址。
% u6 W8 o" g0 y9 b# s- server/ P: i) P# V% y3 e/ w1 f. e
- {3 y( J* i' m, b7 p% `" {! r7 ~2 r: l
- listen 80;
/ V8 @! ^+ f2 y4 C. j - server_name www.wdidc.net;: x! u. V1 H/ F: [7 C
- / z# v; T8 x$ @) ?4 N+ G
- location / {# {: A1 ]8 {- ~0 J0 t
- proxy_cache cache;
8 @# z M8 ?) Q& D- T7 w) y - proxy_cache_valid 200 304 7d;
1 k; F7 w1 ^: n! u& @' z% i - #200 304状态缓存7天,按实际情况修改/ }& }+ G7 O/ U9 ]2 w6 z' M* ]7 j
- #其他状态缓存(如502 404)10秒
) a$ q7 T& R0 t- I3 C - proxy_cache_valid any 10s;! k) E! H3 {9 X" _7 D" r P. w+ z
- proxy_cache_key "$scheme$host$request_uri";
: Y/ Q7 c3 n6 X A7 ^) F - #缓存key规则,用于自动清除缓存。 |5 Z+ c+ u: a$ b0 X4 G# d
- proxy_pass https://bbs.wdidc.net/;
$ D: z* @! o' d6 i3 u0 c5 R' M3 ] - proxy_redirect off;8 w( a" H2 P0 G1 p! m
- proxy_set_header X-Real-IP $remote_addr;
1 ^8 r9 m/ l* s1 e6 P5 I - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;& H; |6 T' x+ L, | `
- #向后端传递访客ip5 U6 I- m; m$ A
- #limit_conn one 20;
' n0 i6 n# _& z - #limit_rate 200k;
/ p/ a* U2 E4 N6 \( D" H# ~# [5 Z3 y - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#2 Q, ?/ q% j, @
- }- N% o) Q& e1 [5 C# N- _: U
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
" A1 ]2 u! K' e' j9 |) I) K
8 w7 \) R8 s9 y5 d% q8 R2 v- L. Q- /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”表示正常,若有错误请根据错误提示排除问题。
2 }0 d7 u) s8 e6 ?: O1 p# d, y6 C! ]8 Y& N# H& X
重启nginx, `$ h5 o6 y% B# P, o- M
6 ]5 Z( g2 c0 y! @( @% j8 Q# _( w' V, [) e
( o8 a1 D- p' z
$ t2 E9 q( _% t8 ^8 G& D, O4 ~
|