Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
! {, b% t; [6 G5 a% Z
! `; d9 z! Y5 X( R6 D. Z- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则& \* q+ A' C; U+ `
- client_body_buffer_size 512k;
# [" j* a& ?/ x& ?# L8 r; Z - proxy_connect_timeout 5;, R \* i7 R& `' x; [3 q# l
- proxy_read_timeout 60;
" B1 }5 x; E5 { E2 E; k; L1 { - proxy_send_timeout 5;4 Y$ o$ |( e K
- proxy_buffer_size 16k;
3 e! g1 _/ V6 |/ y g - proxy_buffers 4 64k;5 I$ \3 ]* e+ C1 c* e9 U6 z
- proxy_busy_buffers_size 128k;
2 y9 a" B ]* \ - proxy_temp_file_write_size 128k;
* o1 R* Y) k/ v - proxy_temp_path /home/cache/temp;& C& g; S/ h# n7 a* I5 D
- # 配置临时目录& g& L* {+ Y" A/ G% b* ?. n
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;, i/ t2 z, A) A; l6 C
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:4 X" ?, Y5 i, N) K' p+ d0 b
! w( i' L& x. _; \
- mkdir /home/cache/path -p+ \1 ], }- }+ b% ?
- mkdir /home/cache/temp, v& \/ X, T; C7 v: ?- h
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
, d/ ~ m, r1 `" b) K) X+ |0 U; c6 S. b% M( i& n8 f
* }1 [5 \ T& i: C
先创建一个“www.wdidc.net”虚拟主机, u. `& S- X5 L6 L. Q9 ?- p& n( ]! F
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。* t& D; W$ X0 w U# k( X
$ C/ V* W; _9 k9 W! W9 [! Y
删除之前系统生成的代码,填入以下代码,注意修改网址。
$ m' ?7 n! `2 U+ Q3 U/ S2 g- server
, D& Y) C1 K* ]7 N' d" ~ - {4 R- C' H" r- e$ C& {1 F* g
- listen 80;+ H- e- c v5 C G; M
- server_name www.wdidc.net;
1 w; y E p( m2 l7 k% R - 0 e. v" R; z3 P1 D
- location / {( L, e9 S/ R$ c: R Q: A
- proxy_cache cache;" @! @: J0 i3 S6 ~
- proxy_cache_valid 200 304 7d;
9 e3 F: L* s" o) n ^& {. I7 k - #200 304状态缓存7天,按实际情况修改9 z/ _7 a v& _0 a. C
- #其他状态缓存(如502 404)10秒' Z: g& N7 [3 X3 v* t$ O
- proxy_cache_valid any 10s;/ a7 {6 a7 i- O3 D! i+ \0 Z l9 l
- proxy_cache_key "$scheme$host$request_uri";* H% T& |+ x2 `, b6 L9 z
- #缓存key规则,用于自动清除缓存。
Q8 t y5 j& N - proxy_pass https://bbs.wdidc.net/;
& O( }" e) {; D" }! u4 j4 ] - proxy_redirect off;: \# S: ]3 M6 C4 R$ U
- proxy_set_header X-Real-IP $remote_addr;- w4 r; z6 l R
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
% W n0 d {$ f& [ O8 K2 m - #向后端传递访客ip
0 l7 q0 h4 V% h ?: V8 B - #limit_conn one 20;
" v& ?% z, X9 z4 {% w: P7 Z# R" _ - #limit_rate 200k;
+ I: d; A0 {* ?/ F8 j! C& D9 Q - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#8 Q) l# p3 H4 l4 n$ L7 p4 r
- }
, P3 M; M$ ~9 S. w) E7 \" b, q, o - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
5 h# f/ v* l; D& i8 R4 L+ H7 R- U! |" r; C( s( K3 `
- /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”表示正常,若有错误请根据错误提示排除问题。, h5 r* p4 y- E. h6 L
' ^/ w. w3 x9 p: ?, R7 N8 ?
重启nginx
$ Z" t8 J! O( H- c# ^
) z8 ~+ p+ v3 i( |) U3 T
+ \+ g! w1 o* q9 E' c. {
! O5 {, V5 U: v2 e$ z4 i- B
' k% W7 j$ C3 h7 E |