Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
/ W# Q+ |, m7 ^9 M2 ^# {- a
" T; [: C; K5 u/ P! B- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
4 T: p% {5 t+ w3 m0 z- client_body_buffer_size 512k;
5 i- m1 G9 a4 y3 q1 A& ? - proxy_connect_timeout 5;
' f% |# z" Z- m0 V( w8 ~1 B& B - proxy_read_timeout 60;3 q( U( z/ T& w& o
- proxy_send_timeout 5;
: m: {; h# i: L' k+ { - proxy_buffer_size 16k;# A0 b5 Z0 }+ E z* a
- proxy_buffers 4 64k;
; |& ~, m* [; [- A+ P - proxy_busy_buffers_size 128k;
+ \0 R' x) B& u - proxy_temp_file_write_size 128k;
4 L$ I; z6 b1 ^, S; g0 Q% r7 k - proxy_temp_path /home/cache/temp;
_; Z0 @$ n( k( B5 p - # 配置临时目录
Y5 q7 [- R9 d7 ? - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
+ D6 G# l' b0 m# K$ W r - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
; x% v' e2 f% |% L ^0 i" v: h* o1 E. {) y
- mkdir /home/cache/path -p
|- V. ]3 @) M - mkdir /home/cache/temp: e: b [! s4 t9 D( t
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
7 i. u9 ?6 i/ Z( R8 x, D9 z# m' @& i u. k) q- K$ g
$ |$ ~6 L6 O6 @; W先创建一个“www.wdidc.net”虚拟主机
0 z1 N0 j" a$ D" q B5 z5 E4 x- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。. g% e* w @' W+ l- h5 A3 J
4 K3 e9 t) i. q7 e4 Q& W9 B删除之前系统生成的代码,填入以下代码,注意修改网址。
( O, E+ F* x/ A& _7 |- server4 M B6 k) z3 U+ |0 V- x
- {
- \7 Z$ R, i& K7 ] - listen 80;
+ H! J' f) `4 M; A& K4 g7 d. T - server_name www.wdidc.net;3 ~: E8 J1 c. z, Q
1 `9 x9 g' F0 ~1 l$ g1 Z/ u: Z- location / {1 W- {9 B/ G0 K0 {2 v' K8 ]) p
- proxy_cache cache;4 f7 K. m! Y- x
- proxy_cache_valid 200 304 7d;
$ G1 [( {+ s0 ` - #200 304状态缓存7天,按实际情况修改
) c7 [! X e& O) E7 t/ k+ T9 W - #其他状态缓存(如502 404)10秒
- m) Z8 U% j8 V- [ - proxy_cache_valid any 10s;
( e' z- `7 _% G; j9 P - proxy_cache_key "$scheme$host$request_uri";
5 d, U2 y- W/ \* I - #缓存key规则,用于自动清除缓存。
2 D% L; @7 V6 t# n: h8 U" u9 {1 M* @ - proxy_pass https://bbs.wdidc.net/;
# `& Z9 l9 Q6 f- Z- y - proxy_redirect off; f6 j# a* r6 Q) Z4 N8 N- X
- proxy_set_header X-Real-IP $remote_addr;3 x. l2 o0 Y0 v; t7 w
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;& s' C: |/ u6 }# B# `
- #向后端传递访客ip
* Q# w! ?1 `1 Y - #limit_conn one 20;& x) o7 \ u! z0 J6 M/ e) w8 g
- #limit_rate 200k;9 j+ B4 u- `2 `# |% }6 ^9 V3 x0 L
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
' n' d' q% v$ {1 v3 S5 e/ I0 ` - }
& H3 D" ]0 D; l0 g. o4 X - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
4 T) R: a8 Y' I/ @# u' Q" m8 N1 Q# _5 Y8 I
- /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”表示正常,若有错误请根据错误提示排除问题。
4 q( G/ z6 E( ]3 Z- @$ h! V7 I! Y2 O9 U, @2 d
重启nginx
$ i& k, V0 d( g* n4 b
: ]# B" L* m5 s8 c% ]( g0 Z( u; u6 L$ Y0 I8 ^$ n* b' z
8 x4 `! j2 G: J& B1 R) H
$ k" O! B( D, B; a. Q! \ |