Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
+ i" e" W1 k! x/ N1 J, P
* V% X2 f# i* Z- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则- ^4 \/ F& ~# j% K g
- client_body_buffer_size 512k;
e' v4 U3 A* a$ X( R - proxy_connect_timeout 5;* {5 R, P! @6 W$ c1 A
- proxy_read_timeout 60;8 Q9 z# W/ V) Z9 ^3 ~ q
- proxy_send_timeout 5;
+ y; q; Y+ w7 C% k9 N) p1 k( U - proxy_buffer_size 16k;
$ x! v+ R4 g( c$ i - proxy_buffers 4 64k;) J8 x5 I" Z1 `8 I. A/ l
- proxy_busy_buffers_size 128k;- c0 H X- o- S. N# P
- proxy_temp_file_write_size 128k;
, Z a4 q! x! \" b4 T" n4 j# a - proxy_temp_path /home/cache/temp;
( S( s# h& A( J, `3 S6 a - # 配置临时目录! v% k1 ^8 |0 i: r! K. f3 X2 b1 w
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
2 g- e6 w; U8 C+ f - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
& T" R9 f! y6 x/ g$ _+ L" T R" @6 T- h
- mkdir /home/cache/path -p
0 H' H3 ^7 D* u - mkdir /home/cache/temp
4 ]1 k( d5 J/ H" w. ~# Q( Z* d - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
- {; g3 Q0 S5 Z$ `0 x4 q! n3 h1 s# a+ f) W9 b' `
& m1 L; R8 U/ ?先创建一个“www.wdidc.net”虚拟主机
' V4 E! s0 j7 ]4 {4 |( s& Q- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。( {) h; J2 }/ b2 M
. z8 }4 v9 M4 z2 a9 }删除之前系统生成的代码,填入以下代码,注意修改网址。
3 U2 }, f# d4 \) ?+ {- server
3 ~$ z+ ?7 p& ?) e, n - {
' j! A1 y; k; \0 f" Y - listen 80;& P% u( i4 }( S- i) q! Z
- server_name www.wdidc.net;
+ |4 N. a( [% b - . d3 }* P9 z2 i
- location / {
9 w# {* E8 B, L/ Y& P - proxy_cache cache;
+ e; C; u$ A) B2 [7 ^ - proxy_cache_valid 200 304 7d;
5 p( s& U# E1 E1 C - #200 304状态缓存7天,按实际情况修改3 a( ^1 E+ ~) T
- #其他状态缓存(如502 404)10秒
- k5 C# r# B: [+ o; y1 p7 d4 y - proxy_cache_valid any 10s;
- V, ~( z' Z) a! I Y; {% Q0 \ - proxy_cache_key "$scheme$host$request_uri";
+ [' L& y% I" w2 u/ [1 A$ K/ b - #缓存key规则,用于自动清除缓存。( {/ I$ \# @9 _
- proxy_pass https://bbs.wdidc.net/;
t' \* f( F6 ~5 A% i( B - proxy_redirect off;
1 L' y5 `0 @7 C! L6 _ - proxy_set_header X-Real-IP $remote_addr;- ^ t. B; o8 j2 B
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
/ I7 g C# M7 D, h/ @% ~ - #向后端传递访客ip
_. D4 |/ _& }5 O% Z - #limit_conn one 20;
3 x: h* c7 M5 `+ g8 X - #limit_rate 200k;
) I9 U4 r5 k+ [* C; [" J - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#1 h+ ]- x+ D, d; R3 t5 H3 @: Z
- }
( h- O3 w6 @/ m8 M - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。6 j9 F! v) {! n# N8 k5 Z
/ B$ ?! W. i& k; 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”表示正常,若有错误请根据错误提示排除问题。
, s% O4 \$ k/ G. }% }/ l. \8 e$ Y5 e( s1 Z5 |! Z
重启nginx
7 I% `: c6 y. h4 a7 Z3 F! `; E+ [; N4 i2 `) N$ _
+ k. K& V' c B! B
+ X& z0 }' V. [" ?, Z* J: c" S' `, H# w
|