Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。# l2 y# F+ }* F
. m. T4 _' J. v# h
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
9 O' |1 L4 r. C- client_body_buffer_size 512k;6 Q& w# |5 K$ q9 r
- proxy_connect_timeout 5;
/ ?5 R7 x/ i' S) q: Q# N, U! } - proxy_read_timeout 60;& Z1 f2 ?4 w% I& @* M. k$ R0 \
- proxy_send_timeout 5;8 |& r7 m8 }1 g' Y& {! F
- proxy_buffer_size 16k;6 B! Z" k' ^+ L2 w# g
- proxy_buffers 4 64k;
6 E2 M3 [: Z' i: i4 h; u6 J - proxy_busy_buffers_size 128k;
( i+ P: _1 I5 e/ X: n - proxy_temp_file_write_size 128k;3 u/ y7 Z4 M) n- E" H8 H1 ]
- proxy_temp_path /home/cache/temp;: Q1 ^ t7 }5 s- K7 }
- # 配置临时目录
5 T. ^" p' h7 P' q6 {" ~$ } - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;9 |% N( J4 W7 }5 n/ n% f( D
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:% i: O! M; k+ z @3 r. @5 W$ V8 l7 J
9 A% Y/ }+ `% X1 W. o
- mkdir /home/cache/path -p! b0 ~) {% N4 b. V. t
- mkdir /home/cache/temp0 `2 N" h B2 @ |0 }2 U* G6 w) G
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限7 h* m1 \- T6 L' P* j
9 x4 W9 n/ V @' A e! j; I: N& X
先创建一个“www.wdidc.net”虚拟主机
, d" ?( P$ ?8 g/ B% K9 K- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。% ?/ }- t, b" [6 W3 P3 b# d, C
( N0 g2 E+ X9 b
删除之前系统生成的代码,填入以下代码,注意修改网址。 v: z0 m) ?; \6 U
- server
9 G! C1 Y2 ?, ~! H; y - {. _8 m1 F8 O4 L, h% s: H
- listen 80;
& k- _6 D# j0 h# w - server_name www.wdidc.net;
5 i3 A2 Z& R$ }; R - + t" _+ _0 Y8 q# K( D
- location / {
8 d* r9 O; y) h& l7 G - proxy_cache cache;0 g$ Q4 @, N4 R* Y7 m! X! m8 d, |
- proxy_cache_valid 200 304 7d;( I+ X" t) D& G3 q) R; b
- #200 304状态缓存7天,按实际情况修改
" t+ e7 x) a' V# }* ^, k - #其他状态缓存(如502 404)10秒
$ E$ q, @& N9 I/ i6 E8 O" \ - proxy_cache_valid any 10s;
1 Q; V4 ?0 v) W+ e% ~+ m% u - proxy_cache_key "$scheme$host$request_uri";
) q9 y' {" T5 F( j5 Y6 V8 c+ E - #缓存key规则,用于自动清除缓存。
0 W M1 s$ q$ X! `4 Z8 i1 a - proxy_pass https://bbs.wdidc.net/;& e) f3 E. T& U
- proxy_redirect off;
* y/ t r6 Q a0 ? - proxy_set_header X-Real-IP $remote_addr;
# y+ u9 T. i6 R- X& k - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;% H6 P8 f& P. ?; H$ ]6 H" Q
- #向后端传递访客ip
+ R- p+ N3 p, ~: T% R5 M - #limit_conn one 20;
9 g; S7 {& E3 p/ q7 m7 d - #limit_rate 200k;
* A+ Q5 K+ `" q- ?5 g. U/ _. D - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
" f6 S- z$ n) @: ?. D) |# d - }7 d; P3 R; Y1 n" z, ^/ M) {' f
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
" x" l) }6 \3 {3 p8 a8 j& R4 y P; }5 q
- /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”表示正常,若有错误请根据错误提示排除问题。7 g" }6 R) `, A1 K
* _5 D ^+ w1 w& B8 M5 Q" C" C4 h重启nginx$ J5 Z M. W# n7 U# R8 ~. T, @' i
5 k: }9 R, j+ h0 f# J" y2 m6 U" i# T6 ?# v. E3 N. F9 M
) `8 M4 g$ Y8 r7 ^9 ^: z# C$ w
: [. E2 U Y* b |