Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。, D' d6 C2 z1 w. D6 L
6 f5 E3 P& Y5 k! ^) |- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则) c5 z4 J# }( W7 }7 I; n
- client_body_buffer_size 512k;2 N# h/ S( L1 p. ? |
- proxy_connect_timeout 5;
$ T5 u, k. `- w& n - proxy_read_timeout 60;! z' C ~- U* v5 Q: W& P
- proxy_send_timeout 5;
& ^/ K; [+ L* G2 B- t% u - proxy_buffer_size 16k;
: J" J% a$ |, v7 D7 Q - proxy_buffers 4 64k;
6 G: D4 c0 s0 D. A T' ?/ E - proxy_busy_buffers_size 128k;4 W, w. m; X! ^* x3 e0 b
- proxy_temp_file_write_size 128k;
8 Y% k$ [1 G9 ] - proxy_temp_path /home/cache/temp;
7 h$ Q0 m+ f1 i H0 B4 x - # 配置临时目录% Z, k( L/ L$ F6 c
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;: X" k6 ^& T1 n9 M/ Q% A \
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
: d7 l/ O8 p4 V/ V( x) S6 d& K! Y. t5 g6 W& [
- mkdir /home/cache/path -p
$ A$ S2 [" W2 I# R2 o% m# m$ g - mkdir /home/cache/temp
$ \9 X: b; d5 Z9 t - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限 K/ P; L3 a1 f$ [1 I
0 ~* K+ }5 t i
; I! z8 c* I. c- V先创建一个“www.wdidc.net”虚拟主机
' a0 [4 \& }; g- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
5 m$ A! t6 P4 o" m/ ~' K6 ~$ [4 k9 v- T/ N
删除之前系统生成的代码,填入以下代码,注意修改网址。
' ]$ V- p6 u; J% ]- Z4 K- server( S1 h, i+ j9 }
- {
e: ~. B1 I9 C4 `* ?/ h - listen 80;
0 v) a4 c- O8 }; a - server_name www.wdidc.net;; `4 l& M" h: m, s9 s* [
, K0 y! b! @) J- location / {( h) b, a; S& \. I+ u2 u" V5 o
- proxy_cache cache;3 g/ i0 r& a4 t& p+ _
- proxy_cache_valid 200 304 7d;
. e" K2 ]- z3 R$ K7 D1 g4 f - #200 304状态缓存7天,按实际情况修改
& Q' [+ z+ ~; X7 h7 b - #其他状态缓存(如502 404)10秒
8 b& L+ [2 g6 E B' a) C! X - proxy_cache_valid any 10s;
5 m$ x9 U7 H9 G - proxy_cache_key "$scheme$host$request_uri"; K9 s2 ^2 r$ s- t
- #缓存key规则,用于自动清除缓存。
6 ? ^8 Z/ n0 d! N4 x - proxy_pass https://bbs.wdidc.net/;, U) {' F9 J O5 Y4 A& H
- proxy_redirect off;
+ W( e( c6 X \' k1 c6 \ - proxy_set_header X-Real-IP $remote_addr;) U2 N: h5 [0 b+ ^* {
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;( ~ {5 @5 v3 j( Q/ S7 B6 U$ d8 b
- #向后端传递访客ip/ c0 n; r1 l- Z9 H9 E3 r- l
- #limit_conn one 20;
# l! V- i$ q" \0 `- g. c - #limit_rate 200k;
( \7 {2 W# A( _ - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#) g. B+ p/ O4 [; Q& {; [
- }, ^1 |7 M: s. I3 s f& D- `" F
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。, V' C" N6 a5 x, I2 V4 @6 J$ ?
+ W0 r Y& o5 g. 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”表示正常,若有错误请根据错误提示排除问题。
" A: {& E6 w+ U2 {: _8 }( W6 l& R, K' e2 _2 b7 P
重启nginx' T7 k. l% } Q% @( Z
( i& b8 u1 s. g
# o$ u5 d. q5 C7 v8 J; a
# T- S. Z9 w5 X" E2 z) O$ F" s/ ]: u4 ` n4 l- o& M
|