Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。9 q3 A! N* _0 d
' T9 E. P) X3 G- x3 O v! m6 u7 K
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
: P# M! p7 y. _( g/ L) W- client_body_buffer_size 512k;9 `2 A! v2 U* o0 [# S( ?5 i: j' Q8 d+ u# z
- proxy_connect_timeout 5;
; n' [ l/ \+ X5 U4 {. U# d8 ~ - proxy_read_timeout 60;
7 |7 g) Z7 W2 o* n" ^, @ - proxy_send_timeout 5;
0 S: k& f R8 ]9 { - proxy_buffer_size 16k;$ m0 O8 q/ f G& m* }- h
- proxy_buffers 4 64k;0 P6 @+ B' X+ S( I- m
- proxy_busy_buffers_size 128k;
6 {4 S& s7 \1 O$ [. @: D Z4 M - proxy_temp_file_write_size 128k;
0 U- U! a/ G# K - proxy_temp_path /home/cache/temp;1 \. q* ]) u+ v! |
- # 配置临时目录
8 n# n' ~# m6 e$ O5 q5 G5 j - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
% w& W) x5 @) U& ]; C; x - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
7 l. ?5 f3 y# e, V
( q8 @2 f) ^7 P& r- mkdir /home/cache/path -p
: U8 T. `8 V" b1 } - mkdir /home/cache/temp' H) O" T4 H7 s3 r8 t
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限* |# u5 m1 V; f6 U; N% o9 Z
5 e2 V5 a U; z% m/ N/ f7 e4 t
3 }( u" j3 {" h. |8 W5 s! E' o先创建一个“www.wdidc.net”虚拟主机- E- o ~0 l: C, V: G1 x7 F
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
* k, c4 y) k, d9 _1 ^' k
' U* i: e" K9 ~4 f: m删除之前系统生成的代码,填入以下代码,注意修改网址。
3 S# L/ c( | a' C; `- server
$ ]& C3 e3 k9 G - {
. E8 P! L9 a' N ^0 r - listen 80;
- N) ~' q" q# e0 q, ^4 V! U - server_name www.wdidc.net;3 b( ?# l z w7 [# P% {1 r! Y* g
+ N7 a1 `8 `- [- |, F! u+ w3 s- location / {
' x0 g; r# i3 b2 K% V - proxy_cache cache;2 L( H X% e8 S! X: c. q
- proxy_cache_valid 200 304 7d;! H; l( V1 H# H/ M' j- F
- #200 304状态缓存7天,按实际情况修改6 w* b% D) B. k5 B' E! a
- #其他状态缓存(如502 404)10秒: e. ~( `) O8 d# N
- proxy_cache_valid any 10s;
# J1 d, O( b. d# d; V- K - proxy_cache_key "$scheme$host$request_uri";/ }' _' W g8 O! C# Y$ C6 \- r' ^
- #缓存key规则,用于自动清除缓存。
5 M+ o Q- Q( T/ u* v- } - proxy_pass https://bbs.wdidc.net/;: O. y4 q: m2 k/ `/ d4 c1 x5 R
- proxy_redirect off;
/ _- b, Z% r! q$ o- o% \ - proxy_set_header X-Real-IP $remote_addr;9 }' l2 T' H( K* F1 j5 x
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;5 p: h& V, Z8 j- s k; P
- #向后端传递访客ip% Z m7 W0 a) B* w' }
- #limit_conn one 20;7 Z1 H% r" V( z2 L, f: n' \% Q
- #limit_rate 200k; G+ s! g) s: S) \% U
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
# Z- `- F B3 F8 T+ ^ @ - }
% Q* x& Z* v8 @2 Y! n4 ? - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。: L' ~$ v. N4 w& A. W) ?
4 j( @ B! u V, M7 s7 l7 C- /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”表示正常,若有错误请根据错误提示排除问题。
7 b+ I( o9 S5 x7 A0 O4 X9 U" i
3 _8 E% W2 P; {7 A重启nginx
! f3 A" P# ?% I6 U1 c. H2 j) M# x( e! b* t
k$ C. g% {( O+ ?
5 | G3 R- r- X* u( U/ [% K$ w
6 O; r6 [7 o' i$ Z. x |