Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
5 Y# q; \" m: N6 b! h$ F, ^* Q9 y
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
" {# R8 A: q, j% l- client_body_buffer_size 512k;
6 z4 [( Z4 s2 X2 W' J' t4 r1 T - proxy_connect_timeout 5;
H4 L" l- H: K! Q0 [! o0 x/ ~5 ` - proxy_read_timeout 60;0 f0 o& n1 t& M" ^' y
- proxy_send_timeout 5;% a- m& G0 c) ~" a
- proxy_buffer_size 16k;
% a4 T1 d1 v3 Y; S) h - proxy_buffers 4 64k;* z- d" V/ y- z/ F& Z( ]* `
- proxy_busy_buffers_size 128k;* w, [" O* m. ~/ r1 v x" n) ?
- proxy_temp_file_write_size 128k;4 D9 P( b; y% U. t# H/ n! i; G3 X
- proxy_temp_path /home/cache/temp;& M8 E( ~, o% Z3 R: i$ y- M
- # 配置临时目录% y: ^, k9 ^- G$ P. |
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
~# _ a) }- F" H0 F - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
) F+ A$ f: |, y3 \ ^5 L2 \- u- e3 \3 J5 T) W* w
- mkdir /home/cache/path -p
3 G5 ]7 g- ]& s! U; M - mkdir /home/cache/temp7 G. t& A# z7 w
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限2 X$ q' d' S6 r6 F/ c
- O _% r; t) G: W: d
% b9 ?4 M: c, W3 N( U5 F- n
先创建一个“www.wdidc.net”虚拟主机
# h$ X, X g2 J- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
8 {9 r# j1 E' u' G5 X3 k0 p. L# S8 }( r9 ]# y5 @- J$ D
删除之前系统生成的代码,填入以下代码,注意修改网址。
3 `$ s8 W6 @" N! p0 Z6 B& v- server
+ z; l3 _" L2 m! g - {% U6 a+ i/ M2 ?8 W* F, n) c% N
- listen 80;
5 ~" d |; C' l4 q/ W - server_name www.wdidc.net;2 S0 D0 B# `: w2 w* f( |3 [
|% j8 \' N3 x- location / {$ f1 H5 t% G, E" x
- proxy_cache cache;
1 F- T; `2 z8 Y: M8 J - proxy_cache_valid 200 304 7d;
) k# Z& \9 P3 T, l0 e( a - #200 304状态缓存7天,按实际情况修改
# g$ m% q! o6 N" Y8 ] - #其他状态缓存(如502 404)10秒
6 b: W; C* \- e- h6 f9 O( g - proxy_cache_valid any 10s;
; \6 e+ N& I: q& H4 e. m% _* e+ { - proxy_cache_key "$scheme$host$request_uri";8 p& a3 [5 c) P1 x- Z) O3 N
- #缓存key规则,用于自动清除缓存。
' J( o$ m* f2 t6 ^5 B - proxy_pass https://bbs.wdidc.net/;! r* t$ D6 |9 T( ]$ B( \
- proxy_redirect off;0 Z, i6 H2 a1 I; Y6 W: u% R7 B
- proxy_set_header X-Real-IP $remote_addr;
' e; J: g V8 M0 T0 U - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
6 A! t8 n# u& v' T1 a" Z6 h* R - #向后端传递访客ip3 _+ k2 S! g% S- W
- #limit_conn one 20;
7 ^* X- K; A7 A/ ]8 B - #limit_rate 200k;. h( ^( h" n% M
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#( `& e. B# X2 ~- e7 E$ x
- }# z# u' I( @4 d) M) a$ {
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。) D/ _ e# p/ [/ k9 @- |" ]+ i
& @/ N* \) }% z* M; U! ^* d
- /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”表示正常,若有错误请根据错误提示排除问题。
2 n. `3 i* M( j6 I# \- P5 O# {
7 \9 N- N" b% c1 {9 Z9 w- E% S8 h重启nginx
# g$ I' d; r c# j
; H) E+ U( P+ s1 n+ ?8 g* w* `, g0 ]' q- m; b
( p- u+ A( u3 k7 ]# |4 ^# o! W& |
[5 Y; m, y3 `! z0 V* R0 b5 W9 { |