Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
& F( q# B7 w! j8 C
1 }: E4 j* f B3 S5 e8 k- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则 g1 V7 x. N+ p7 A
- client_body_buffer_size 512k;
8 w$ h/ ~6 e' r+ L" q7 P4 j* k - proxy_connect_timeout 5;9 `9 R, X% y* I+ b) K
- proxy_read_timeout 60;
0 V1 y% I4 F6 D: f0 U) k) h/ z- K - proxy_send_timeout 5;& {& @5 _+ e% N7 o+ E
- proxy_buffer_size 16k;
( R0 B- V9 N' `5 L& N+ }1 l - proxy_buffers 4 64k;% m3 h5 B% \& k9 _5 a
- proxy_busy_buffers_size 128k;: m! D. u( C& X# x6 {; m
- proxy_temp_file_write_size 128k;. G0 ~8 n+ L | Y) L
- proxy_temp_path /home/cache/temp;; k# U8 h. F! K$ ]! B; b5 h. D
- # 配置临时目录' Q& \5 |3 _$ M5 R7 [
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
6 T% Y9 C2 b5 d, \9 M4 f5 J4 E5 O3 q - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
% b0 `3 }! `- S: I4 ^9 Z, a$ S& ~* [, t+ Z, k/ Y* \4 }
- mkdir /home/cache/path -p6 d7 ^) ]$ p3 o; w: p2 l& s7 l: o
- mkdir /home/cache/temp
3 A- M4 u* L4 b! M) C - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限% f* _( [( ?$ p9 d/ F% ?& |
" O. b+ P% N& c+ @$ R
/ ~9 L& b. X _& ~# ]; y
先创建一个“www.wdidc.net”虚拟主机* J. t) O0 f; k
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。6 X# I) e/ C+ E* z; b
* L0 J6 p3 V( @; \/ U( `% c& X
删除之前系统生成的代码,填入以下代码,注意修改网址。% f, M* q* A( f! i% ]' p ~
- server2 X3 W' ^5 A* l* h
- {
7 D* w1 v7 W3 b - listen 80;
4 @3 t1 `9 O7 O( {2 R2 X - server_name www.wdidc.net;5 f; b0 L7 k+ t' j' K; {
1 ]2 _- }+ H$ n. i- location / {, u: C7 n, c# T" }) g' m( Q/ \: O4 G
- proxy_cache cache;5 N' o" g5 o9 ^0 V% _9 _6 d7 S
- proxy_cache_valid 200 304 7d; O! v% Y6 J1 h
- #200 304状态缓存7天,按实际情况修改
- y1 Q, `# F0 _/ N" [8 R. b - #其他状态缓存(如502 404)10秒
* F3 ~* \( D/ M - proxy_cache_valid any 10s;
; I& r! m+ n$ _ - proxy_cache_key "$scheme$host$request_uri";
4 R; G0 X8 a) p - #缓存key规则,用于自动清除缓存。
( V6 }7 m$ o% o! S2 `3 j2 R - proxy_pass https://bbs.wdidc.net/;/ i C8 d# f- a+ E p" W" |
- proxy_redirect off;
7 ^& r& G9 L4 ^4 @' i7 r3 r6 u* Y - proxy_set_header X-Real-IP $remote_addr;
G2 i7 N( y' M - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
! k6 \! ^: Y$ b8 @+ M! L ` - #向后端传递访客ip& U/ {" R/ z! f9 {
- #limit_conn one 20;
2 m- `# G1 E% s$ k0 @; k/ ^, u9 K: [ - #limit_rate 200k;
9 I; G8 r- `* s4 U - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
0 p7 U$ n% e" s) u - }: G5 A6 y# `, X3 f% [1 y& d
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。5 N% M* W. n$ P" Y. }, l$ [. k
$ c) t" f* b% y) ^+ `
- /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”表示正常,若有错误请根据错误提示排除问题。
/ }9 {; ~( b) ?. c6 G
6 ?1 h, {" l, k/ ~) |% u+ Q重启nginx4 f$ j; [2 u8 U7 X& s' v6 h; J! C; z
$ q o- z3 P- n, {8 A
0 i0 n3 K" B( b- p6 \1 l+ x- _$ Y- x' a. n+ s
7 y v4 p' |- ^5 U2 O" B% U
|