Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
# {5 {6 \1 {0 \5 h& G5 G6 t1 c
/ C, O$ L) r8 F% H- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则9 d; I( r: u" G4 \$ A( ?7 r
- client_body_buffer_size 512k;( J9 V9 e1 E+ ?
- proxy_connect_timeout 5;
/ s8 m/ c" m/ z0 |7 V: n: k - proxy_read_timeout 60;
" f; S5 u5 M, T7 n - proxy_send_timeout 5;( t0 R' o' ]( T( J/ s0 {
- proxy_buffer_size 16k;! u7 `( m& N) s+ p2 n
- proxy_buffers 4 64k;9 m, x0 a6 o2 F( Z" K. J
- proxy_busy_buffers_size 128k;
4 X1 [0 x0 {+ P - proxy_temp_file_write_size 128k;
! a* m3 }0 B* v3 j. ? - proxy_temp_path /home/cache/temp;
$ J H! S" e) c3 i - # 配置临时目录# m* D f' k! Q: y# Q6 }0 d1 j
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;5 X" v# d" S% r* a0 {; V
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:0 w1 j9 s$ ^: c) Z9 c* ]
+ A- g, N8 Y) `* z* _7 b4 w; t- mkdir /home/cache/path -p
. A/ k( l6 z1 M# b - mkdir /home/cache/temp: y- x! t2 a! Y' I" D# ?& S
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限, l0 J/ g. l. {# a
' E1 [5 }1 _& m% Y* D7 I3 @3 f/ B$ f0 W. {' k2 [" w+ N+ a, `
先创建一个“www.wdidc.net”虚拟主机
; u% V) j, r, A+ _; {- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。0 ^; i- r0 y$ g. i6 A% @% _1 v+ @
: \! b" i7 G' k5 Y% n删除之前系统生成的代码,填入以下代码,注意修改网址。
8 F# g+ X/ {# b) e- server
( B! E8 n8 t5 P - {
( w- Q" F9 y7 I; w - listen 80;
4 {6 ` C% f% Z' v$ |: z+ @ - server_name www.wdidc.net;
! u8 X/ L# n; P' ~9 o: Q/ Z$ j - # A) C* L$ F1 A0 ^! z
- location / {" B& J# X) a! z6 l% Q& l* P
- proxy_cache cache;9 `3 e3 I1 Y' }5 [3 x! v" B
- proxy_cache_valid 200 304 7d;
3 U0 f4 N# b. c2 u& D - #200 304状态缓存7天,按实际情况修改
6 d3 l( a- V. C4 U1 f F0 W, w - #其他状态缓存(如502 404)10秒' d. l8 B9 r5 B4 }) g
- proxy_cache_valid any 10s;
2 f9 P9 o, I; B/ U: Q& g - proxy_cache_key "$scheme$host$request_uri";
4 M7 y: ?$ F& r* q3 ~ - #缓存key规则,用于自动清除缓存。, P# l7 E7 {+ }# R( H+ o2 ?
- proxy_pass https://bbs.wdidc.net/;
) `: q3 a) e l; i9 A - proxy_redirect off;6 D L4 m9 C3 V; h1 E; v7 T4 x/ s
- proxy_set_header X-Real-IP $remote_addr;
* U) b& a- B- e# M! r7 X - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;( @& q4 s, H1 L# w. z
- #向后端传递访客ip
9 k2 Q% [6 R9 q e - #limit_conn one 20;
! p% o. X, H! r7 [7 H @4 O# f4 Q) q - #limit_rate 200k;
5 g7 s. O% O& E; H8 \$ _, I - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#* p" e$ _2 B; F. a. m
- }
6 [0 q3 [- }7 A - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。7 `9 N# b1 V* L9 U& d( A
$ r0 a: E+ G* j l) |! j4 m1 ^! C. B6 B
- /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 c4 U1 H% j$ _& k
# }7 A/ \- Q7 E" F重启nginx
' \0 N! B: g; H8 p! x) d; g/ [8 K. a, U s$ x, q9 ?& G+ R
/ O( ]- c( Y6 ?- Q9 {- y2 o: ]; i
' {, ^& U6 A- Y Y9 y
5 i v* @6 L7 \# P |