Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。+ g: X* H! v S% O
- I/ C0 J* K, u" p4 b0 p) u- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
" Z" f' J# C O: G' @6 }5 m- client_body_buffer_size 512k;) B0 D! U" R+ O8 o/ A+ P, m
- proxy_connect_timeout 5;
% C" }+ v: h2 g* ^ - proxy_read_timeout 60;
{! @0 S+ _# }: X; X' z, F6 [, h1 p - proxy_send_timeout 5;
, b- D/ I" x$ w2 m9 j% E( H - proxy_buffer_size 16k;
& y* k) W, h+ P, \! q1 q - proxy_buffers 4 64k;
8 C+ l; S6 ?$ a+ A. c1 {" T - proxy_busy_buffers_size 128k;. W3 r; _! x' u
- proxy_temp_file_write_size 128k;" |! n5 U6 H, S2 g
- proxy_temp_path /home/cache/temp;2 w J; b' t) e$ J* K" V. b
- # 配置临时目录3 P; o' h- B2 ?
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
1 i* k1 s; f: T, A - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
5 f9 M& E( B0 X' }! B6 w1 O: p
6 R) g9 ]8 W* H: D- mkdir /home/cache/path -p
; p6 f3 x* F. u' F& O- F+ K - mkdir /home/cache/temp
7 s! _5 B g7 e m3 h0 G# m - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限# E- L) K- C5 ]5 e# r; m& B
2 q) }+ y% i6 R
. S; ]+ l4 g$ [先创建一个“www.wdidc.net”虚拟主机. c% |/ l; F6 {% G$ |$ C
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。( f: i6 f5 G. o6 x; N% Z% g. ~- N
& h3 B* e( y* w, g m0 K# o删除之前系统生成的代码,填入以下代码,注意修改网址。2 E% w2 S1 J( U. n
- server' }: z: D8 ? ^9 K0 x1 v3 p
- {
. V4 l0 D$ f2 W2 ?# v, \ - listen 80;
! E8 i% c2 Q- T x - server_name www.wdidc.net;
& [; R, t4 {- M
. U* c0 D' u; g, R- location / {
& b2 V+ {& Z; [3 @; X - proxy_cache cache;4 T1 I& R/ P5 z8 e. R7 y+ P1 F7 y
- proxy_cache_valid 200 304 7d;
' M) L$ X9 o" N& A8 p6 ~( v - #200 304状态缓存7天,按实际情况修改& E$ d$ B7 E6 P+ {: F1 O
- #其他状态缓存(如502 404)10秒3 z0 r7 F$ \$ m9 V; l9 V7 B, M
- proxy_cache_valid any 10s;7 {7 e* M& s) h. g7 l9 O
- proxy_cache_key "$scheme$host$request_uri";
) g+ g3 \7 e/ s M' N3 R$ B9 R - #缓存key规则,用于自动清除缓存。8 T5 p1 n# ~- q0 h8 t" s' c
- proxy_pass https://bbs.wdidc.net/;9 |; B, W1 A9 `% u2 R7 g7 Y7 i! p
- proxy_redirect off;# W" A( ?6 ?4 D1 V+ A/ C, x
- proxy_set_header X-Real-IP $remote_addr;
' ]* d9 m* o& [2 h3 W& q - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;4 X. K; L8 t3 t" N
- #向后端传递访客ip7 a" m" w: B- _" q T
- #limit_conn one 20;
U' U" l" w& h! k: o- d. Y - #limit_rate 200k;
' V+ V7 U5 y' B$ u$ \/ b# C8 I - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#/ v+ n z2 E) K+ O0 i: i2 |
- }
: h" k. n& R% o8 \6 p$ z. W7 Z - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。0 @8 b* b) g% A
0 n+ e$ N' @. k- {+ 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”表示正常,若有错误请根据错误提示排除问题。
/ ^- V5 g5 N6 s
4 \0 S9 U3 @4 t7 t, v- K6 t) _重启nginx4 e- T1 O6 T! s P+ c8 `: z
8 M' l/ Q$ I' k8 C+ e4 Z7 N T/ k
1 J- P8 l8 v* ?/ G \/ a; i( _6 D* q( n$ N( M
4 `' F M& O* u0 J8 S6 P$ a
|