Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。4 T1 u7 b' u% z
& U2 T5 v. J& D5 a u. l
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
$ B5 ~4 n( ~( @& L P- client_body_buffer_size 512k;0 v& e* t" v7 F! W( |. J
- proxy_connect_timeout 5;" a8 f( k2 s* D/ I# E; r2 M! I' |
- proxy_read_timeout 60;1 s I: E. Q6 O& b! S+ y
- proxy_send_timeout 5;
6 J6 V# V, b$ j% ?9 L& I3 l- J - proxy_buffer_size 16k;
3 a2 I" m1 l0 g" n7 c9 ] - proxy_buffers 4 64k;
9 d k$ @2 v* s; i8 o& _4 g - proxy_busy_buffers_size 128k;
- ~3 w2 ^6 y y5 F. L' n9 ~1 B- L - proxy_temp_file_write_size 128k;
# Y8 g2 ^. l& a - proxy_temp_path /home/cache/temp;" v) H3 E7 J |, F- w/ Z/ V
- # 配置临时目录9 w8 Q+ |( P1 K! h6 y5 t
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;# @* j: m$ T" T( ~5 y
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
) g/ o$ p* S6 I- e/ V- L% G# q9 G8 l0 |$ v
- mkdir /home/cache/path -p" A0 y, K! b; U( a
- mkdir /home/cache/temp' K/ o# x8 x T& ^
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
4 y* l' E R) \
4 R" m& c3 o- }, |, }, K
j0 ]0 t3 U/ r( R# h' M0 l先创建一个“www.wdidc.net”虚拟主机& r m7 Y" W4 @4 P
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
; Q8 g. S3 z) w; }$ q/ Z% c. L& B) |! N6 C6 Y% P9 _
删除之前系统生成的代码,填入以下代码,注意修改网址。
# u- M7 f9 r+ _& X/ k3 O w- server: H: B* C* ]; L- z
- {6 ^8 i% Z' J4 x1 q. W7 U
- listen 80;
Z( L; \4 K6 V- v1 V$ C' M( X - server_name www.wdidc.net;0 Q2 c9 w8 x+ [' d( c+ z
- ( p: T( d' q! @6 i4 M* R/ t
- location / {, g7 F6 C8 X* X$ x7 L, t) Y0 }
- proxy_cache cache;
; I) ?, \: X& _% D - proxy_cache_valid 200 304 7d;
" l1 w# {* @8 L, p9 R, X, i - #200 304状态缓存7天,按实际情况修改3 C; d# u. k+ w M
- #其他状态缓存(如502 404)10秒
3 E0 F7 X' T5 _6 T/ T. z7 F9 A4 o - proxy_cache_valid any 10s;
$ v% Y( j2 K. V5 b n - proxy_cache_key "$scheme$host$request_uri";: I, }, [" h3 P& ~$ S
- #缓存key规则,用于自动清除缓存。
3 e/ z1 v4 c- R; I. |( Z! e8 n2 T - proxy_pass https://bbs.wdidc.net/;2 f2 L2 K1 C3 w* e4 ~) u
- proxy_redirect off;
2 |4 y+ Q+ Y. M! v, e4 g - proxy_set_header X-Real-IP $remote_addr;8 C0 @! q) F8 `2 L M Y' j
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;) k6 S; @1 M; u5 F# k/ b( o
- #向后端传递访客ip
8 b& C0 Y- _2 [1 }! L9 q - #limit_conn one 20;
1 U2 V' t5 s% T/ y; L8 [ - #limit_rate 200k;
5 G* r _9 f* p' W% c - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
: ]0 C' ?/ k! z" `3 J7 _ - }* r" [9 l! J1 `
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。* `1 V6 `" [$ u# T5 Y( R+ J
( _" T) H+ X) T4 P+ p* P& k- /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”表示正常,若有错误请根据错误提示排除问题。6 ^+ Q" n# L3 `; f* A, F! K# \
7 D q0 C5 m# x( y
重启nginx% P. } \$ E% q$ @: O4 E8 Q1 d
$ Z) Q& w4 s* s! a# ^% O4 V$ O: X# ^+ z" n: ~; s1 \0 K. {+ g5 P$ p
9 I# O: G8 s3 }- I- L
2 p3 Y9 r1 D* _" n6 H- @/ R# s |