Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。! |& L' @$ E4 w" V( }
7 g {) c0 [% z4 X- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则$ M) k8 x! l) R
- client_body_buffer_size 512k;- Z* P3 @1 h) c/ S. } A% {0 H! n
- proxy_connect_timeout 5;
% m: a3 S5 L% a, H6 [ - proxy_read_timeout 60;
* T# L9 E8 T7 h e4 u& v/ u - proxy_send_timeout 5;4 |' ~7 }. m+ E- h. B! ^& U% I
- proxy_buffer_size 16k; i- N, }8 u; s. V' ]" N! Z( a
- proxy_buffers 4 64k;7 ^( K% M; z/ V; [/ z6 S3 ^( B
- proxy_busy_buffers_size 128k;
; M, E" C; s6 I, f) U# h, _+ c - proxy_temp_file_write_size 128k;
, z4 ^" R' {; T# H5 V. @0 q) i - proxy_temp_path /home/cache/temp;( V5 L+ N( Q% e, _; K2 j. O9 ?
- # 配置临时目录- V# Q) e) z. h8 _. y
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;+ S V# n0 _6 b2 [- U8 q
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:# c5 m- ~4 o/ ^4 h! j, u2 s
5 K: L0 T# l+ m8 V& T$ q7 w- mkdir /home/cache/path -p
$ T" `) B4 m8 B! o4 P: S0 Y! e3 d - mkdir /home/cache/temp' |5 Y, R6 E! N1 v. r- \
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
4 d% }. [ u8 C" G6 `1 v" v9 [3 J" P5 C4 z8 a0 O7 ]% C* h1 W8 D" k
P, V' [; L7 }先创建一个“www.wdidc.net”虚拟主机
% ~) {" G. @: }8 r- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
8 u* w) `3 h o k+ v
0 y# |" J j! O) J删除之前系统生成的代码,填入以下代码,注意修改网址。
! t# Y' d8 v3 E" X) W5 v' f* ?- server
2 f5 Y% |% A3 L( @5 I1 p; E - {: ? v& }7 R2 y
- listen 80;' `/ Y4 x6 ^5 ?- E
- server_name www.wdidc.net;- Q# }+ T! t- t; C
- / m2 A$ o7 n6 W v# q
- location / {
Z; I9 @0 |! j0 P - proxy_cache cache;1 Q& A, }) l( M, _- B2 u
- proxy_cache_valid 200 304 7d;
7 t+ c H f7 w6 c* B4 g9 @ - #200 304状态缓存7天,按实际情况修改
" I$ X1 {% z' L, H: l8 Z) ~ - #其他状态缓存(如502 404)10秒0 c) H2 k& _. T e
- proxy_cache_valid any 10s;
- M( A7 R" l# u W" |3 [3 r - proxy_cache_key "$scheme$host$request_uri";
( d9 t: }8 m, e: } - #缓存key规则,用于自动清除缓存。
7 I$ N* h, a; H. ~2 C$ ] - proxy_pass https://bbs.wdidc.net/;
" `9 P% R1 R8 P e2 Z0 T0 x - proxy_redirect off;8 G5 U' G3 b! H3 H' t
- proxy_set_header X-Real-IP $remote_addr;
0 P7 ?0 Y- _; q' O G - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;& Z: w% M5 ?& N6 F6 K+ x2 H
- #向后端传递访客ip
# o2 |0 P+ d/ Z O - #limit_conn one 20;
. X% `1 z. U/ D5 _4 {9 I/ X, K6 \ - #limit_rate 200k;
4 C1 ~* p# ? T' ^/ H' H. z& x - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#& X9 O* r3 m1 g$ |3 G
- }; Z' l8 c9 Z6 M( X" V
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
8 Z2 X/ t, i2 J5 }6 s
) j# ~( ?4 E# @" 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”表示正常,若有错误请根据错误提示排除问题。' d; P7 L- H% Z3 \+ f5 h. y
- Z8 ~, N8 M; c! x0 W重启nginx: U/ h# V$ }6 |( G, ]6 q8 \* u
# z6 B! @- C: U3 O
" ]' T# E' K# C+ a! F8 J9 M9 ]/ r( k3 A9 P4 D
0 M5 S0 Y: W% L0 S% R |