Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
# ]4 J" B& J# H! o
+ R1 ?& V3 ?/ e! j) O" h- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
6 b# E% V( Y& g, ^0 ~- client_body_buffer_size 512k;
# |4 }" G, C, o - proxy_connect_timeout 5;
) F# u i4 G3 ~' ?( c: ~ - proxy_read_timeout 60;
' P ^+ Q( X7 b+ q - proxy_send_timeout 5;) k/ f" ]6 `( y0 i( S- d* u: x
- proxy_buffer_size 16k;1 e+ M# G4 x) R) J# b
- proxy_buffers 4 64k;
- R. L9 u) K( B; R. t+ q - proxy_busy_buffers_size 128k;
/ S, _4 Z2 d: D - proxy_temp_file_write_size 128k;
& D0 K( Y; {% g; l3 r - proxy_temp_path /home/cache/temp;
; ~/ J1 R: k1 _+ ^$ E2 l - # 配置临时目录
& C/ a5 l: B+ i. w* u - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;1 P- {! o% _$ O# H. g
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
/ C0 T V1 b$ ?& X& z5 ?" |- r+ A Z( y5 d8 }
- mkdir /home/cache/path -p, }8 I% B6 I2 ^5 J2 \
- mkdir /home/cache/temp2 N" `* R. Q) Y7 j( Y3 y' [& \
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限$ Z! t) [/ ^/ N, O* g
0 f/ J0 A* l( Q" }7 m- A
# }# r. ~; `' K1 Q! \- i先创建一个“www.wdidc.net”虚拟主机4 j4 R/ M% v6 B% @- o
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。' k$ m. \! ~9 u7 w
0 D$ x5 r9 j; O5 x' b; U9 F
删除之前系统生成的代码,填入以下代码,注意修改网址。
+ A5 V$ t7 P+ b! V' q- server2 l+ B+ |2 R a0 ~2 [! J3 \$ _
- {
! U6 Y: D8 \( \" u. [ - listen 80;
8 x$ P o3 V0 x; T - server_name www.wdidc.net;' S4 _ j/ ]. i# d; X/ C
+ h; H+ k* E6 d) ^( `- location / {
7 _2 p, \( c) l# \. z - proxy_cache cache;
1 \" k( o/ a8 s C! B- x - proxy_cache_valid 200 304 7d;
1 b% {, Q/ `; D. H4 n9 A- N - #200 304状态缓存7天,按实际情况修改
+ l* b; V6 r4 w/ h4 U5 `2 g - #其他状态缓存(如502 404)10秒0 c* H# G' N8 i/ u8 l& f; }2 g4 v6 L
- proxy_cache_valid any 10s;0 \$ `0 }4 |1 z8 Q
- proxy_cache_key "$scheme$host$request_uri";" k0 b7 r) c4 a/ `
- #缓存key规则,用于自动清除缓存。
! Y4 J+ ]) z8 s( K( s% W5 g - proxy_pass https://bbs.wdidc.net/;, v0 y6 l) w% u! K$ y* r& ~
- proxy_redirect off;
) z, i; \& q1 `% L' }! @ - proxy_set_header X-Real-IP $remote_addr;
0 |/ a. c9 K* z4 I' E' c+ G - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
3 D, s6 }2 C" q |: x - #向后端传递访客ip
1 m7 _9 [6 }* z5 H - #limit_conn one 20;5 G1 c: ~6 `% @/ }" P/ e. r
- #limit_rate 200k;
% r6 J' R: P( ?% w1 i# E! x - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
, U! Z$ Q$ R& I. a2 W6 S& B! _ - }
$ D; `5 f0 R. F: y; Q - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。" N5 b, l- V8 B3 {
$ M- [0 C( r) g5 e: q! u. 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”表示正常,若有错误请根据错误提示排除问题。
: O q' A& ?8 l2 ~! S( q% l( E0 e) P9 Y: U' I0 x+ l6 O
重启nginx
n' [- r5 d( i6 j+ K: E7 k8 b1 r- E/ _8 ~( z" u- }9 m5 |
" p( z. R d; q% a( j+ I' Y: D
; a: E& n* f: t, d" \% H
7 G+ G; O$ o6 @6 ] |