Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
# a" L$ B) p; D/ p- c4 h+ F {+ C. p
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
* \$ V/ |1 h" A2 p5 c- client_body_buffer_size 512k;; w' k* q- ~5 s$ L1 n, ?
- proxy_connect_timeout 5;
" u( L# [: j- p+ C, v8 l - proxy_read_timeout 60;
, G8 l) t/ E9 Y* s, h0 |; Y* i - proxy_send_timeout 5;
4 Q, k+ U( Y0 U0 S. J; V - proxy_buffer_size 16k;
w$ X: ]4 t' i0 P' c - proxy_buffers 4 64k;
0 r0 W9 V2 g! G1 t& |2 s( p - proxy_busy_buffers_size 128k;
1 B! E- J2 ^) r( s$ g$ Z9 W4 n1 [4 t - proxy_temp_file_write_size 128k;
% [& Y" a2 L! z$ J - proxy_temp_path /home/cache/temp;8 @( A* }% S1 n$ _, \( S
- # 配置临时目录
3 l ^2 G( L) a% U - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;+ F9 i6 `4 o& W4 \* `: j4 e
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
% P' x- |8 I3 H" q+ c0 ]1 Y5 F3 N J7 i# n$ L
- mkdir /home/cache/path -p
6 C: K4 U2 Y, e* d6 r$ ^ - mkdir /home/cache/temp/ Z: T" d. N0 p/ k, \5 O
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限* T) I X7 \* {
/ q8 \' x7 ]$ h
1 ~; j3 P) e! {
先创建一个“www.wdidc.net”虚拟主机$ E0 b- y$ Y8 \9 A5 j. h6 @6 H2 T2 [+ m
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
$ w B" I O; D2 D3 Y0 {1 K! F+ m4 j" K$ d- e
删除之前系统生成的代码,填入以下代码,注意修改网址。
7 C5 W @( y/ u" r- server
4 `+ ?4 M6 E' q - {
( Q# F8 ]$ Y R$ e, z - listen 80;, |( z* u7 I& }. U
- server_name www.wdidc.net;6 O! V8 R) d/ \; q2 } X# W3 I5 s
- ( U5 o0 K0 K6 \5 [ \
- location / {
; @" Z) c0 V3 r/ E; O; g - proxy_cache cache;" m/ S+ L& _- [% g
- proxy_cache_valid 200 304 7d;
0 p! Q! ^+ \5 |! G _ k t0 ^ - #200 304状态缓存7天,按实际情况修改8 X3 W7 x+ D# g1 q- M, \
- #其他状态缓存(如502 404)10秒
) B. R8 J6 T% {2 X3 O8 c - proxy_cache_valid any 10s;
; @+ P6 q0 U- Q. h+ d+ ?, \% T5 C - proxy_cache_key "$scheme$host$request_uri";% ?2 ?9 ^0 U" u ^2 r
- #缓存key规则,用于自动清除缓存。, l' }. ]) F+ j, E/ o: M* u
- proxy_pass https://bbs.wdidc.net/;7 m3 }; { ?) \/ H- t7 Z" t. u
- proxy_redirect off;, A9 N _; r/ Q) I" V
- proxy_set_header X-Real-IP $remote_addr;
" C8 U+ R" H2 e7 c7 Y( d" f - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;2 J& u0 q& r2 ~5 r
- #向后端传递访客ip0 T+ K; w$ }5 {% ~* `$ @2 p& A
- #limit_conn one 20;
/ T$ p0 _) V; n" ^5 H" Q - #limit_rate 200k;" _6 w- Z+ n" e- p5 a/ e M
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#, V7 o) D* z' E2 H4 J
- }- }5 l9 K3 k+ h/ o3 M6 z E
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。# b4 n) [" @ V/ o
5 d l) j) b. e1 p1 [' `7 }' q0 ]: c' z- /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”表示正常,若有错误请根据错误提示排除问题。 G3 k7 r3 W/ X; l
2 A0 L% [8 _% A9 q; U8 x0 [2 Y
重启nginx2 ^+ T- o4 a9 c# n! K0 g
; X/ m1 O: X# ?/ Y2 t1 l3 d% P
: _8 \' i: {: h% B* C! Z6 c/ d; L+ O& [& o: X4 c3 `( S0 I
( v4 M% J6 O9 a$ o$ j: x7 u1 m |