Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
# n+ }' N+ ^9 f$ h3 p# v
% x" F: _) Y) x# |5 C7 q- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
6 z/ q; @: z) Z2 I& F- client_body_buffer_size 512k;
: L. _! @1 |" X8 G2 b5 b9 U' R - proxy_connect_timeout 5;
$ O3 T) V+ S; }+ V; [5 G - proxy_read_timeout 60;2 Q5 b2 g5 U2 P3 Y/ n+ X9 r
- proxy_send_timeout 5;" _ D9 c* c ~8 x3 Q/ [
- proxy_buffer_size 16k;: k7 c) n8 p# f' x8 K/ v" ?
- proxy_buffers 4 64k;
3 ~# J, a. y( @2 ]7 U( ]7 w - proxy_busy_buffers_size 128k;; T( d! t4 T" f
- proxy_temp_file_write_size 128k;
g* w7 G) n) i& Q - proxy_temp_path /home/cache/temp;
: w$ o# e4 V! G) }6 e E - # 配置临时目录7 v# U+ z4 U" r
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m; Z) p' v. _: _; {' |# o
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
: C( A4 u. V. y5 \+ ~5 s8 a! e$ _% ^8 D& [7 X- w7 J9 m! d- p3 f
- mkdir /home/cache/path -p
% D3 o6 c# S. m( [6 F8 b3 G - mkdir /home/cache/temp( E2 \ T9 c& `: l- T$ X! r# F
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限, v( a; r5 Q3 g; |( O
/ b2 H+ u6 ^/ k/ @3 |
6 k( F3 t2 ~7 _/ |. Q先创建一个“www.wdidc.net”虚拟主机3 ]# x, ^8 L1 c6 v# y, Z
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。& r. I% }+ m1 I2 E1 k
1 t. c% `3 s& U/ n' @删除之前系统生成的代码,填入以下代码,注意修改网址。
/ c7 p# k# B( L- server
- K3 W: e4 E) c - {
4 p* ]( M# j2 r- x/ ]% ~ - listen 80;7 I- A, W0 a7 W* ]3 j+ l* {
- server_name www.wdidc.net;
w9 X: M8 E F3 S3 I r) ~ - : D$ h9 G6 z' c
- location / {
; b: n& X% P- S) V9 z c- x3 L - proxy_cache cache;
4 ^8 |) Y) x' C# [/ w - proxy_cache_valid 200 304 7d;
/ ^8 O A* x9 d - #200 304状态缓存7天,按实际情况修改
+ ^3 s* v! ]' _# ~& B - #其他状态缓存(如502 404)10秒" ?3 ~: H4 J9 l( [9 X& }8 F
- proxy_cache_valid any 10s;* y1 u# \( g" B4 w, y
- proxy_cache_key "$scheme$host$request_uri";
' L. z( L5 Q i - #缓存key规则,用于自动清除缓存。
9 V3 }: d% s8 C6 T - proxy_pass https://bbs.wdidc.net/;
& [% X! P: ^3 x$ M9 y1 {$ ~ - proxy_redirect off;3 }2 i3 m3 D9 W5 S$ a+ r& s. p, Y
- proxy_set_header X-Real-IP $remote_addr;) t$ ?; |1 c. w% ]; B
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;4 H9 F" {. L$ j* _
- #向后端传递访客ip
) H- g Q8 _+ m/ n* N+ |) F9 q - #limit_conn one 20;
- { T% H1 q* ` - #limit_rate 200k;0 w2 {" K7 T$ m) o2 m/ l( i5 s
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#9 P/ V6 S' V4 l" Q
- }4 a* g7 W: Y. g* g$ g
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。5 n/ m6 p$ L% m8 c+ [" W
+ S. K) ~: Z# Z- /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”表示正常,若有错误请根据错误提示排除问题。, N# r; E0 O' q' s I. x: T
6 D" U Z6 q* v- C4 b$ m& X( m. g# K1 L. D重启nginx
8 L0 d+ V' O) N: q1 V6 w
P3 j7 z6 Z/ U7 j2 y
3 h2 C# l0 V7 j8 K
9 c% c) A& q* j; j4 {7 s5 Q; M- \
) o3 W, I5 N0 G |