Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。" ]) H, ], O" {4 ~
$ \+ L2 ~/ A" y" E- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则4 U& m0 u" @+ R8 m
- client_body_buffer_size 512k;( q4 ]' q. O" o4 k
- proxy_connect_timeout 5;
: ~. D1 P) z) e% \( e - proxy_read_timeout 60;& V+ k$ s/ s0 r
- proxy_send_timeout 5;
& q# s2 \! m$ R; ~( Q - proxy_buffer_size 16k;
. }$ H3 n! F1 p0 M - proxy_buffers 4 64k;7 G t# L4 N" A5 _
- proxy_busy_buffers_size 128k;
, Z" \# R4 ^6 l5 E7 p3 p - proxy_temp_file_write_size 128k;
# B5 o3 g3 Q1 B, N: s- Y - proxy_temp_path /home/cache/temp;5 Y( p( E: C/ ?: h
- # 配置临时目录2 G, A+ s8 s' C) W# ^
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
8 t/ ~& n/ h3 [$ x: V - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
# w( @4 G$ ~9 |, t7 I* v5 g ^& ]) m
- mkdir /home/cache/path -p
! I1 Z' h3 W. [8 `. ] - mkdir /home/cache/temp1 d+ n) o! `6 f0 b
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限1 k6 W V& h$ T( F6 W% `* a. N
: S0 `) D' v6 U; N8 h& a3 @3 O- }2 t3 j% i- F6 { Z
先创建一个“www.wdidc.net”虚拟主机9 d d x' d/ G! C/ W2 U
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
' n5 _/ F# z; u* u4 l6 O& X9 P2 l4 ]: d+ x+ j$ w
删除之前系统生成的代码,填入以下代码,注意修改网址。$ R6 e1 ]8 r( g9 Y8 T6 y2 y
- server! Q5 [; g0 P8 Z5 S
- {( B5 p( d# o0 c( r* H( S: ~: o
- listen 80;
. `; y" P/ ?' [+ b - server_name www.wdidc.net;
! G. `4 Z3 y" |: X& x
. ^$ ^' n+ ?5 \. R% [& Q# U- location / {* K2 }: V8 N) h. _
- proxy_cache cache;
6 C3 m( h6 E4 J6 g+ M$ w8 |8 W5 A - proxy_cache_valid 200 304 7d;6 z. j: U" m$ ]- q
- #200 304状态缓存7天,按实际情况修改
' I8 w3 {9 v! S, I7 D" R ] - #其他状态缓存(如502 404)10秒3 V ^ |' C( I1 c* r4 t8 Z9 Y
- proxy_cache_valid any 10s;
Q4 v8 o/ U. |; ]& z- a - proxy_cache_key "$scheme$host$request_uri";
) r$ Y3 w$ E, t" I0 ~1 t - #缓存key规则,用于自动清除缓存。
' ]; M( }7 L" C - proxy_pass https://bbs.wdidc.net/;0 a _9 ] Q8 m! s
- proxy_redirect off;6 \$ A7 ?: [/ N/ z4 N: w
- proxy_set_header X-Real-IP $remote_addr;+ M1 ], n7 k1 W8 L
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
j+ q2 l3 G+ u! Z1 u6 x1 f - #向后端传递访客ip, E) s: F; h! _9 Q; a
- #limit_conn one 20;
# `0 t! x' l2 l4 N1 v& J1 |3 d( x - #limit_rate 200k;. K$ j; D9 h5 r( f: h: N
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
1 i& c' n8 U$ h- Y* R - }' q% S2 n' i1 [2 T8 W; L
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
7 }# c; D/ o$ C) Z# Y9 G$ g
: b$ M( V' e/ {; a* i- /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”表示正常,若有错误请根据错误提示排除问题。# ]& B" r1 h4 W! p2 z" d8 j
f) }( z5 V3 |% s
重启nginx( K# n$ y% \; _' W4 t9 v
' [/ H O2 _( b* ]9 Y5 }9 O: E
5 t2 t- \. F4 ^7 N* i
" N; @7 r- A5 c+ g( i& v9 H/ m
* x( \' d. m& L7 N |