Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
! P7 Z, q2 E) s: Y' r, h+ V; z# N9 F/ @$ W. E: E5 d+ `
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则( f1 A7 V. [ k- T& q5 E8 X7 S7 a7 s
- client_body_buffer_size 512k;
: X7 y$ b4 B. W7 E. ?4 q& p - proxy_connect_timeout 5;
/ B0 g, K2 X6 u& f2 R; S+ z* T - proxy_read_timeout 60;
3 c( V6 v4 _ i8 c! A2 d* q6 b - proxy_send_timeout 5;
4 ?- r9 l& A; A* C - proxy_buffer_size 16k;
7 v8 T, d, u$ V - proxy_buffers 4 64k;
$ d. G7 ~! E* k* m - proxy_busy_buffers_size 128k;' Z& s2 U: A9 ` F3 n6 O3 |
- proxy_temp_file_write_size 128k;
# q, z& {) i% L1 |& U$ A- V2 [ - proxy_temp_path /home/cache/temp;
) g- \0 V# R( _: O - # 配置临时目录; T, K4 W* A! p/ g: W
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;# Q2 G, i( R+ Z: k
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:% O) s+ o9 x: l5 b) `( Y
" m- `0 q" D. I9 X' ^" e
- mkdir /home/cache/path -p: H* y3 i( ] K) [" `% p
- mkdir /home/cache/temp# v* r6 ~- C7 O9 [
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限 q5 Z& l4 f. Q9 t- u" m
9 E- h3 X; v3 x% k2 N
6 g7 S% _" E) ^) s+ ~* P( T& I& f+ u先创建一个“www.wdidc.net”虚拟主机
$ h7 ]2 D5 a( x- u7 `- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
+ R( V( l+ K6 X9 |( j- `
: J& x9 R- I9 ]9 Z- {; F删除之前系统生成的代码,填入以下代码,注意修改网址。, p2 c7 q1 O) Y+ @3 F- T
- server
, ~( Z- m% x( Y n! A; }" S - {
& {3 M4 b( ]- M2 w& d6 v - listen 80;
) y1 z& a B/ y! @# |+ Y - server_name www.wdidc.net;
1 P1 x& E& U. m8 G( G0 y/ e& P
2 n! s, G; Z% t- location / {
: G# B* `( S ?3 O - proxy_cache cache;
" n$ [" M5 y/ N4 V" D - proxy_cache_valid 200 304 7d;/ L* ?' b; C+ I" T3 b) a- i
- #200 304状态缓存7天,按实际情况修改
& m; w- E; F) M( {: X - #其他状态缓存(如502 404)10秒
4 `- [& o* c. W8 K5 ~) m2 X) q( L! a - proxy_cache_valid any 10s;
) [4 D) V E0 b! A! D - proxy_cache_key "$scheme$host$request_uri";
/ P% v: R- f! @% g& V - #缓存key规则,用于自动清除缓存。
8 H8 @7 j- O; ]) z - proxy_pass https://bbs.wdidc.net/;2 P" a F r" I y" f1 h' K# V
- proxy_redirect off;- R& n) Z- y& H' D4 b9 E
- proxy_set_header X-Real-IP $remote_addr;
* c( \7 q0 R8 c - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
! M, n( D" e3 y% L+ A8 s. S - #向后端传递访客ip
4 S/ ~' Q6 f4 Z" _) e5 Z0 t - #limit_conn one 20;$ V3 u3 G2 g/ G
- #limit_rate 200k;) I* `5 U. ~9 p4 k+ y/ Q
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#& Q( J4 o" N+ A" ^
- }6 H& f2 {9 v+ E5 c/ z, x
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
- R6 y7 m. t& I6 F; \$ l8 F& o
& D/ i3 @9 k- w! }- /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”表示正常,若有错误请根据错误提示排除问题。. `- |6 d. c, v( ]1 }5 R/ r/ W# F
( `1 S8 y% v3 X( F% q% ?+ B
重启nginx
7 W5 N9 ^% i) Z- ?: ~/ T- q' [( d$ O& V7 ^4 \
}# g' x# A) z" F& A
8 T: J# L' A( A, M: g, I6 @3 k' H" S$ _5 T! V5 \
|