Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
/ @ n/ G' m w, {% H8 n6 j* N$ F/ D+ R; s3 n
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则. E' r: |% ^' D6 H D. ?
- client_body_buffer_size 512k;6 U3 f* ^; _! x3 g* {
- proxy_connect_timeout 5;" }# ~4 t/ n2 X. d
- proxy_read_timeout 60;
" R' q5 F; U, H - proxy_send_timeout 5;3 f6 J N" L: @# {5 T
- proxy_buffer_size 16k;1 T/ c* q4 r" Q5 E2 D: {* T+ G, T
- proxy_buffers 4 64k;
7 g) D: A5 o9 z/ r - proxy_busy_buffers_size 128k;
/ u% e) M- _0 L9 v - proxy_temp_file_write_size 128k;% x) ~1 \7 i0 ~+ C. s( m* D
- proxy_temp_path /home/cache/temp;) ^8 W4 E$ B3 z% D& j4 E: d% [7 B
- # 配置临时目录8 b+ ^) T$ Q/ z, r: a- n5 \
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
0 t1 F/ t% s0 [" t S - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:! t1 U. P/ y" n1 l7 d2 g0 X& H6 S+ q
- F) ] P4 Y" j" K. s/ s! R
- mkdir /home/cache/path -p
7 f- P/ n* E7 ]* l' q% B1 Q% Z - mkdir /home/cache/temp3 p3 [5 t% b7 B4 R. r: `
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限' R) v5 p3 B* d8 R) a% e! J7 c. {
9 [' ~1 I2 U1 C1 u0 o0 j
/ p$ U, a& E& N6 J
先创建一个“www.wdidc.net”虚拟主机% v: n; m. W7 @; [2 d( D$ E
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。8 K& i) `& r* x% v) x# l% ?5 O
4 _/ \+ ?1 q6 E8 \ E
删除之前系统生成的代码,填入以下代码,注意修改网址。
; U9 M& G* |/ Z/ x- server
7 S. D# W) R( ]4 k; w - {# @0 m" J& H0 W! W( i7 S/ t& Z
- listen 80;
1 t. c( v. F t R2 J* ?9 h2 q - server_name www.wdidc.net;
% A; s6 H& j& q' A M- r8 @ - # q' v; F/ M+ W0 s. @
- location / {8 h4 _% s$ {% C4 l1 N
- proxy_cache cache;
# m. c" T% A; ^7 e) n - proxy_cache_valid 200 304 7d;
[: t. Z6 X+ u: Q - #200 304状态缓存7天,按实际情况修改6 l$ I, @: n. h
- #其他状态缓存(如502 404)10秒4 c9 p9 ?: y/ H$ H& ]) `
- proxy_cache_valid any 10s;
( \) \7 v8 |7 F1 u - proxy_cache_key "$scheme$host$request_uri";
1 B& ?3 i( S! M7 |' }. e - #缓存key规则,用于自动清除缓存。
/ T: E% z, q9 a - proxy_pass https://bbs.wdidc.net/;( F+ Y2 O' U4 c* d9 Q5 G
- proxy_redirect off;
+ t6 A3 T; K. X7 W- Y4 O6 r9 |& `6 } - proxy_set_header X-Real-IP $remote_addr;* ?/ I2 ~; D; ]/ S" m2 D P
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;" `; P4 s3 }2 j3 h) T" y
- #向后端传递访客ip5 Y/ `6 i q8 W. Q6 q* R# I& o
- #limit_conn one 20;9 @8 f% P5 a, B* R
- #limit_rate 200k;
! v8 ^4 p) s2 ~; l. B* q* U - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
) {6 o3 G0 E3 i9 o( z8 w - }7 S& x- p1 g3 `, c. d% K4 o- l
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
: p& ]0 g% r/ m/ Z8 _# _4 T1 D' \/ z/ C2 m; C8 b' U' W
- /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”表示正常,若有错误请根据错误提示排除问题。2 P$ m: k* N0 Z- Q: ?" @# f7 o
8 Y# ]! \3 X8 j; [重启nginx
( H" F$ S' n# y+ ]; B' [) ~. k/ {
1 V( X9 H! ~, z6 N4 i; r
! L4 a4 s9 P1 E; C, f! k2 r9 w4 i
/ D; j7 K: W* Y1 P
) l1 u1 @ e# |$ b' a |