Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
' X2 S; @1 h1 B6 m6 F9 T- J$ e
; x5 L1 Y0 j, w# e# i- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则7 p0 _8 R" {* M
- client_body_buffer_size 512k;* L" z; P2 v r* m+ V( J8 B
- proxy_connect_timeout 5;
; C0 x7 S t: V - proxy_read_timeout 60;$ x; R. f8 M5 G7 i
- proxy_send_timeout 5;# D2 m. n2 S# ?' e6 F$ l0 g4 ~
- proxy_buffer_size 16k;! u, J3 l1 ]+ l4 `" V7 m
- proxy_buffers 4 64k;
! z; B1 M' F5 D3 ~. t0 K( P - proxy_busy_buffers_size 128k;/ Q" Z. s. u3 D
- proxy_temp_file_write_size 128k;
: d- A! M# m5 t - proxy_temp_path /home/cache/temp;- I& A. L. o1 Z% L4 D! k y O$ L
- # 配置临时目录8 Q) _. o6 ^! G4 j5 l( |
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;3 U5 J' p9 u: s0 H- ~" Q
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
" Y2 ?+ D1 g- P+ A
: U1 X8 B$ a: ?- _- mkdir /home/cache/path -p
6 x& o; |* a9 U% W - mkdir /home/cache/temp8 o) o5 t/ H8 z# T" B+ j
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
7 n; S1 j8 z! ^9 s# [5 Z
( X R; y7 b3 N5 V; o, k ~8 q( X: a
先创建一个“www.wdidc.net”虚拟主机
( }& _% K% k z$ v& Y- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
3 z9 S b* H3 z$ y) g
/ ^, a' F0 y2 l- d删除之前系统生成的代码,填入以下代码,注意修改网址。
0 o4 S8 l$ f7 I& M- server
1 W l: ^+ G6 H' g' T2 n - {
: y. r+ a+ { Z9 P V. ]. `% J - listen 80;7 A% @# i& m& R' ~, s; W
- server_name www.wdidc.net;
) T- A: {7 }5 s, ^) s7 X
5 `4 T8 Z$ W$ j- G% J) s' Q; ]- location / {. k3 d( v( B! F0 _
- proxy_cache cache;/ w( S7 o5 K, k9 q/ R, W& `
- proxy_cache_valid 200 304 7d;
% M) r2 R2 u5 n2 X, M - #200 304状态缓存7天,按实际情况修改/ X- {. j7 }5 U# {* B
- #其他状态缓存(如502 404)10秒
1 ]' D3 I; R0 U0 Y: z$ H - proxy_cache_valid any 10s;
! k, e F/ C) I) c2 m+ ]) V - proxy_cache_key "$scheme$host$request_uri";- s z2 O0 q$ e$ i/ M; v+ b
- #缓存key规则,用于自动清除缓存。
5 D3 J0 m/ @* _0 X/ S8 _* b - proxy_pass https://bbs.wdidc.net/;
0 t! r% G4 g- Y' R2 P - proxy_redirect off;
- T1 N, n$ z' b$ m9 U' @/ } N - proxy_set_header X-Real-IP $remote_addr;
+ [$ h% L$ [! ^( w" ^9 E - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
5 @# Z6 p! X8 I - #向后端传递访客ip
" _( C+ h$ \( @* } - #limit_conn one 20;$ U9 h3 q' r$ j) r0 U: u0 K5 ?
- #limit_rate 200k;& `4 P% I9 ~; h @/ E. u
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#% B4 I* `& v) _5 _" b) G; ^
- }
- R y- l' J' X( w$ C9 E' r - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。+ O; l/ M0 F1 n
( x2 p" o* n2 w8 e+ b0 Y- S! P- /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”表示正常,若有错误请根据错误提示排除问题。
6 I0 y5 f' c0 O- h- `, \
# }1 I( `8 V: E重启nginx/ R N2 Y. i9 B: r# W- l! ^! k
( G) x, b1 l4 r! W9 O w
* V( k" C( W# G% k1 c5 ~0 o# M' J1 U1 ] @3 I6 Q
+ r0 t7 i9 T ^5 A& l
|