Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
" [( {% {. o# v+ _
" S# j& f0 Q- i- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则% Q: G; ~2 u: \4 A$ t0 t
- client_body_buffer_size 512k;0 _# e/ o9 [1 I! o4 \
- proxy_connect_timeout 5;
8 [ ]' c1 f8 F, E. u - proxy_read_timeout 60;
+ e2 i" g+ X0 x, R - proxy_send_timeout 5;- f. S+ u' T$ i. a' {5 B. ?
- proxy_buffer_size 16k;; k- `2 I8 m; N. i( s
- proxy_buffers 4 64k;2 ~$ t6 W5 S4 t' X5 }: ~
- proxy_busy_buffers_size 128k;/ r [8 ^' I4 a: I1 s8 C
- proxy_temp_file_write_size 128k;( D; ?# n8 d( _$ l
- proxy_temp_path /home/cache/temp;+ l9 E5 V1 K: x
- # 配置临时目录
' W# K- R- {, u5 P1 C - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;" ? e$ w% ^( Z1 u6 _! \6 M% u7 k" Y
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
0 b6 `0 x6 I' F2 ^4 f8 t* J
1 ]$ ?8 U. K9 |2 h {1 l" X- mkdir /home/cache/path -p
, \5 a' A4 B6 v, R m - mkdir /home/cache/temp
' r* b9 H# X: \+ O# s4 m0 T6 ` - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限0 H2 @' Q" x3 E C5 `
" X9 k: f6 C& ~
& E& e" ^' T9 |5 I4 d1 [先创建一个“www.wdidc.net”虚拟主机$ o7 \# ], y1 J1 D, a
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
7 c% M$ Y) [% B7 n# y; u# p% J/ n; b" M0 M3 @, [
删除之前系统生成的代码,填入以下代码,注意修改网址。4 P' w4 m9 }1 Y- l
- server
' b4 _2 t$ x" n* i/ D4 R L - {
2 p0 n& l" s' l' z! ?* J6 M/ D @% C - listen 80;7 r) Z! ^* P5 m% ]0 |' J; I% t
- server_name www.wdidc.net;
" e# Y) ?! D. J) u% J8 G# ^/ H5 [/ X - ! ]: P- H3 r A! T" ]) x
- location / {
& e5 w% I! n9 N. V+ g+ ? - proxy_cache cache;
# Q( C" l8 L5 Z7 b5 a& A2 V) b - proxy_cache_valid 200 304 7d;
, v; z( T1 D8 @' J/ a - #200 304状态缓存7天,按实际情况修改8 B0 e1 [4 m5 t: d1 L
- #其他状态缓存(如502 404)10秒* L2 z! L' f; M* h! N
- proxy_cache_valid any 10s;
0 b6 R6 g }7 M/ f - proxy_cache_key "$scheme$host$request_uri";
+ c* u, Z5 G/ S. H; C4 } - #缓存key规则,用于自动清除缓存。5 g$ }/ U2 c" y3 [) I
- proxy_pass https://bbs.wdidc.net/;
* U* }+ }, A/ c0 |- w& Y - proxy_redirect off;
2 a* A8 u2 ?: M, ^ - proxy_set_header X-Real-IP $remote_addr;
$ _: n7 x( {0 r - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
9 m: m/ |/ n$ [ - #向后端传递访客ip; r, a' l3 D" \# s J
- #limit_conn one 20;9 F; d7 d2 e* b( }8 }' R
- #limit_rate 200k;
$ N' u( U) J9 b+ Q" C' d& o - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#5 ~4 {$ h9 r: _4 c1 ~
- }
& @! v1 w6 K5 V1 k7 v: C - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
. X0 u. T, O+ o, y% Y
0 H' [9 P6 f1 m& H5 V- /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”表示正常,若有错误请根据错误提示排除问题。
. q2 t7 m4 ^' p' {- T3 V1 i
0 b; O) T7 X( h6 |1 u重启nginx0 `5 {9 U7 O* V9 s" _) S
8 V# d+ d- z3 O$ _" x
! w' L# u! x4 S$ Y, p9 ^( N9 m! U
# G, h3 m3 N& `! B4 b
a- H) R+ S U/ s# q; W9 w8 l0 M& J |