Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
: x r1 P x9 `3 g) i+ J7 h
4 ^9 l3 o$ |! t, \. A6 Q" I& u+ D& t# X9 y- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则5 c1 m; N s9 N) g: s
- client_body_buffer_size 512k;
" ?2 B+ ~2 f, \/ b7 q - proxy_connect_timeout 5;" ]/ [/ P& ^" s" v
- proxy_read_timeout 60;
. G. E" V7 n) v2 }; K" D% g - proxy_send_timeout 5;
- }3 o; r& P: e# r' s - proxy_buffer_size 16k;
& [! Q# P2 h- [& \- I - proxy_buffers 4 64k;
3 ?3 c: }, C1 l9 ^1 u - proxy_busy_buffers_size 128k;
6 y7 a, `6 y+ ` - proxy_temp_file_write_size 128k;, h8 [3 o9 c" R1 T
- proxy_temp_path /home/cache/temp;
7 J- w- p1 |8 L6 l X# t - # 配置临时目录% ^7 H& N4 v7 o6 \, O
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;* z6 y4 K2 S# L$ m6 b
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:) l0 I9 h- ~* b* u9 a- ?4 g, u5 f
& r' r; ^7 q( S$ n4 T/ H- mkdir /home/cache/path -p Q# s+ `, ?5 M2 r* _
- mkdir /home/cache/temp* _7 {- F& p, g7 N( j) ~! W D$ X3 U9 x
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限$ A$ D! s D# H4 R7 \! J
7 g) \6 D+ T2 |8 I0 n9 O7 M; l$ j
9 P& U0 ` U- g! V0 Q5 L$ T先创建一个“www.wdidc.net”虚拟主机& S' N! X# g; l K3 l3 p6 M
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。1 B+ c% a) a/ e- ]. z8 ]7 y
1 e; N! C7 H( k* C
删除之前系统生成的代码,填入以下代码,注意修改网址。
3 D( w7 O, ?, ?) d& v- server
Y* t) V: F9 s1 C - {8 |1 z3 l( r$ m* n1 I% }5 q( |9 P
- listen 80;
5 k: J* n0 n. z8 L. G. E - server_name www.wdidc.net;8 m5 J- k& @2 G* L$ y* [
+ _ y7 j) `. d# v0 U" y! s" u# V( A, y- location / {# R5 F$ p; b1 \8 X
- proxy_cache cache;
1 g) \$ H( l2 f% I - proxy_cache_valid 200 304 7d;
$ ]3 I5 T: {4 I. h# i5 a - #200 304状态缓存7天,按实际情况修改
; W( z/ ? h6 T* l0 l9 R2 c - #其他状态缓存(如502 404)10秒
7 J3 |4 u5 v' _, y" p - proxy_cache_valid any 10s;
! d& b$ T2 }! W& n2 m/ T6 Y0 C - proxy_cache_key "$scheme$host$request_uri";5 K! Y7 `0 C. G/ [' I* f
- #缓存key规则,用于自动清除缓存。$ w* ~/ ?) [( v# r& T+ k
- proxy_pass https://bbs.wdidc.net/;
3 d; d) _+ b2 _' K - proxy_redirect off;
4 i9 Z- _1 a% ~4 Y6 l- _. O7 ?( d4 | - proxy_set_header X-Real-IP $remote_addr;
/ Y- c5 O5 W; n& C - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;8 T( @( ?; s( f
- #向后端传递访客ip
% g3 M/ K4 W2 K1 a0 A! T$ o- Y1 ` - #limit_conn one 20;
% P& |( c! e' M# u X - #limit_rate 200k;. @- R' ^7 W* R p$ d
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
- c& ]) n6 ?! g8 ?0 |0 j, ^/ k9 v l - }9 i7 C* s1 G; M6 j
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
! I- X+ f) B$ V/ Q6 E- z; e& `) M8 T `' m8 h" ?
- /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”表示正常,若有错误请根据错误提示排除问题。
' b0 U, @& F% l# C _( l; k# l2 @( Z" B; l1 |
重启nginx( l* R. q. _1 J* Y8 L5 R
4 g8 A4 J0 W% C/ l
# u4 u2 |& z6 P! P& b9 d% E4 u# N+ _7 ?
4 H2 z/ e& G6 y) h" u9 {" E
|