Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
* Q) h; f* q$ x- C2 g9 D0 {& _. f0 K/ m" C
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
- G0 j4 n; {2 U, y0 a& e V2 H- client_body_buffer_size 512k;# u6 g. Z% a- g+ n
- proxy_connect_timeout 5;. j: H" y, T% Y2 [* ]/ j8 v
- proxy_read_timeout 60;, d7 V. l8 @/ i5 Y( ` F
- proxy_send_timeout 5;) K8 f/ d& o, d9 ^
- proxy_buffer_size 16k;; `: o- ^& N3 E. ?9 R7 c
- proxy_buffers 4 64k;8 G0 [, W# k# I& T
- proxy_busy_buffers_size 128k;+ a8 u/ N' S/ L% _
- proxy_temp_file_write_size 128k;
4 n3 }4 r6 B5 X8 x9 x; v - proxy_temp_path /home/cache/temp;
2 h6 v. t! @/ y" p- f# M X q - # 配置临时目录9 o6 E+ R$ B0 a; J( f2 l, [7 D
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
7 f3 _; X2 R4 u5 M - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:, u+ t6 ?9 D5 ?" T J
0 C0 N; o" {8 Q8 N
- mkdir /home/cache/path -p. U+ o, m+ q0 l% V3 j% j$ G* P i
- mkdir /home/cache/temp
( `- o1 j O9 V' K: m - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
. `7 u& ?: ?8 a4 N, }
( T5 X# O" }6 v; o+ R% z' \/ t/ _0 d! r2 D
先创建一个“www.wdidc.net”虚拟主机
/ m/ c* u" m' M- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。% Z+ G# v9 O: [# }5 p0 h
$ G6 ]! K [4 V删除之前系统生成的代码,填入以下代码,注意修改网址。3 ?( Q, I9 C8 F
- server8 R/ |4 _6 x2 a/ W$ i2 n1 l
- {7 m# U! V2 ~+ K, E
- listen 80;0 f3 }& f" U% N' {5 o) b
- server_name www.wdidc.net;
' U `3 ?$ E2 l) ]6 e1 U8 t4 H1 L
W& i6 @9 \8 J6 k- location / {
7 [- y& c1 J) I8 ` g1 ]# c6 Q - proxy_cache cache;/ w5 q; `( c1 p
- proxy_cache_valid 200 304 7d;6 K5 I/ a/ v, Q/ Z
- #200 304状态缓存7天,按实际情况修改5 a4 ` X3 q T% B$ e. Y5 [ ~
- #其他状态缓存(如502 404)10秒
7 s- E; ^1 y/ X" m, _+ a, s" E - proxy_cache_valid any 10s;
) z" D" z7 N) o - proxy_cache_key "$scheme$host$request_uri";' y7 j" k8 a6 R7 D
- #缓存key规则,用于自动清除缓存。- A: i4 ?3 H0 t# N1 Q
- proxy_pass https://bbs.wdidc.net/;& G% S) D. j9 R6 H3 x5 D2 B5 ?: K
- proxy_redirect off;: Q! G- [' l( F
- proxy_set_header X-Real-IP $remote_addr;5 s7 t$ M5 V; S- P5 B. }
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
: g- P, K/ {$ G$ A y - #向后端传递访客ip
4 A8 L6 z! N1 x; X$ w - #limit_conn one 20;5 K( y$ r& M" W- |: e" F4 H
- #limit_rate 200k;" `- Y& O4 I- k4 D
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
. U4 x& c, q! J" o; B# R4 ]! `' ? - }
$ G3 T! g3 c9 [/ K! z - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。) U+ w1 ~) P( ?" o
7 g4 [! X# f9 N7 b! k. 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”表示正常,若有错误请根据错误提示排除问题。( i/ p2 c( o7 W# Q. w( F( o9 [0 m
$ L: n3 x6 y1 |9 K8 T' t重启nginx ^' @. e* c7 u. X* m& X
; h: w/ m) T! v6 }$ A, C* z% @. |' [: Y
& P s* _. N% a4 p5 A' Z
8 D' h2 }9 u& u* l+ h( L |