Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
4 ~# H$ }) t; Q) z) R. C1 g
! ?8 u k7 w5 }& y$ w$ E7 Q3 @# k4 f- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
5 L; d7 R! t/ j& H& k, M" F- client_body_buffer_size 512k;: q. m* b$ _0 `
- proxy_connect_timeout 5; K7 ^0 u* u! x5 y7 A' s
- proxy_read_timeout 60;+ a0 n2 n5 G; R0 V
- proxy_send_timeout 5;5 T& L# f- x) A4 F0 T. q$ l
- proxy_buffer_size 16k;
- N! Y6 A: j' K* \/ h; i/ ]6 `1 E - proxy_buffers 4 64k;
/ v- B& G) `, {6 U/ k, ~ - proxy_busy_buffers_size 128k;* a1 T# g2 |' F
- proxy_temp_file_write_size 128k;
, P3 o' @9 b( h( s c - proxy_temp_path /home/cache/temp;
- m, }; [1 e; N( j3 b5 n' \4 V7 O - # 配置临时目录
5 i8 Z/ x: T" k0 M u- B: Z - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
) ^, L0 u9 l5 X2 a) Z - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
( h! e; _- i4 s o8 P8 v+ N& T& B" g2 y5 ?) l8 m9 P# N+ G
- mkdir /home/cache/path -p
- O7 S" p9 p8 G9 X0 Q - mkdir /home/cache/temp
5 y6 H7 X4 j' \; w! t' D7 x - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
8 b. S4 u6 M. e' n
' m, P8 w8 I0 s. v8 E, B- T3 w& e) A3 |- f9 j: M
先创建一个“www.wdidc.net”虚拟主机/ j5 |) h3 s7 s3 K
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。" ]. M6 E, e+ J
( F( G4 B5 D3 L8 L3 F删除之前系统生成的代码,填入以下代码,注意修改网址。- b# W: ?+ L, V1 [3 o4 ?
- server
# N* B/ q2 P7 u/ F0 n) o% F! j - {' x% O, F) q& r0 q. Z
- listen 80;+ a( t; L8 x! ~7 L( V
- server_name www.wdidc.net;, k& v: f, A2 G/ a* M: A& F( e7 i
" H8 o9 z+ n2 M% S+ l- location / {: Y4 X* j# F3 m
- proxy_cache cache;
) s2 N4 Z! Y9 Q. t0 [2 L5 u - proxy_cache_valid 200 304 7d;
6 O9 T6 d% h$ m, T6 J/ s. o5 O - #200 304状态缓存7天,按实际情况修改
4 Y/ V. o/ |: k - #其他状态缓存(如502 404)10秒
" h6 P/ N" ?, k& J3 G - proxy_cache_valid any 10s;
! U7 ~8 |, F# a6 B& B; Y. _ - proxy_cache_key "$scheme$host$request_uri";% y) V6 W0 b' B5 ^" G
- #缓存key规则,用于自动清除缓存。; U7 G3 t! J4 C) T
- proxy_pass https://bbs.wdidc.net/;! j( t4 Z% B& J6 ~
- proxy_redirect off;
3 W' K/ b& L# j9 v, [6 s& ^: D - proxy_set_header X-Real-IP $remote_addr;
" T9 O& C3 }& R- I5 h5 @" ~) ^ - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
8 q6 X. o" y- `3 ` - #向后端传递访客ip7 P5 v- L8 {7 F9 L" U
- #limit_conn one 20;
* {3 _, D/ m* m- a - #limit_rate 200k;
1 k8 s$ y% E9 R9 w. k) _ - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
- V- j' \& [" r( P+ y" y% z$ M - }5 L4 U2 B$ ?6 ~* ~
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。8 @0 P8 e8 v5 c2 t) \0 |3 a( y8 y
|4 f0 X8 ?/ y. o
- /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”表示正常,若有错误请根据错误提示排除问题。
' \ T7 b1 O0 [ T: f7 h& m" S7 z$ ]* B: y$ J1 {- W1 r8 e
重启nginx
1 t, a9 a' G3 t( F% K$ t5 P' |* k+ n- k" ^( C2 T
' \7 |; Z6 B2 W W" T
+ k6 B6 m& @+ F2 M" c: j9 }7 G
, U6 o2 [ T) T# W6 f |