Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。- v5 Q2 D5 m' R) J- f
( h, G* _3 {: ^% O/ J( L d5 g. F- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
5 I$ W U$ Z2 d& C# Y) Q/ w- client_body_buffer_size 512k;( s; O" ~; Z" T3 Y6 I5 A2 }; A
- proxy_connect_timeout 5;# o' h- T& r, z, r6 d4 n/ G' _
- proxy_read_timeout 60;
( e+ s8 R7 t& c( y! B" G - proxy_send_timeout 5;7 z/ G9 |' E, r% @- d! m
- proxy_buffer_size 16k;- i0 ]# z$ s3 _% S! \
- proxy_buffers 4 64k;! W9 h c4 B) k1 D# H Q" G$ j
- proxy_busy_buffers_size 128k;
% O$ g. f# k& x% g4 i - proxy_temp_file_write_size 128k;
h( i# ~6 Y# ]4 p: n- r - proxy_temp_path /home/cache/temp;
- z1 R4 ` d/ p0 c1 @$ ? - # 配置临时目录
9 R2 e, s7 h5 c - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;5 O* g d, Q4 i! V' }0 B
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:9 P. z9 u. j, i1 |! R
$ [3 c1 }5 C' o" d/ O' M- j- mkdir /home/cache/path -p1 D6 W6 N% c" p7 j4 X: M* g
- mkdir /home/cache/temp4 M: T! J. x8 Q/ }0 W! M3 H) P
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
5 ^" m" t5 C5 j/ y- o* U/ P* Q
% E, ?9 F8 P$ ~' ^8 E0 Q* V
2 z7 ]2 n, O' ]先创建一个“www.wdidc.net”虚拟主机
4 D- L1 ?0 F$ p* _3 R- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。 o: P* r+ ~: B5 c4 e4 N
8 }) x9 F+ |9 b4 V! _2 l
删除之前系统生成的代码,填入以下代码,注意修改网址。8 i8 c I" y9 W5 p; _) ]
- server1 V/ _9 H6 `# k0 P# I
- { _$ }: r; q7 |& d( Q* @. B
- listen 80;
2 n Y) o, q- S( w; P& O0 t - server_name www.wdidc.net;- J# r; [% A7 r
! R: m$ Q% I1 h: Y" h- location / {: [) e. J" p" q2 ~. S, T6 Q7 J
- proxy_cache cache;
- r$ z. @4 I8 q& v/ f% b0 k8 H - proxy_cache_valid 200 304 7d;
8 O! z: r6 h! l. n - #200 304状态缓存7天,按实际情况修改- d- ?2 i4 [- {. B1 T& E- L* M
- #其他状态缓存(如502 404)10秒
. b; ~0 w/ f) z$ N: I* c1 B* p: d( ` - proxy_cache_valid any 10s; g2 M8 j3 b1 ~ `& j- ?. A. J
- proxy_cache_key "$scheme$host$request_uri";3 @$ v: I$ J+ x5 F
- #缓存key规则,用于自动清除缓存。
* k7 J3 H. W1 t8 b# I% N) ^ - proxy_pass https://bbs.wdidc.net/;
3 ~, e/ `: j k/ Y - proxy_redirect off;
- _/ W9 H1 Y1 T5 ~: n+ E - proxy_set_header X-Real-IP $remote_addr;+ J3 b( s: u( K3 j
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# P8 {9 M1 `7 l- K - #向后端传递访客ip
" l6 T' L* ?& q/ ] - #limit_conn one 20;& M- T3 z1 o' r' M
- #limit_rate 200k;
5 _. F5 B6 N7 {* _3 O - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
8 X9 |. v* L- `+ S) m/ i7 K - }' d5 W n4 A' E4 k- V
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
5 [3 T+ V1 g) P1 _4 T _: }; Y' O5 I( S0 n% R
- /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”表示正常,若有错误请根据错误提示排除问题。3 Q' i0 d# _" D$ i3 F
4 r: I/ d/ ^; w r4 L
重启nginx6 w) q% @6 v" D. l$ S9 E$ W% @ q( t
' B. k, D& ~4 u
8 [9 E' t* l- O# t; _4 ]9 Z0 C, w
x- |+ \% o7 M- Q
|