Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
- r9 h0 C9 b! L& e! v
0 ]7 d# y2 K4 h2 w. i7 n- b- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
l% S3 ]7 Y' f, t% p/ P: K5 d" m& B( e- client_body_buffer_size 512k;
: h% m, l+ @* F8 F - proxy_connect_timeout 5;7 s" n& e& }8 h y% j
- proxy_read_timeout 60;, Q: z& B1 e, S1 q9 ~+ G
- proxy_send_timeout 5;
9 K1 i; U9 n% b# Z" |: ~ - proxy_buffer_size 16k;3 G f1 W1 y# u/ A- ]) Z
- proxy_buffers 4 64k;) c( q8 }( y! U
- proxy_busy_buffers_size 128k;
+ Z1 y7 ~6 o) x5 `" e7 ?2 O: O. n) r - proxy_temp_file_write_size 128k;8 ^6 z" d$ O1 z/ P
- proxy_temp_path /home/cache/temp;4 v8 \) I6 A( C& Q7 P8 G- w9 R7 i! s
- # 配置临时目录# c/ O6 G4 C0 X# }
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;0 a6 d; m. P6 o9 O2 q
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:3 u& t( m# N* o" f1 L5 Y4 D9 k
2 s1 P$ Q& Y2 k- mkdir /home/cache/path -p4 E1 L; `# s) V. `
- mkdir /home/cache/temp
$ E% k+ ^7 K( g& ~+ d - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限( t; y3 w7 o U) j
3 ?, i. d8 ~' @ R% y. ^- {: {! r2 F) g: a/ z# a6 N& V
先创建一个“www.wdidc.net”虚拟主机
/ U: c# a4 J3 U* B% d* s0 Y- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。+ ]2 i ]$ i5 k$ A6 I s2 g) ]
1 Q& H* o' X$ X( e" u$ {7 D
删除之前系统生成的代码,填入以下代码,注意修改网址。. w; P# U3 `9 h5 d* Y$ U
- server
; u% {% P# D+ r$ m+ Z - {
) z8 q1 L3 u3 m6 Y* u5 d. Q, D - listen 80;
# b+ g H# | M% z8 D) `5 B - server_name www.wdidc.net;, Z; F8 y W* T4 R; @! O+ T% k* |
- % g/ z4 X/ Z7 n) m
- location / {/ A, d3 s0 K- ]) F) {
- proxy_cache cache;. n" M5 }+ Q% O9 c' B8 u( d
- proxy_cache_valid 200 304 7d;1 {7 R- S+ x4 x) y6 J2 O
- #200 304状态缓存7天,按实际情况修改7 g @' A# h8 P. Z0 u3 A7 a, j
- #其他状态缓存(如502 404)10秒( ]# B5 N* {+ \; w# d* S8 v
- proxy_cache_valid any 10s;8 u: \( F3 o. K) [
- proxy_cache_key "$scheme$host$request_uri";; P! ?+ C% i8 _
- #缓存key规则,用于自动清除缓存。6 }1 ~' {+ X( U& [/ i
- proxy_pass https://bbs.wdidc.net/;
& ^" P0 y$ ^% L - proxy_redirect off;
a4 t* ]; M, L8 r$ @) B# h$ S - proxy_set_header X-Real-IP $remote_addr;$ O) R4 Z4 N9 z1 h# ~
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
7 r* ^# v- q# B# X* ^# @0 X6 H - #向后端传递访客ip$ j3 i7 @! b) l l/ v% A' r' s
- #limit_conn one 20;
+ d& @' g' {2 g1 K+ L- g. E% \/ q - #limit_rate 200k;
8 L! V: l5 ?" F6 V$ { - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#* H# m2 }% Q z9 X
- }; M3 J# _6 \1 i. g$ b" U/ B% v
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。* d7 s/ G3 s+ @6 f& E. X( E
+ W. I& b$ u& {& z+ r; |3 Z1 Y
- /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”表示正常,若有错误请根据错误提示排除问题。
' c( m: e: U8 |( t
, P! R$ y( @3 G4 H* ?% r8 A) C+ E6 k重启nginx
~* d1 }9 L; r2 m* O
O+ H: W3 U3 t. @) \& ]5 R) u
6 u. M1 S! p" V1 s4 J) F9 h3 I; B1 q0 a* l: P
3 {' V" g$ L3 c& S
|