Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
1 E9 o" t' W* o) X( `* k7 K
5 Y7 q! l- E& w7 ?! [+ c2 `& z- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则+ n. ?" c* E/ U
- client_body_buffer_size 512k;
f- Q+ N* \ y6 L - proxy_connect_timeout 5;
0 b8 X" `& L' q) Q' {0 E' q% I - proxy_read_timeout 60;
3 u) T5 B3 f! o- G - proxy_send_timeout 5;/ ^& A6 L4 W3 C- W0 q1 c, u
- proxy_buffer_size 16k;8 e$ p X: s, \4 U, H
- proxy_buffers 4 64k;
9 Z1 \& ?) o# R7 J- X h8 z - proxy_busy_buffers_size 128k;
7 \% g7 F' d0 I5 u, I - proxy_temp_file_write_size 128k;/ C; N* B$ t! m
- proxy_temp_path /home/cache/temp;7 @2 A& D5 c/ g# Y+ A
- # 配置临时目录
" f+ m h \" _4 M) @0 i# U5 I - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;1 _" u% I2 r7 ? T
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:1 R. c8 l/ O2 b( S
1 \8 Z1 U3 T3 F
- mkdir /home/cache/path -p
) Q- R: }# e' h- [ - mkdir /home/cache/temp
+ ^4 @4 \$ }; T3 ]& z' E - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限2 R* A2 _+ ^5 o* u3 |* }4 Y
" d: w2 N! c/ N" ]% O- m- c
, c: c$ L# U1 [; P! ^8 r先创建一个“www.wdidc.net”虚拟主机
+ y1 F3 a0 i% |9 a- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。6 L q8 a7 p/ \: ^& b! L: J0 m! _
, X; }/ c, Q' C9 g0 W8 [( ]9 `
删除之前系统生成的代码,填入以下代码,注意修改网址。
" H7 S# L) Y6 o" G( `$ b/ r- server
- Y/ E. ^7 l/ c; C' I - {
! `& J$ {# y% h5 _ |" f - listen 80;
6 z9 [ r+ ?' |" q2 L - server_name www.wdidc.net;+ l2 `; p5 ~* E/ l
- J1 X c: ~! T4 O6 o+ c6 O
- location / {1 U) D& _( h2 C3 H# s
- proxy_cache cache;
I2 E7 ]7 c' T2 |& X) X) q - proxy_cache_valid 200 304 7d;' J, N% @2 _! `
- #200 304状态缓存7天,按实际情况修改
. \& i! Y: `* N9 w; [/ F - #其他状态缓存(如502 404)10秒
: N9 d0 H" x* ~+ ?9 I - proxy_cache_valid any 10s;: n8 e& V, ~/ y; T1 ]
- proxy_cache_key "$scheme$host$request_uri";
5 X/ d" W5 b1 \7 T - #缓存key规则,用于自动清除缓存。
1 L. t3 E$ `' n) f - proxy_pass https://bbs.wdidc.net/;- o% p! r5 L/ ?: o2 _/ \
- proxy_redirect off;
1 ?# ^3 U4 [6 V- e2 j, W) ?, ~ - proxy_set_header X-Real-IP $remote_addr;5 x" n1 [# Z# [/ d" \! t
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;! O( h B# [" U1 ?8 P( W. b
- #向后端传递访客ip* h1 H- B* U* [% u
- #limit_conn one 20;
+ B( u/ M# W3 d - #limit_rate 200k;( y: e: G* F: k! u3 n. z
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#' f: `/ t9 G/ j- W
- }
: h& a8 S9 b" N2 {* X* @ - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。. g, T2 L! _/ p- t2 K% d- j
: s w" }$ A o/ N. `4 t
- /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”表示正常,若有错误请根据错误提示排除问题。4 z; Q" N: |: k& k# }
( o; x- h' I. L8 |8 s+ G重启nginx0 g) W& V, C- q6 x& A& x0 R; s! V
2 q! f9 s( B, m0 q& H" o; q
0 q* d# M9 [0 p) S+ e( @( N
8 |' m0 h1 [1 Q5 b g. f# n* C! B" \, g1 S* V% f
|