Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
1 x2 B9 {+ D5 J& S
! W( q1 R/ z2 V8 Y; Z; @$ ~- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
) }; J) b! h: F n9 _" F9 [- client_body_buffer_size 512k;9 V% `5 s0 M: J" P: c) H4 Y; F) ]
- proxy_connect_timeout 5;
6 z0 S' o7 N! @+ M5 m& p8 { - proxy_read_timeout 60;
$ o3 i' T# _( n - proxy_send_timeout 5;
" V0 ?4 w- M m, R% P2 v7 Y" r3 l - proxy_buffer_size 16k;' ]: l* l5 f0 ?+ E3 V2 ^/ @
- proxy_buffers 4 64k;% }2 `4 N6 z% } V/ n
- proxy_busy_buffers_size 128k;+ T) o3 R/ L# M, e
- proxy_temp_file_write_size 128k;2 J! e+ @: I2 ]! T) n) i
- proxy_temp_path /home/cache/temp;. A5 x; ]: `5 y
- # 配置临时目录2 d ^% e5 B& O
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;6 T, ?8 c8 m! @- H' K0 X* N
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
% E: h3 @9 o6 p6 d5 H% O2 F. ^6 p$ e& i8 [% Q6 M! s0 \
- mkdir /home/cache/path -p, }1 G' E: N- a) k* d
- mkdir /home/cache/temp
* u; J$ _; N2 N i: i - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限: s! S, }' s+ b% S; a
7 H, s4 o; A0 w( x2 g% ]2 x: y. ]2 D C+ t# X( d4 ~* ~( I; k H G
先创建一个“www.wdidc.net”虚拟主机
0 n2 J/ d ~$ b5 _- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
1 l& g; |8 E! I) O
5 |% {) V. W5 A3 h2 U删除之前系统生成的代码,填入以下代码,注意修改网址。4 }) z+ b9 o) D+ ~7 p3 d
- server4 O: q) a' N0 Z+ ^
- {
/ S2 i5 ]$ A# }7 m# E - listen 80;9 X. e. x/ P$ n3 e
- server_name www.wdidc.net;( G, d Q" M, [* }
- * m7 n. I d5 @+ m3 v# F9 Q
- location / {
/ ^) c" f \ K% _$ W i - proxy_cache cache;
" w8 A; s0 Z8 E7 Z9 K3 y2 h& ? - proxy_cache_valid 200 304 7d;
3 F) N0 q7 F+ P& x. ^ - #200 304状态缓存7天,按实际情况修改
5 o( o, H3 n. q: U; o - #其他状态缓存(如502 404)10秒
! Z. d" u, z9 b - proxy_cache_valid any 10s;
8 `8 e" x$ o; d' J K, [! C# e/ l - proxy_cache_key "$scheme$host$request_uri";/ @) l V" b- n7 R- O1 a+ a" o
- #缓存key规则,用于自动清除缓存。- i1 l' T( c, s. J+ b
- proxy_pass https://bbs.wdidc.net/;
0 B; n1 n8 A* D6 F - proxy_redirect off;- \4 ]% i) N; `# j
- proxy_set_header X-Real-IP $remote_addr;2 s+ s2 }9 ?* _
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;' C# N4 W) ~! u. X* {
- #向后端传递访客ip
, i; |4 w2 g1 y - #limit_conn one 20;6 s, S( m& |( T9 T
- #limit_rate 200k;" t. \) K+ A6 @5 ^7 \
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#" ~* W. U) o) S2 O) b, V& l
- }
& e ~: Q3 x- n9 B - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
1 W6 ^# q+ J" H$ g/ C7 h% s3 O: i, R
- /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”表示正常,若有错误请根据错误提示排除问题。/ H$ B/ {' ]( @7 y2 B2 ?( e
3 U/ H) u! C/ \$ _重启nginx
" ?$ ^8 A; f* C
; g1 Y' I# s( N% q; a6 T
4 i1 S% i3 I3 E) c) D
6 r Y# J: |" `- a
7 p b$ Y3 I) C |