Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
" W9 f G- V0 b3 v4 X+ G
) g- k$ F; f! g$ U- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
; c7 G$ Y& v4 b2 x! `$ X- client_body_buffer_size 512k; b4 E+ \5 ^# i; z3 K+ `9 T" \
- proxy_connect_timeout 5;+ l: i. L+ h, Z& f
- proxy_read_timeout 60;
7 X+ S( S. ^* z$ |/ z. | - proxy_send_timeout 5;
5 t ]& _! I8 U - proxy_buffer_size 16k;+ C; o& r: q- @4 p& K
- proxy_buffers 4 64k;0 ?2 d( L! w2 H& E* o" {) m+ _. C
- proxy_busy_buffers_size 128k;
9 `. M/ }" T6 W" g( b" K- b - proxy_temp_file_write_size 128k;$ t5 j- s- ]/ `% q3 r
- proxy_temp_path /home/cache/temp;
: ?! x" ^& \- Y# r. q+ O3 g - # 配置临时目录' }' Y% Z; u8 P& F9 l' O# }
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
7 L4 I p4 O# H - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
3 C) B/ M( C2 D0 ?
/ M' w+ ^9 m; I, N' f4 V2 w- mkdir /home/cache/path -p+ J% k9 d3 Q% G: h- Q' N% C
- mkdir /home/cache/temp
) h: c' Y c) L h# o$ {' r - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限4 L& U: h6 p7 n' w2 V
4 Z$ q1 ~ x) v$ S
7 Q' T: r. T- h先创建一个“www.wdidc.net”虚拟主机
3 E' `! M# h$ Q- [9 \) h- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。 k+ E: Y+ ^( d% E6 Q
5 n8 h! X. {& p, h' j" ]' e$ |删除之前系统生成的代码,填入以下代码,注意修改网址。 K0 R2 W1 Q1 e/ F7 y X0 Z& {( H" r
- server3 |& u; [! ?9 B# R: y
- {
! V5 U$ X# N. z( S - listen 80;5 m( k0 L$ W) H4 `% x; {5 p
- server_name www.wdidc.net;% m) i) ^/ [( _5 m0 a( r! ^
- , _% r5 r$ C! W( a3 }9 s+ p
- location / {/ q, A l/ g" o
- proxy_cache cache;
0 Q/ u( H1 @# Q! F" n5 F" d - proxy_cache_valid 200 304 7d;
9 X( O& a, _" C6 f - #200 304状态缓存7天,按实际情况修改" x2 z1 V2 k6 u0 {' K5 ^; ]
- #其他状态缓存(如502 404)10秒
3 i8 p" s& r0 X0 f8 }4 C - proxy_cache_valid any 10s;
; C& u- B6 @: J* B: H - proxy_cache_key "$scheme$host$request_uri";) n$ ?4 _, Y- [0 l9 r1 C( A6 E
- #缓存key规则,用于自动清除缓存。
6 s$ F* V) ^% u/ q9 f) h5 k - proxy_pass https://bbs.wdidc.net/; u: g( J h1 i J9 _3 B* O, a
- proxy_redirect off;
- p. K0 F7 a& J9 W - proxy_set_header X-Real-IP $remote_addr;
/ d( U" W( M5 k9 u5 y/ U c - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;1 S5 J) f+ [( ~2 Z- Z; F! r7 ^
- #向后端传递访客ip
P7 p J' C- n - #limit_conn one 20;& v* y0 N4 r# V3 m- V
- #limit_rate 200k;
( L V: O: y+ y3 Z' @ - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#. q/ z) Q; h7 P
- }
: W! j7 N/ P7 N; R/ m4 Y) @ - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
, S2 g; I( f6 J- ^* @
- N4 Z) s2 n+ B+ D- /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”表示正常,若有错误请根据错误提示排除问题。
& F7 q! h; g) o& c5 {- @ m% o+ |4 e6 ]: s, X! i, z
重启nginx; d$ i5 q0 ^( U% {, j) w
* T7 |! {3 Q. a
% Q+ Q$ T1 t; w, |: U
d( J" J6 y+ u8 y4 K' C* q2 Q1 V
% Q `* X/ O0 L# X e |