Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。& D( v7 F( Q$ D
" @7 c. I6 A0 n2 ?- n1 a# W- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则9 q& a8 U/ D3 i. g
- client_body_buffer_size 512k;' y( P; M' K9 D
- proxy_connect_timeout 5;
& u7 F2 A+ s1 A; j - proxy_read_timeout 60;
& l* w; e2 F, t9 g - proxy_send_timeout 5;7 u/ p( a/ n% e: Q0 {6 Q( G
- proxy_buffer_size 16k;$ S+ D7 A. R y# h
- proxy_buffers 4 64k;7 _& D. u1 r6 `! B- K
- proxy_busy_buffers_size 128k;
( Z8 v \* W& w2 ~# L - proxy_temp_file_write_size 128k;
! B; v7 z. U# O# v$ a. T# K - proxy_temp_path /home/cache/temp;
f1 G* V7 u" n/ X0 h - # 配置临时目录" M/ j& \* v+ N* e2 v% U) }. z
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;$ Q7 k3 @1 m6 e- F" D
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:7 {/ {+ i) I+ p& M/ t/ W$ }3 r
- S) A, ~- F% O6 O4 M7 z8 q- mkdir /home/cache/path -p& H0 D, i: [5 Q" t1 ~9 b0 z
- mkdir /home/cache/temp6 H. Z) }+ L8 {: ^2 b6 |) j% w
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
, N8 I0 E- |: P( z* h- Y& j2 u/ Q
! C) j0 W; b* V: i
6 O+ P4 \; y( a2 H8 |先创建一个“www.wdidc.net”虚拟主机& ?* a+ L' Q, c! |# K0 A' u1 e
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。" ? T" {9 X# P n
+ n( B% n" a: g6 C: o9 A
删除之前系统生成的代码,填入以下代码,注意修改网址。
9 P" M: ~1 B: M8 b- server* E1 p4 @4 b* u0 e9 i+ z5 B
- {
1 ]7 D" `" w9 X8 S5 k3 Y - listen 80;
" { _) m8 G% ?6 b0 n - server_name www.wdidc.net;$ I! ]. C) r$ r3 t& q7 B
3 u7 `! E; E( m0 o6 r- location / {
! }2 G9 b+ e, ?* d j - proxy_cache cache; {, s( |/ w; s7 s, A
- proxy_cache_valid 200 304 7d;
3 K+ t- i: Y u/ B* [/ G8 d; M - #200 304状态缓存7天,按实际情况修改; a; \2 i _/ X2 e' C# X
- #其他状态缓存(如502 404)10秒1 }+ _- q' V+ o! h* u' s W n7 n; ^
- proxy_cache_valid any 10s;
8 q( N; {4 E6 V) |% [6 l - proxy_cache_key "$scheme$host$request_uri";
- ?- E: [2 M# c$ V - #缓存key规则,用于自动清除缓存。
( x) C" } h1 g4 Y1 u2 ^; [. \; h - proxy_pass https://bbs.wdidc.net/;: Y- H q4 e8 k- O3 L1 D' {$ }
- proxy_redirect off;3 e" x2 |$ l: W9 y8 q
- proxy_set_header X-Real-IP $remote_addr;
( S6 @6 r- O) K/ H6 V2 r. R - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
$ A/ ]& W5 a) ^9 C6 N4 g% p - #向后端传递访客ip; J3 x4 |: S- h2 w
- #limit_conn one 20;9 p4 t9 I H9 i7 H# @
- #limit_rate 200k;
' t4 ^2 s3 ]# c# V - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
5 y8 c9 G k# G$ f - }
: H- M( p1 S3 \ - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。3 m4 A+ B+ ~/ ~: d' Z
1 e- a% ] S* F* x2 |- /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”表示正常,若有错误请根据错误提示排除问题。
+ ]8 I& A! ?. c" Y; E' `
1 a3 @1 n& z: k3 H重启nginx% Q7 q/ X, o% W5 }' O [
% j; Z. g4 H. v
7 Q7 M( D; h2 M
% k; X' x' T# p+ G4 s4 D3 Q$ q& Y
|