Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
5 \5 b r9 J: o, L' A: K- j# G" ]* p% R
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
% A6 s& y5 U7 I$ D8 y- client_body_buffer_size 512k;" {; m' z! w* d. n/ q0 ]1 i- H! x
- proxy_connect_timeout 5;
# C& m/ e' H" ^5 @ - proxy_read_timeout 60;/ X5 D2 y$ ?1 r9 n! J9 ^
- proxy_send_timeout 5;
" Z6 A, ?& H, ^2 C4 N - proxy_buffer_size 16k;
1 r$ _7 i- x8 U1 ?, {! T1 | - proxy_buffers 4 64k;
( c& g: H/ A8 z& W" P- i - proxy_busy_buffers_size 128k;
3 B0 ?2 t4 N1 n5 Y - proxy_temp_file_write_size 128k;
8 a9 K+ j: d& A5 E7 W! t( U - proxy_temp_path /home/cache/temp;4 e: x. u) x4 @6 R, c3 _4 e2 E
- # 配置临时目录( q( y7 ~! b! O8 ^; _
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
, q1 N' j; a- [+ a+ D - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:4 K" x, f$ Z5 T) f$ ?2 c
4 I4 u- d+ g7 N4 P. j% J; O
- mkdir /home/cache/path -p5 N& P v* I9 @ }5 f s
- mkdir /home/cache/temp3 y0 l, J$ F2 N2 @4 g0 g& \& \
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
' \8 u1 A% e% N9 e9 ?3 E5 B5 o( A7 P- [: q# C7 w
( p# n* n3 Q6 N4 m- o先创建一个“www.wdidc.net”虚拟主机 i5 g! Z& n5 L+ H9 [1 g
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
' p: |$ g# p: D5 ], I( i/ m H- u+ `/ C) I5 b
删除之前系统生成的代码,填入以下代码,注意修改网址。2 B3 O2 h0 \' s& S
- server
7 J, `/ R" W3 s0 R& D$ F0 K - {8 ^7 z+ R" u3 [ I
- listen 80;# m* w; \& r* z3 }
- server_name www.wdidc.net;9 M/ r/ J1 {& X' t# m3 @" ~
- 3 O1 t0 `7 I' o& L* I
- location / {8 H! B% Q$ v0 b& x& _
- proxy_cache cache;9 B8 z( s' D& v6 S( ~* ~" J
- proxy_cache_valid 200 304 7d;/ f# L2 q4 R( R
- #200 304状态缓存7天,按实际情况修改
3 C# P' ^ d& H% h. d% ~6 x - #其他状态缓存(如502 404)10秒
. c9 [4 g/ Q2 B8 }0 f - proxy_cache_valid any 10s;3 Z: q# K& T6 [ d, Z
- proxy_cache_key "$scheme$host$request_uri";0 b: p" v1 G$ `% W. G
- #缓存key规则,用于自动清除缓存。0 u0 K' W) c2 K: x5 B
- proxy_pass https://bbs.wdidc.net/;
6 s8 V; r! f( [. @ - proxy_redirect off;5 P3 }$ N* P# ]
- proxy_set_header X-Real-IP $remote_addr;
2 W+ x! z) H: N M - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;! ^4 v6 B4 A$ I! Q$ K+ p* n& E+ c+ v: \
- #向后端传递访客ip' _! T$ x6 P& x; ?
- #limit_conn one 20;
' e' n2 h+ J2 k' l - #limit_rate 200k;
. Z* b7 X0 u* C6 g) r - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#- ]- [2 ~' T7 P/ g& N
- }+ G/ E+ g. ]" [
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。6 J; f. _2 X1 v
; h' I, ?, e O8 w5 ~
- /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”表示正常,若有错误请根据错误提示排除问题。 r1 T5 a# A5 r) E" l6 c) a. E" ]
2 `* b( f) k0 D: }" Y4 N重启nginx
. Y/ d3 E- [/ o7 V P- c& v0 b1 _" C `7 \4 p4 S j" J! C" d/ z
0 B' B$ U; c. d1 ^( l- O M; _1 v/ |( V4 V& y2 _! i& f: x8 y
7 B1 ?0 b' R; [6 z1 d4 M; a |