Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
% r6 z9 I/ q3 `& e+ F6 r& d1 R2 h; O! Q$ v- G9 B" W. Y: Y6 a$ ?2 A
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
8 P" I" a& H7 `1 g/ e- client_body_buffer_size 512k;: e4 i/ b# B- f7 \. M# j9 n; L0 p
- proxy_connect_timeout 5;
/ x4 M& X" R% M: d/ p$ H - proxy_read_timeout 60;, D( h' ~( `% J) ?7 ~
- proxy_send_timeout 5;
% R; g" p* ]- [# Q - proxy_buffer_size 16k;1 M0 S( a% X6 W0 ?5 k+ w7 N5 T8 R
- proxy_buffers 4 64k;4 P4 z! {0 W$ @. L2 j8 m
- proxy_busy_buffers_size 128k;- ~! D- J. y& S* C, F
- proxy_temp_file_write_size 128k;' V+ ~1 m+ T% P5 P" j
- proxy_temp_path /home/cache/temp;. O s. K' r# w$ ^; c/ @
- # 配置临时目录' a+ }3 B- }: B! {
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;1 a2 ]8 h6 X t, P
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:! p( ~7 e# B! u. ?
* X" I( Z! a7 X4 r1 ^1 t
- mkdir /home/cache/path -p) ?" Q/ w. X% a
- mkdir /home/cache/temp2 d+ L( q+ ]; _, |+ M+ b; {! T
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限 J9 L* q$ |5 M6 m% j9 J' X
& S$ E7 S2 x% U; u, P5 D# f2 @1 J% J% C# `6 V1 }
先创建一个“www.wdidc.net”虚拟主机
8 {5 t9 w% X: {7 K8 a9 h7 k3 d- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。6 t( G9 \, A- t
: P0 i& M7 r+ H
删除之前系统生成的代码,填入以下代码,注意修改网址。, c" ^. W f* K! G( I' f' Q1 K
- server0 V# S3 ?" {% v
- {
p9 \ L7 O7 I. G- J7 Z& J2 l5 i - listen 80;
& v" N" C- O5 |- R2 H* ^ - server_name www.wdidc.net;
# o6 ~3 P# b3 B" j& i. a8 j. b% ~
1 f# i2 Y1 J9 S3 w: u- location / {
e9 s- [+ Q4 d" ]) e4 q - proxy_cache cache;
9 g: E' N; {9 x8 i( o# Z. s9 }0 o - proxy_cache_valid 200 304 7d;
8 @# E2 s, X" T8 W - #200 304状态缓存7天,按实际情况修改
* r1 S5 o: _: D8 h: r3 q. R - #其他状态缓存(如502 404)10秒
6 S! q# H9 g1 V& o - proxy_cache_valid any 10s;
$ f5 o1 d6 r- E( E$ M4 y7 O - proxy_cache_key "$scheme$host$request_uri";% z' C* y4 t2 r2 N; _0 P' V f8 a
- #缓存key规则,用于自动清除缓存。 V+ v( J; x4 t4 J* a( i- F2 l
- proxy_pass https://bbs.wdidc.net/;
" a% l1 @9 N9 M, }" M - proxy_redirect off;
2 Z- p9 c# M* P - proxy_set_header X-Real-IP $remote_addr;
# u: Y( L2 g' c - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
' P9 m, T2 x" S) l1 r+ P0 @ - #向后端传递访客ip
8 A. r) {; ^1 ?" ]# ` - #limit_conn one 20;) h/ d& z' h3 v5 e1 e5 t3 C/ {7 ?
- #limit_rate 200k;
& K7 I7 n( X4 X r2 v. z9 g6 Z* ~ - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#& U% {2 E4 s8 E5 u2 W0 I1 K* F( B
- }+ D. J3 q. v5 z E( R8 t1 }
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
; k, F, s4 K; h1 u% \4 x g6 |) W& k" y3 M. v. X3 U5 u
- /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”表示正常,若有错误请根据错误提示排除问题。
$ \2 B0 G5 r, Q2 W+ V3 n( N7 N
, K2 @/ `* i% U$ ^重启nginx
6 k& ~+ T( p. c0 y* o
1 C* x! f7 P% J
8 n- k5 R5 b1 P7 r! T
, x `" c3 }! l& _, d% o% H& x6 j/ s. H, H, ^4 X
|