Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。: T7 b3 ]) b: G% Z$ A# a
6 P, L ]) |4 s( s8 |0 V6 r
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
k- c# e, f: T3 g, g- client_body_buffer_size 512k;+ D5 q. ^# c5 M' d. Q( c
- proxy_connect_timeout 5;9 i3 {/ _( p$ X& W2 g6 [9 K
- proxy_read_timeout 60;5 a0 B' p+ m" d9 N0 ^0 P
- proxy_send_timeout 5;) ~! y, E9 V) T) J- L
- proxy_buffer_size 16k;) p0 F3 E% v. D A7 i1 l
- proxy_buffers 4 64k;; U/ d2 @2 g( b8 t& r4 A: N
- proxy_busy_buffers_size 128k;7 T W) ]1 i0 L( d! d" Y A
- proxy_temp_file_write_size 128k;2 s f7 Z0 \. ]- N
- proxy_temp_path /home/cache/temp;! S s; A$ R2 s% p+ b: y- s
- # 配置临时目录+ l. D& T% g& @! ]: L9 X
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
4 W8 ]$ \- X' F B/ r1 B" d - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
" F d! c4 k5 m0 q: @( r" a* z0 k& ]6 D P
- mkdir /home/cache/path -p
1 F& D$ H% f; e- Z* T3 W7 P* Q - mkdir /home/cache/temp5 e6 p4 G' r" V0 K- D; ~+ J
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
2 G+ M# Q6 W+ b) y# o- P) ^/ g. T( Y( ]2 U; @8 \9 m1 g4 S
0 g' ~' R O; j- Z9 B& t% w先创建一个“www.wdidc.net”虚拟主机; @6 e. t9 x" Z
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
" j# c. D. {9 E0 f( N' x3 n; P* S5 N! \8 W
删除之前系统生成的代码,填入以下代码,注意修改网址。5 V( s' e' \+ F1 u+ u$ q2 m
- server
1 H$ g: c8 y" E4 k' D3 Z - { E& s* W4 m+ l* C* U* }9 }1 C' `
- listen 80;, P' p% I6 `* d: v4 |9 `* W
- server_name www.wdidc.net;" K+ g1 S& ^/ [. o/ P" \* _* l+ K
( V8 D! M4 Y) C3 E; j1 a- location / {
5 ~; {& A0 h; V' |1 Z- ?% b$ I - proxy_cache cache;
/ f1 @& u, b8 F! _) v( R - proxy_cache_valid 200 304 7d;/ P' k8 W+ U7 T7 _; ]8 |; ?
- #200 304状态缓存7天,按实际情况修改
; g- i" P0 o) m2 E; p - #其他状态缓存(如502 404)10秒; {) v( C* d4 [( o5 g$ n
- proxy_cache_valid any 10s;$ A5 O+ l+ e4 k/ Z
- proxy_cache_key "$scheme$host$request_uri";* O# r9 _% Z1 M( N; X& E
- #缓存key规则,用于自动清除缓存。
! k/ U' a, e- t( O - proxy_pass https://bbs.wdidc.net/;1 l# G" M5 I9 o, O+ G3 D( i/ \
- proxy_redirect off;+ N7 r4 i1 b# N; X9 E& X, e
- proxy_set_header X-Real-IP $remote_addr;9 {8 ^* n, _1 w- M
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
$ X7 {2 b9 U* p2 r) R6 e! d - #向后端传递访客ip
( Q% L5 n2 ]* v+ j/ i - #limit_conn one 20;* J+ N, _% B! U! x+ t4 Q. Y8 w
- #limit_rate 200k;' E; I& \$ t8 C+ ?, a5 [/ n
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#( T/ ?3 v" i2 b1 P0 Z* R1 i
- }2 i& l; P8 n/ Z& k/ B- Q
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。' @3 Z2 j5 N* y& I1 m8 B# M
( D3 S; m: `3 c5 ^! g
- /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”表示正常,若有错误请根据错误提示排除问题。
0 M/ B& B- e" g- I& Z" S) N: J' D4 K# {5 U8 R4 h3 A
重启nginx A* ?- T! F7 b6 u( x; e$ C6 U
: G! \0 {, s. l5 s" ~3 e/ \& _3 a7 t& |/ [0 U( Q
9 c/ l# a( U* X
1 I, T Q0 i' v F; q |