Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。" V6 l- H6 D. }9 t' {
5 d' v( S' d9 u' u/ k7 c
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则: ]) R9 j1 K) |: P3 j
- client_body_buffer_size 512k;" q1 s8 D7 Z/ z9 B( c) @7 I6 n
- proxy_connect_timeout 5;9 A0 \& v4 D, ^
- proxy_read_timeout 60;4 f% {6 L0 {/ Z9 Q) _9 U
- proxy_send_timeout 5;
4 d3 d- M" u- \/ I0 c - proxy_buffer_size 16k;% L- q' ] o4 o6 p! Z7 [: M; F
- proxy_buffers 4 64k;0 A) W+ ~, V, g) y" ^" T3 l% J
- proxy_busy_buffers_size 128k;
) j0 c) `: P. ?- a3 F+ c: R - proxy_temp_file_write_size 128k;
8 j) q: l- ?) u. |& y- T' m. b - proxy_temp_path /home/cache/temp;+ j! F. W, M- K6 R2 [% S( N
- # 配置临时目录
* c5 S" M5 _) @ - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
7 m' y1 f3 Z& f0 y0 n - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
2 W5 W6 D& M: f- I- O0 @8 Y& s6 b& e7 s- W) }8 D1 {6 O, X% x
- mkdir /home/cache/path -p
) t( {$ l0 E, C0 ?- D1 Y - mkdir /home/cache/temp
5 f3 ]8 N- ^# \+ d6 `: j! E - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限6 x- [) T/ @* x. W* r
6 ^1 D$ k# i9 j
* A" E- @) k' O+ p" H先创建一个“www.wdidc.net”虚拟主机
; R9 e0 f4 G, S7 C# v( ^7 |- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
" l" O& c1 i% ^; k8 _( r+ Y2 v6 y3 ?
& q+ |' ]" ? W" O. z8 c& J7 e删除之前系统生成的代码,填入以下代码,注意修改网址。
! F6 }7 u& ?- c! J4 o8 S% ^6 a- server" e, v4 E h* A0 J9 {- U( f
- {
: z; Z/ T: g) t# Z - listen 80;6 X1 n5 P9 d8 i" _8 _9 p3 N
- server_name www.wdidc.net;
- h& a+ R* Y* w* |3 s" l. q - 0 y6 U; {& O- {+ w% `
- location / {% ?7 q$ e4 O+ U( n8 D5 l
- proxy_cache cache;- Y. T% h5 {* A* G$ I2 o' X
- proxy_cache_valid 200 304 7d;
# p2 k! _ B. X' e9 I5 @$ D. L - #200 304状态缓存7天,按实际情况修改
2 {' L1 \' d, B( z - #其他状态缓存(如502 404)10秒
7 l! v: u- S+ j0 h& F - proxy_cache_valid any 10s;
2 {) N8 l& ]2 B2 w - proxy_cache_key "$scheme$host$request_uri";
9 a: D$ k5 |$ C. Z - #缓存key规则,用于自动清除缓存。- ]# M% u: G6 y6 g& I
- proxy_pass https://bbs.wdidc.net/;
# m: P2 X/ d8 @9 }. B, u3 F/ w2 g; Q - proxy_redirect off;2 b V( p( l0 f8 G3 d* P @
- proxy_set_header X-Real-IP $remote_addr;4 {1 H6 }% A6 N1 g4 f7 I
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
" l; o* o$ J1 z6 e9 { - #向后端传递访客ip
% @$ g+ S3 C( p/ B- D; M/ \ - #limit_conn one 20;
" ?1 H3 u& P- C6 f0 v/ g - #limit_rate 200k;
/ h- C! Y) f( u' u9 Q3 ^ - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
0 h0 j9 E# i5 y/ S% e - }
: K% t/ F1 o" Q* B; r' \ - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。- ~- y' x1 \, N( M5 S+ K5 L
$ `1 {/ W( q& ^+ Q& N7 \! e- /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”表示正常,若有错误请根据错误提示排除问题。( y$ |, t. ?3 C i( M
; n; J8 x) K( ]5 i, u/ u) J重启nginx, ?7 L" K2 T. @
) ~) U# m( J( x6 ^6 f
9 s5 U8 @' P8 k0 V: a
2 J6 f3 f) W$ C: O# U
6 z$ {+ P- V5 C |