Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
7 [% r/ P/ Y. ?' y& H. |
. n$ F7 e; ]# ?- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则% d, c) m. k+ ?) K" q
- client_body_buffer_size 512k;. P+ X0 N! S& G
- proxy_connect_timeout 5;* R: g+ w" v2 s: |5 j, {
- proxy_read_timeout 60;4 }4 T2 Y1 z: w
- proxy_send_timeout 5;
* G2 q% R, E3 x F4 } - proxy_buffer_size 16k;
b3 ^+ u& ^. g& W* ^3 O - proxy_buffers 4 64k;
6 r: ~& F. Z8 E' }) ^7 O9 @# f - proxy_busy_buffers_size 128k;
+ h" H# C' B5 Y$ L - proxy_temp_file_write_size 128k;
: [% z' d: a5 G# l9 Z- i4 V, j9 q - proxy_temp_path /home/cache/temp; }( Z- A: E! F* F1 N9 h
- # 配置临时目录( n( s2 Q4 j4 m+ H6 G6 j
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;* T4 v" I% r1 P6 @9 _1 j
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:. H+ X/ c: H# n# g U7 N7 q
: U- B1 M; s7 F2 S: ~6 E) H
- mkdir /home/cache/path -p$ P1 C4 V' p' f1 h# z$ u: t" U6 P8 U9 Q
- mkdir /home/cache/temp
/ f- i, G* U3 o* I6 } - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
# R% |5 d ^. g$ Y: L
" c6 M& V7 u, z+ j0 O5 C ]4 l
先创建一个“www.wdidc.net”虚拟主机
; F( X( l- o; e3 L6 M, H1 }9 L7 c- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
2 a9 { c7 H5 X: W5 r# Z: w: q" v3 X/ a, D
删除之前系统生成的代码,填入以下代码,注意修改网址。
4 O: \0 T+ O' m( r) g* Y: b- server
7 y1 R# _( J z& \; a - {) Y0 V) r- `0 ?6 n* f# I6 x
- listen 80;5 u# j8 o2 b, L' }! T% M( r0 \
- server_name www.wdidc.net; v% v# [9 c6 w$ i( O9 m
5 A7 |9 G/ X% I" Y) ]6 A5 l- location / {+ d/ x$ u" t) g& |& V& ~4 n
- proxy_cache cache;! Y3 Q: e6 J" O
- proxy_cache_valid 200 304 7d;
# K* ^# P. p9 l/ T - #200 304状态缓存7天,按实际情况修改% s- V+ e& b! F' M' Z
- #其他状态缓存(如502 404)10秒! c0 W' B" [: W0 y. m) g
- proxy_cache_valid any 10s;1 P6 ?/ Y" ^1 w! v5 m/ \* O9 ?
- proxy_cache_key "$scheme$host$request_uri";
' F; ~& i- w1 v/ |5 ~ - #缓存key规则,用于自动清除缓存。
- d0 v& h& T) {& M i( k! } - proxy_pass https://bbs.wdidc.net/;
* C- W$ l$ _; u5 G+ ?$ V0 e - proxy_redirect off;
. @1 S- D& l; Q3 q4 m - proxy_set_header X-Real-IP $remote_addr;0 y% S: H3 C4 X& ~+ h# g. j
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;* @8 ] ? z$ s( q) U" [/ @% Z6 h6 S
- #向后端传递访客ip7 p" F) o1 V0 a; i; U) p
- #limit_conn one 20;
- S( I8 N, ?# ^" u) U$ d - #limit_rate 200k;* u8 h* T; E5 T% t- g4 t: f
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
' W8 b6 k( S5 A) O, N( w. v; i8 w - }, Q d3 t. E9 |6 b. y7 r. q t
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
% w$ S2 i |6 G5 L; ~4 y+ s3 N3 s6 M9 V, |' x8 X$ q! k
- /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”表示正常,若有错误请根据错误提示排除问题。
* Z2 p. O/ b1 G5 W }! [/ B* P% E5 L6 m4 |+ Q* x2 q
重启nginx- j, R4 o- r) D/ c3 w' H w
5 J' k S% `) E; r& }9 f7 b: ?. ?7 S4 ^/ Z: B
8 \. d5 N- l3 d8 l, I* n
3 |: j, m o6 N2 m3 w6 R% J: A$ o |