Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
$ Q/ H. @9 ?9 r- W1 Y: q! ^4 w; `3 T: f2 k5 P2 {1 _
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
3 o# P3 f2 W" c4 V# b- client_body_buffer_size 512k;
3 u/ K" ?+ Y" U% i* l/ W - proxy_connect_timeout 5;
2 L k2 i6 v2 i( S" C7 I k - proxy_read_timeout 60;) c$ ?/ m; w! z0 g& Q; p( s1 B
- proxy_send_timeout 5;7 B* i. Q3 L9 R6 S
- proxy_buffer_size 16k;2 I7 E2 A5 p5 c( Y2 H
- proxy_buffers 4 64k;
. r Q/ X, }8 C( I - proxy_busy_buffers_size 128k;
5 Z7 T1 @0 Q+ }" [ - proxy_temp_file_write_size 128k;
8 Z9 i$ ^7 U9 ?4 _- i2 B& H% R! N - proxy_temp_path /home/cache/temp;, H! a y6 F4 z6 O
- # 配置临时目录$ J1 k c H0 y, ?+ E
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
/ u: r. Y! i% P, N1 A - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:0 E6 p6 p' b X; T0 L8 B# @
, e7 y) |* w+ j6 T
- mkdir /home/cache/path -p
, r3 n6 q7 B3 [$ W7 \ - mkdir /home/cache/temp5 a4 J8 `0 z# _# Q$ `$ A5 i2 F1 a
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限/ ?+ j. a: {0 G7 S4 t+ f
7 f# z6 {0 u4 R) k
* R5 Y# Z! p3 t9 B3 i) P先创建一个“www.wdidc.net”虚拟主机
. b* _" N3 C! B) \! e6 z- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。/ k( y; c7 G- I& M9 q& I
, d8 X) s1 g+ ~( l. ~4 a9 U( Z删除之前系统生成的代码,填入以下代码,注意修改网址。% ?2 K* }- q5 e/ u- ]8 c
- server
% B. a% L% l$ c# h - {2 A, W: L6 F5 S( y, e7 Z
- listen 80;) b) k( H4 g* V! @) V! J
- server_name www.wdidc.net;
, H/ @! B% ^4 O - 3 ~5 b% h3 l8 i. p; \9 k6 _" [
- location / {
' W* [% Y) G, U7 l, e$ ]2 s - proxy_cache cache;6 O7 m7 _6 ]) @4 ^4 h3 R1 Y
- proxy_cache_valid 200 304 7d;9 p* G8 |% X4 @& B# z0 P
- #200 304状态缓存7天,按实际情况修改
$ N$ s3 ~) O( _, D5 ?: ] - #其他状态缓存(如502 404)10秒4 ~. R4 ?3 d4 ^% x# @+ T2 G
- proxy_cache_valid any 10s;
( s% m1 G" }& m# B - proxy_cache_key "$scheme$host$request_uri";
' o+ D, A3 h; l! Q2 Q6 g R - #缓存key规则,用于自动清除缓存。
3 J! R+ `& \, D# O0 W+ w- ^2 g - proxy_pass https://bbs.wdidc.net/;- r' A6 A& x9 Y- Z( g, w! B
- proxy_redirect off;
1 z/ l' t# i1 O; D7 J5 z - proxy_set_header X-Real-IP $remote_addr;
5 G2 |% t. w7 z - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;* V" s( }! g- N/ ?7 s( e4 I+ z9 c
- #向后端传递访客ip
5 r9 H' v2 @" k( E9 p) u2 ] - #limit_conn one 20;/ o9 S* A( x- N2 F
- #limit_rate 200k;+ x9 _* x5 i5 O% e( C: |
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#8 @: u# i4 W- D( Q& X8 Z
- }. q' e4 f; }4 s4 E' B+ b, M
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。) c6 f" d" W* `9 \$ t( [
! e3 r" _2 H+ \$ S- /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”表示正常,若有错误请根据错误提示排除问题。: R- V) x) Y6 \ v& n1 r/ e
1 S, Q: S# u; y a5 h& ~2 |0 A重启nginx
+ f, A) ~; b, E0 O) C. l# a9 y, s& D) D
4 u" L7 h2 v; M
% \, ~: L) G, c- N. K: L( _
- T% o% M* j# k/ \- [, f9 L) s |