Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
" A+ Y6 A4 e# D7 b! P& `# \* U
' V6 y8 K6 K4 z- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
" t! U3 d5 u5 i- client_body_buffer_size 512k;/ O8 l ]. H& V( ?) U6 G% R
- proxy_connect_timeout 5;
8 |% Z* [1 _3 Y4 S- X! p& `% J1 {- V2 b - proxy_read_timeout 60;7 t) b- Z q/ b2 c
- proxy_send_timeout 5;
l# Z% V1 z3 t3 |. ] K0 V - proxy_buffer_size 16k;
/ g Z: P w1 _: q. X - proxy_buffers 4 64k;
1 _' b* t5 D! i& q - proxy_busy_buffers_size 128k;5 U& n" h2 U, _5 J+ i
- proxy_temp_file_write_size 128k;# g/ h" q! ?( S2 O
- proxy_temp_path /home/cache/temp;
/ U6 x; F; V' ]! s - # 配置临时目录4 A7 K# b8 Z5 W5 i
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;2 S2 m* I- W3 v
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:2 }: ]- h+ B8 _. C1 z4 C
8 X, p/ ~0 S) `, Z: z7 v! @2 m- mkdir /home/cache/path -p
/ Z \7 r; J0 U0 w) Q0 ^* c2 U - mkdir /home/cache/temp
- b% U* c3 e2 \& F: Z2 c - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限) B/ A6 ~* U: C! v) m [
* u( e5 x* \" M9 m! R z
7 N: G/ }9 H# \. N R% K/ B先创建一个“www.wdidc.net”虚拟主机
) {. w7 E/ O u& I' r- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
6 u! P: O. I% x- A9 G. i0 J
. } X( Q; w0 }% s7 W' X删除之前系统生成的代码,填入以下代码,注意修改网址。
* ~5 C9 n" H, D& S9 A- server
6 U w8 {7 X6 f. r8 }, W! s* r - {
" p$ k; a2 w# x m - listen 80;6 f4 {5 f; S" j1 X' s2 }0 \
- server_name www.wdidc.net;
' R1 ~9 F* R! S; ?% b& A! Z3 j - # ~& O, Z. q9 U( Q- b
- location / {
6 \5 U1 N4 L1 y/ I. \9 M - proxy_cache cache;( ]3 u3 q& w$ w9 I* M* G! V
- proxy_cache_valid 200 304 7d;9 P, x+ O% z% k8 N! ~. g- {
- #200 304状态缓存7天,按实际情况修改: D' I: D5 n# Z1 v! B# Y. U) h
- #其他状态缓存(如502 404)10秒
3 @, V- ~3 C( ]0 `9 h- r4 L- H - proxy_cache_valid any 10s;9 w/ g% X$ D' |/ O
- proxy_cache_key "$scheme$host$request_uri";5 ?4 u C1 L; |& d4 c
- #缓存key规则,用于自动清除缓存。, o+ a I& Y/ ~! f: V! s9 e
- proxy_pass https://bbs.wdidc.net/;
! v- }9 K' q' ]8 |+ U: ] - proxy_redirect off;% ]* t% n/ z. X T5 v
- proxy_set_header X-Real-IP $remote_addr;! v4 T5 Y- h( J% D
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;0 S& m. [% K7 i7 V+ x3 Z5 N5 b, n
- #向后端传递访客ip; T' ^) h) [* c
- #limit_conn one 20;
5 I- y1 q5 A2 h" A - #limit_rate 200k;9 F4 g0 [+ d2 ]( y& _* i: r
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#5 A" k7 ]% L p5 F8 i9 L& R7 W
- }
, f+ @9 m* m9 w( q - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
! v* d3 H* h0 p/ A3 k/ v3 w9 t6 T
( B& N0 I3 w2 D% {" H1 a6 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”表示正常,若有错误请根据错误提示排除问题。
; B7 m2 H+ n+ I, u0 K* g5 ] P2 o/ j2 J! t' m( F& s
重启nginx
. n2 H/ a' N U) L9 U b0 r
+ r' m3 @! r) _9 h& l0 ^& l R! d9 P/ c- q& }$ V' `
& b0 l- \: r( X' D1 r6 Y* C6 y5 k- b! Q6 _# [* l
|