Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。' ~* t5 s: X$ u6 q4 w# H' F
t# G8 e& [" p# l. c: z6 Q
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
) F- `( J6 e* W5 d4 D0 N( A8 b- d7 C0 L- client_body_buffer_size 512k;
) ^# I) T3 C! _+ u0 s# C( Y - proxy_connect_timeout 5;7 B4 i8 Q- H, M4 S& z
- proxy_read_timeout 60;
: c$ K% X8 W0 H7 `( G! V$ l - proxy_send_timeout 5;
4 g4 w; H5 j; I - proxy_buffer_size 16k;4 C7 {9 i, y" z+ V
- proxy_buffers 4 64k;% S3 s# p& ^' I& |) N" O# e
- proxy_busy_buffers_size 128k;
; e# Y$ u+ j' r2 ~% X! B6 T - proxy_temp_file_write_size 128k;; L! C7 }. g# g1 ^
- proxy_temp_path /home/cache/temp;" D/ T2 N @6 S* `; v
- # 配置临时目录5 v1 d2 x$ D. G
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
7 d$ }9 s# z+ [0 p - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
; n# v8 b' y8 A8 @0 b
- q" K- t5 k/ Z' C* B- mkdir /home/cache/path -p
7 [! L" [# ~9 m% c' y9 ? - mkdir /home/cache/temp
. n2 T4 W2 q& _& ^ - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限. @4 ?& Z6 O1 ^1 e
1 y! T$ w+ y, h# x, X
$ u( A3 f. q" a) U W
先创建一个“www.wdidc.net”虚拟主机
7 s# D0 |' h+ x1 n7 G2 h- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。0 d5 B$ g1 \3 A( _2 @
# j7 @5 G P& a* g) [4 Q删除之前系统生成的代码,填入以下代码,注意修改网址。
" X, n8 I. g0 H+ q. d- server
1 Y9 R* Q% I' c; t" U - {
- V: {; O, s: `, k - listen 80;
( I$ Q3 Q$ Q& @8 {5 o3 u4 T - server_name www.wdidc.net;9 p5 r" l }: p7 x7 L
- 1 Z7 Y% x; _) W$ \) L
- location / {
# f1 f" t% @4 F# ~ - proxy_cache cache;
/ K$ [+ e' u% \' ] - proxy_cache_valid 200 304 7d;4 Y2 L0 F# F; L7 V+ R
- #200 304状态缓存7天,按实际情况修改
8 S0 d6 j6 V( u" N2 W M7 \$ T8 B - #其他状态缓存(如502 404)10秒
' Z. U4 ?* C9 N* _' p - proxy_cache_valid any 10s;
# P. i/ f+ y$ h% n - proxy_cache_key "$scheme$host$request_uri";7 r: V ~& l1 {
- #缓存key规则,用于自动清除缓存。; I& u/ O8 r# H" d5 |- \
- proxy_pass https://bbs.wdidc.net/;
( i1 e8 _& U) M$ o6 U- ] - proxy_redirect off;* g/ x3 _1 |! N# F" @' L
- proxy_set_header X-Real-IP $remote_addr;
$ y7 a1 O2 C2 @+ b! n- P - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
1 O- U& B$ T+ S6 |- A - #向后端传递访客ip
+ A' l$ ]! f; b - #limit_conn one 20;
) f. [3 z6 K" q+ F7 S% V - #limit_rate 200k;
! k, I# q* r& m3 M; U. | - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#2 _- R( q0 c& O+ _1 u) ]0 v
- }( P$ X! w0 t5 c$ e
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
; |( W* s" c: w8 Y& ]) ]( v- K6 d: ]
- /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”表示正常,若有错误请根据错误提示排除问题。
6 C; K" z/ }' Z4 r0 C
* M; r$ r# Q8 Z重启nginx, o9 u& m! ]0 H \0 s8 V
) _/ k7 g5 L- Q- F8 f' y4 j2 F7 {) [' q' ~
; L& Q& V+ D' j0 x& ^7 p! ]7 A* |# _+ i; Z& P1 d, Y& g
|