Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。8 b- {) f8 \3 W+ t& n* Y/ J' Q
/ c) _6 C" x+ P9 m. j* H
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
; F' X/ E# b4 A3 L( w% T- client_body_buffer_size 512k;
1 ~( G" X$ p+ f5 e, d) Y; q - proxy_connect_timeout 5;
% U& V2 G# c/ J2 i - proxy_read_timeout 60;
; z# }1 ^( z1 b/ K( Y/ i' Z2 c - proxy_send_timeout 5;
, ?5 d! @3 |% W* ~+ ^ - proxy_buffer_size 16k;0 m2 u4 X( J) e1 t- d, R
- proxy_buffers 4 64k;
; | u. s8 q9 ^# ]7 e - proxy_busy_buffers_size 128k;
/ x' P7 E8 k2 F( S4 l/ p! X - proxy_temp_file_write_size 128k;
i2 ?* i) d/ X1 |2 r* o9 D/ z - proxy_temp_path /home/cache/temp;
/ ^$ q2 M. W) U+ G - # 配置临时目录
9 ?/ Q: @1 ^( f4 P$ G8 t - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;8 I! e, @9 ?5 V- N0 e
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
8 k* a! a# O4 T( q! a! J- c* F$ v! w1 s+ L9 I v
- mkdir /home/cache/path -p
+ o$ n; V& V) a; [' `3 M; x, C - mkdir /home/cache/temp
8 ^/ @: t5 l4 C$ D7 Z7 F7 `$ I& B - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限, E3 _: b1 I. z! o0 T
) k3 x! U, @0 s( G9 c) \8 i% r# V2 \" l6 {
先创建一个“www.wdidc.net”虚拟主机
( P9 X# Z/ z% x x% f- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
5 C0 D( |% |- K! r# a; @, K9 P0 Z# G! c$ M# ?: y* q. ^0 k+ p0 ?
删除之前系统生成的代码,填入以下代码,注意修改网址。- U4 S1 m% X, O: w* R9 d) U; B
- server. l! I8 F! D- U A& m; c% u$ J$ r8 t
- {
9 M6 ~3 g6 T: D; l& {' X - listen 80;
/ C R& b6 ?3 r2 K3 j3 q - server_name www.wdidc.net;
$ L4 ]# B5 C0 R
' a5 ?% s3 Y0 {. r% H1 m9 N1 g- location / {
& N6 L B/ ]" r) u - proxy_cache cache;: r+ i1 L5 o! K0 g# ]
- proxy_cache_valid 200 304 7d;9 \* Z# k- i" a( p) J; ~! B3 a# D9 X: _
- #200 304状态缓存7天,按实际情况修改
8 S, _& M5 j z2 A - #其他状态缓存(如502 404)10秒
6 H* \$ Q7 B* L9 J7 D - proxy_cache_valid any 10s;
" p) [6 s- s5 q4 h+ @( ] - proxy_cache_key "$scheme$host$request_uri";+ W K& v3 Q- L# M8 j2 B
- #缓存key规则,用于自动清除缓存。
: R0 o B, H4 I7 f' \9 `/ O O - proxy_pass https://bbs.wdidc.net/;- p X/ J# o8 O
- proxy_redirect off;4 [0 z+ Z/ m, J
- proxy_set_header X-Real-IP $remote_addr;
3 m) ]" r1 Y2 |! \6 d3 ^ - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
4 ^5 {4 Q) l. P- u( O, Z. T - #向后端传递访客ip/ ] u6 \ H! {
- #limit_conn one 20;
2 h+ Q$ Q+ I% _% s, I( g - #limit_rate 200k;
/ @$ C" @6 o/ z& ~" V* Z6 D. \ - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉## Y/ N- K; V" c: l
- }. o# P; k! O! Z2 ?6 v
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。" o' e" B6 Q& V, S$ b: r1 P
1 { b7 a% ?7 }1 [1 e% z- Q9 k9 ~
- /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”表示正常,若有错误请根据错误提示排除问题。
) y( s0 M: i2 U* }+ G4 ^0 p g
! Z% \2 e+ c* I6 N7 U* {重启nginx
2 C' q) U; U9 i% x2 ~- `: J2 N
+ Z9 ?$ o1 j! K9 H+ X, l0 ~2 G
A; R: z! P& }% a
/ t% \% y8 o o O7 N& X/ J1 m- ` |