Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。: R( X, x+ w `2 Q1 \3 ? G
9 _( a* ~5 D& f7 W
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
# {( Y/ ~8 X( f- client_body_buffer_size 512k;
) r! e( ]1 Z8 p K) Z+ v - proxy_connect_timeout 5;
' X: A! `7 q% U - proxy_read_timeout 60;
' N) j% Y! v/ J4 J - proxy_send_timeout 5;
# T: V3 o, [. Y - proxy_buffer_size 16k;- h8 L' H/ `+ c2 j2 B( D# A
- proxy_buffers 4 64k;$ C, J6 v# L9 i# ?/ h; o
- proxy_busy_buffers_size 128k;
( R" X+ b. ^7 H; Y7 o - proxy_temp_file_write_size 128k;2 A( k, j0 O( ^
- proxy_temp_path /home/cache/temp;4 v ?' ^- M1 p' n8 ^
- # 配置临时目录
6 B9 q6 n1 w" v- } - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
9 K# E2 Y& d M8 C' Q - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
7 q! R" z& r, C# n7 I- K1 ^3 ~" k; p) q
- mkdir /home/cache/path -p
& B' R, f/ T& l, ^5 x( m6 B - mkdir /home/cache/temp
0 y6 C5 s0 x) t( m& c - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
' u/ C- `) ~; J: b( x" D8 Q
g6 S1 Q0 p$ ?, c. X
3 d0 s( q" _3 Q7 S c9 i先创建一个“www.wdidc.net”虚拟主机# U" ?! X/ C1 ~; V j; E* ? v
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。9 b# K1 Q% e+ M. J2 j' |* j% ]
; k; C/ B% x7 G) H- L0 O删除之前系统生成的代码,填入以下代码,注意修改网址。
8 m' R1 R \1 F- server
' B* @" }+ N# u5 v9 t, ^9 _( @ - {
9 z: P& H# O6 o - listen 80;" Z4 d+ z, D, }4 V1 [- C
- server_name www.wdidc.net;" A% F) N! [5 g; ]( a
- ; ]" D1 }8 ~5 S& \6 U. x) B
- location / {
: y+ j( n2 @# R0 M) Q- H - proxy_cache cache;
0 N) r3 _! p' p - proxy_cache_valid 200 304 7d;$ }' {! l7 S' u }! h: i) o* ?$ Z
- #200 304状态缓存7天,按实际情况修改
' h a. j* h2 p2 Y8 S+ Q" y - #其他状态缓存(如502 404)10秒
9 V6 v* V" B) e8 G9 @ - proxy_cache_valid any 10s;
' c- L# \; Q3 H/ L - proxy_cache_key "$scheme$host$request_uri"; ^* H! Z/ K( G1 [1 L" Q* h# g
- #缓存key规则,用于自动清除缓存。" ~8 o1 {( M+ K3 {8 u( k
- proxy_pass https://bbs.wdidc.net/;
1 N" p% @& N" {% H - proxy_redirect off;
; s+ d, T: F6 b7 B/ a$ N. k - proxy_set_header X-Real-IP $remote_addr;
( p* t) Y6 ^1 { - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
8 u* C2 z! L6 H( Z# I* O1 t - #向后端传递访客ip, F7 l, _* }0 A8 \5 e! Y
- #limit_conn one 20;9 I N$ p, \: a- [. S8 E
- #limit_rate 200k;
9 Z0 g, ?: S( D - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉# F# t( t/ z' ?6 x$ ]
- }4 s; U! {; b# I' f( @! S' N
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
2 V& J+ [. l1 _5 M6 B x0 |
& D' B7 f. N, Q- p- /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”表示正常,若有错误请根据错误提示排除问题。
: W7 I' L7 r" ~9 y+ I) D4 y
" G7 e0 i' Y! f/ R$ H) x" o& E& `重启nginx* J0 R, d. r6 w4 K4 M! D& v
6 E2 Z4 W& }. D, J- o4 Z" A
6 t9 B7 s: h7 {
% i* i0 ~3 Z: G% n) l+ ^
8 c+ Z7 [$ m6 ~# l9 l! s7 j |