Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
: i0 v3 x0 E4 d* f% z! m* O c0 E( N) A6 G2 W
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则1 m' A l. L5 x3 q6 V7 @( Z
- client_body_buffer_size 512k;
7 E2 k2 N/ I Z" w% G4 Y6 p - proxy_connect_timeout 5;, Q* ?0 p/ F& }4 W
- proxy_read_timeout 60;
4 G$ E2 F% A5 ~, M - proxy_send_timeout 5;
) s9 v& n' H3 K. Y7 L; a- w5 X. z8 s% u - proxy_buffer_size 16k;9 N h3 S* E2 @5 u( `1 W" e
- proxy_buffers 4 64k;& o% e g5 N8 U. O% h9 [7 x
- proxy_busy_buffers_size 128k;! C2 l9 A# o' ^/ q$ [& ~8 z3 |
- proxy_temp_file_write_size 128k;
2 j( U% Q- r: q9 \ - proxy_temp_path /home/cache/temp;
/ F0 ~5 y; Q3 T+ N1 Y4 o - # 配置临时目录
+ R6 e( X8 `! ~8 m& Q( O' f2 W8 K( N - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;" d" i6 v7 w3 ]0 ^; u' Y! w
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
- T6 N& b6 R# H9 i' m& `' y
; x0 r0 |; p5 I9 W- mkdir /home/cache/path -p
6 I7 B! L8 o6 V W - mkdir /home/cache/temp
+ A! I4 u- ?( U+ d( C; c8 j - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限' x, o/ v. E' ]+ w
9 G* ~( {+ b0 ?/ Y5 u
8 M- T; \6 G7 t5 u先创建一个“www.wdidc.net”虚拟主机
3 \$ T5 V& o; U/ G- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
7 K* E( g0 M9 ~# y9 N5 j& M" G
* G1 c ]9 }% u8 f删除之前系统生成的代码,填入以下代码,注意修改网址。
) L8 y: G* o6 n6 {! H/ y! a- server
, r8 g% U6 e0 Y( j4 Z' Y; N' S - {' z/ `1 g& }! e" h% D0 @. V. ~
- listen 80;
: o8 c# X; j1 U& K9 z - server_name www.wdidc.net;
7 n8 q5 E" d2 z; L- A, \( [) y
( ?$ a6 k$ e0 e- B- location / {- E$ L) P6 C5 u8 ~1 }
- proxy_cache cache;. R4 o3 S& T7 J5 R& \1 K7 m
- proxy_cache_valid 200 304 7d;
) A' o& y% Z5 d- @& ? - #200 304状态缓存7天,按实际情况修改7 X' H4 B* A% y6 R: n* j) [
- #其他状态缓存(如502 404)10秒
; O! T5 {5 @1 C/ |# g4 s - proxy_cache_valid any 10s;- c$ j- e K5 e: C6 z$ l
- proxy_cache_key "$scheme$host$request_uri";. F* ^' Z8 h) A V; i
- #缓存key规则,用于自动清除缓存。4 r1 S( C' U1 Y& D) [8 Y% v2 z
- proxy_pass https://bbs.wdidc.net/;! r7 @7 [% y' _3 F- t7 Z: T; }
- proxy_redirect off;
# M6 a$ q; [* |: f - proxy_set_header X-Real-IP $remote_addr;
5 U0 B. o+ Z3 K" o" p7 J - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
% r* `2 l1 O5 H5 m( c* q - #向后端传递访客ip1 y/ s, k1 y. B0 i
- #limit_conn one 20;
9 Q. r; N h( a: X' s - #limit_rate 200k;
1 F1 G1 K, Y4 ^$ k - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
( b0 w; X+ m# ~% i- D - }( T" l6 b2 ~ P
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。+ R* D5 Z( C3 L$ ?' g4 A
, I4 o D4 y; U! m6 L, h
- /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”表示正常,若有错误请根据错误提示排除问题。3 _! r( p4 r% r Y; H
% A: T% U$ H+ U重启nginx4 v9 \, t+ ~: m, ?* R1 D
L9 i% z. a$ `6 w8 k
: S% M$ F. K9 k0 B; q
* i+ p" u# q4 G, q. @) G5 T
$ |1 @, R6 W+ f/ d; u0 e |