Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
/ M3 b9 e1 k7 d! I6 R! b0 _+ u6 { e( q$ N$ J
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
% y% M1 b2 q4 Z, P7 e. O5 W! x- client_body_buffer_size 512k;
3 O N# T8 `# n; `% z. Z - proxy_connect_timeout 5;
% O& n6 n9 E7 y f# U1 S - proxy_read_timeout 60;8 @5 o* W7 P* V2 [& ]$ |9 u
- proxy_send_timeout 5;
U9 m: c f" o% p$ K - proxy_buffer_size 16k;
. T& X% m$ t) W+ d - proxy_buffers 4 64k;, C) k# p+ l; @* p
- proxy_busy_buffers_size 128k;
% u7 A$ Y) l9 G; J; I. @, _ - proxy_temp_file_write_size 128k;' ? m! r4 @7 l( p/ [
- proxy_temp_path /home/cache/temp;$ ~: @: w# \+ Y* r' m! G, i
- # 配置临时目录9 O3 {' `; ^) G* f7 Y
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;) j9 b+ v) l' w# S
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:* H. G3 R# S7 K6 O& r
) G; n( w# G9 H* R z+ [- mkdir /home/cache/path -p9 G0 h2 Y# u! W- z9 \
- mkdir /home/cache/temp
6 x1 J0 A8 R& ]( @ - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
e8 \( }; K% v ~+ Y
8 I, y) d& f" X! }; B, o3 j& H$ C3 ~2 l) F' r4 k3 R# b8 S1 i$ F& P
先创建一个“www.wdidc.net”虚拟主机& l4 u2 V1 p3 Q8 ]
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
. R" g* Z/ ~. r* c( c- G
& ]* p2 M+ m2 F8 p ^# K删除之前系统生成的代码,填入以下代码,注意修改网址。
# Y* p& V/ \" i+ M7 X' v2 }- server5 Z; S# g5 T4 b& `4 R9 E
- {+ L4 N' b0 t- t1 H
- listen 80;
- S @) c. I8 d7 i. ~ f9 O - server_name www.wdidc.net;
4 k: J+ @5 S+ J
3 }* _. [9 W# J4 B- location / {9 Z) k- [$ F' v# g- X
- proxy_cache cache;. R- N1 s+ w" B# k" F
- proxy_cache_valid 200 304 7d;- B; ^0 _6 P; l0 t6 w ~
- #200 304状态缓存7天,按实际情况修改8 D0 _1 d) i* |" h5 Z- K; ^
- #其他状态缓存(如502 404)10秒
$ E4 x4 t+ l5 K. Z - proxy_cache_valid any 10s;
" M/ q9 s4 |/ [0 x' q - proxy_cache_key "$scheme$host$request_uri";
( y8 K3 s9 E; Z3 n - #缓存key规则,用于自动清除缓存。
( e7 q/ E3 d1 l5 \- ` [2 c1 N$ B - proxy_pass https://bbs.wdidc.net/;/ `3 Q3 u; a/ S/ L( k! i4 ~
- proxy_redirect off;
$ |- E. d4 ]" a% Z - proxy_set_header X-Real-IP $remote_addr;
6 d: M& k9 V& ?$ L) L, U9 t3 U - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
h9 q( p- m4 L# n) ~ - #向后端传递访客ip
( i0 D+ R+ K3 B - #limit_conn one 20;
+ t+ L1 }2 k: o& ?' u - #limit_rate 200k;
" u J6 ?) O9 T - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
) O0 w A" ]7 H' d7 ^3 e - }
+ p O7 o# }/ }0 s: H% m - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
* Y: k! z2 n3 l
" d, m z+ l( z7 n' v- /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( F& M! m |8 G2 G# k. m) q- R4 Y# W! d" b% S
重启nginx- G. w# f, N5 v) B; d1 X
+ j' s' y! a3 N4 F
* b B2 x% ~" ]7 v5 y% O7 Q2 Q: d" s5 C
1 _; U! W+ w0 P, W, ?7 J
|