Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。& T) C! z: g3 `2 t
( O) [' V: [5 M4 k
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
: Y& Y& j3 x& \- T" J- client_body_buffer_size 512k;
' M! S* ]; o- e6 \* H; i9 A - proxy_connect_timeout 5;
) O* r1 | _ g, C7 Q: P3 K - proxy_read_timeout 60;
) x* X2 T- @) N$ m2 E - proxy_send_timeout 5;. Z0 V- `1 [5 o
- proxy_buffer_size 16k;$ v* E, T' M/ a6 c6 @9 T
- proxy_buffers 4 64k;
" l* u1 d4 R" y9 D( G# l1 x$ H - proxy_busy_buffers_size 128k;5 d, d" R" d+ T8 Y" a
- proxy_temp_file_write_size 128k;9 I. l0 v" L# c8 `8 T' z
- proxy_temp_path /home/cache/temp;
7 Q' B9 M3 ?9 u& J% x - # 配置临时目录& I5 ^7 T5 e1 o
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
3 M$ R3 ^5 i2 x/ R2 n+ r - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
~% S9 C: g% k( f" h. C& @% R$ N2 o4 A" y" o/ U( N4 I* G/ v
- mkdir /home/cache/path -p
! c# f# d# J0 j' b: ` - mkdir /home/cache/temp2 W! J8 h# P2 F
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
4 {, y% I# T. m$ ^7 [! M- p- A/ k, k* A* C# k
* s: I4 I; ?( W先创建一个“www.wdidc.net”虚拟主机
2 ?; A! T* P( Z' T0 Z, G- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
2 U' d; J. T) Y( W9 K5 S0 _& C; u! k+ B
删除之前系统生成的代码,填入以下代码,注意修改网址。
2 S0 d! u0 b2 Z2 C, I* K8 I- server
3 N3 W7 s2 I) C$ J: L# G* v - {8 h6 u; Y, o' J/ G+ I; O
- listen 80;4 |9 C; h. F1 M6 o0 ]3 `1 U6 m/ ?
- server_name www.wdidc.net;
. r7 ?* \% V4 d; F! G: h6 l# ?0 _* I - 0 D/ W9 E" i( ]# N, W" f
- location / {
1 u0 Y/ O0 |. T9 a! H5 a - proxy_cache cache;( p* z- C9 Q, K$ E- E8 V
- proxy_cache_valid 200 304 7d;' b4 Z7 k; S, g1 g! a* N
- #200 304状态缓存7天,按实际情况修改
) R+ V# X! s9 b5 T0 T - #其他状态缓存(如502 404)10秒
, r. H2 ^6 T1 N" ]8 U$ J L6 L - proxy_cache_valid any 10s;5 M% x/ }8 \6 @
- proxy_cache_key "$scheme$host$request_uri";
5 q. R: N7 `# j+ v, } - #缓存key规则,用于自动清除缓存。! p! V, o2 d) N6 Z, t
- proxy_pass https://bbs.wdidc.net/;
8 ?7 K% P" i; e1 z. a2 J - proxy_redirect off;
y$ m8 ^2 Q' j7 ?+ \/ t - proxy_set_header X-Real-IP $remote_addr;
9 J/ b! t1 B6 K/ z1 s1 U$ d, S; @ - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
8 F% r7 Q4 y& u - #向后端传递访客ip" Z& v# T$ J# J4 P1 T1 `
- #limit_conn one 20;- E' P4 ~! ~' x( f D7 S
- #limit_rate 200k;
( ~- O/ M- o7 b S! B- z& r: ` - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
8 \6 Y2 u) z( Q! k& r% s5 M - }! g2 B k: ?& s- e* G2 x) [
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。- E8 c" s4 ?) C0 }8 k
. W2 Z5 J3 V& d5 `- /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”表示正常,若有错误请根据错误提示排除问题。
% z; }3 w# R; x8 O) A! b4 d" g/ ]9 W0 H w
重启nginx; L- Z6 H# S6 U W
\. X& K: W; x8 C; y" Y4 W: k% C1 C# Y1 E
6 B" X7 f# b8 W f* f
; g. _( s+ z* C9 F+ s
|