Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
& a8 l# N* l$ b2 O: Y# Z( d$ k% w: G8 e2 s: a) m
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
) D9 ]% ?3 p9 y: o5 w5 t- client_body_buffer_size 512k;6 g6 r; j, \- f/ z
- proxy_connect_timeout 5;/ v5 g7 F" V7 {. C
- proxy_read_timeout 60;" Z3 s! h6 q, h: n; W0 G' A
- proxy_send_timeout 5;" s$ e$ G6 A' C
- proxy_buffer_size 16k;3 Q% o" f, R4 D% u( ]
- proxy_buffers 4 64k;; O$ _$ q* Q* M1 R6 U( w
- proxy_busy_buffers_size 128k;. H" p: H. s ], O0 p6 A4 o3 w8 V
- proxy_temp_file_write_size 128k;
, V; J8 d; R* G% z1 C1 |0 G - proxy_temp_path /home/cache/temp;
+ y1 o* ~; A9 M x - # 配置临时目录
2 W r# |+ E2 \ L - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
1 E7 u) b- o. C - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:- c' f0 V+ b" O
& I' f7 N( }# S- mkdir /home/cache/path -p
7 ~9 R& Z& ^. k' `* r6 g - mkdir /home/cache/temp1 B% U4 S( R, a' X
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
$ E* E. F& i: Q' t+ j) e" ?+ D3 ?7 G8 `" z# y" R$ y) B7 c# I
0 M1 c8 B: q, S! g
先创建一个“www.wdidc.net”虚拟主机
% {1 i" c6 _! V6 A9 S- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
- L/ {& b$ {( o. g9 E
4 }2 j2 v: Z; N1 M$ J% o9 c" g删除之前系统生成的代码,填入以下代码,注意修改网址。
# M- L u- I/ R# s* C' @- server4 K" C ]+ y9 z' N: `0 r! E* h
- {
+ B7 O) Y5 ]% z7 | - listen 80;' H6 p1 X( G6 x4 q+ {) g/ R4 ]
- server_name www.wdidc.net;
7 ~6 b4 e V( ]% _9 N. J5 C2 ^0 s - 2 F+ H; Y8 K1 f9 k
- location / {/ x$ H9 t" b% W! U& V0 g( _
- proxy_cache cache;
8 o, E Q5 w1 s, `- a - proxy_cache_valid 200 304 7d;
2 t! g1 g0 ]" q0 m; [: K+ T - #200 304状态缓存7天,按实际情况修改8 ^, \8 x6 p9 W1 X; U. R
- #其他状态缓存(如502 404)10秒
9 q0 W# `$ R, B D, | - proxy_cache_valid any 10s;
9 p: N2 }3 Q3 d' Z* c' c - proxy_cache_key "$scheme$host$request_uri";% q/ e4 T" _$ |5 {. P8 s! R
- #缓存key规则,用于自动清除缓存。- A3 o$ z4 k7 c$ V+ i+ f- L
- proxy_pass https://bbs.wdidc.net/;- r/ Y. e# Q! o) E
- proxy_redirect off;
$ n/ `( R. p( s" g; G1 L) I - proxy_set_header X-Real-IP $remote_addr;2 n% A7 _4 M7 m/ X H! v! q7 ^8 T
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
. z( B+ `. |6 c/ } - #向后端传递访客ip
6 ?% q5 }1 ?' q/ N - #limit_conn one 20;
% B! E8 V# v0 w% V @6 R - #limit_rate 200k;" z9 C! v% \! A% ^+ w
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
* a7 G3 `6 B: Q" V1 `* L - }1 y% T/ u9 X" K. H2 i: e
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
8 R& n2 G( a, |! }7 o4 `* M) Z0 O
5 D1 a1 C' l# g% O% ]; d" 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”表示正常,若有错误请根据错误提示排除问题。
& Q/ _8 ?- e9 U7 j$ ^3 E8 l z' I0 E$ ~2 }
重启nginx, x' A5 T7 J( X+ B9 Z
% k% |; P- L9 j! l! A( u# T. W, m1 u# g# O7 b+ [
+ x: }; c$ Z; M2 o4 I r1 K4 E/ I
|