Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。* h: F0 W) E1 b" B
1 {: K+ B/ g3 E) a5 Z3 h# R
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
- C. D) Z: q- ~* E) B7 G8 _- client_body_buffer_size 512k;! E( V" f7 a( E
- proxy_connect_timeout 5;
2 f8 y$ }7 k, K5 {9 t$ m1 ?1 | - proxy_read_timeout 60;
, B. p+ Q$ g; I- n8 }. ^ - proxy_send_timeout 5;
( h1 m) h, i4 y, j* H - proxy_buffer_size 16k;" [! x8 L6 A% o7 e& L4 K$ {
- proxy_buffers 4 64k;
; n; G3 ]( ?& |, x; q1 A - proxy_busy_buffers_size 128k; z$ g2 k9 Z$ i2 h6 Z
- proxy_temp_file_write_size 128k;
9 I( n1 l: L7 i: g$ m9 ` - proxy_temp_path /home/cache/temp; R# y, N4 n' c
- # 配置临时目录 U1 a, ~( F" Q
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
# x; A" k7 [! L1 o( U. w, s0 v - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:5 A9 m$ D6 |7 s5 L9 L
2 v+ c n/ D1 @0 m) C' {- mkdir /home/cache/path -p% L( s8 N/ \% _: z( h k) W
- mkdir /home/cache/temp' V% K9 Q% S4 W. r! u
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
" g' F" ^( i% N) W' T5 L1 T' i, D- `" c0 ~, @' }3 U3 S
- V% I6 S: w9 `7 o7 Q0 A先创建一个“www.wdidc.net”虚拟主机
2 N# E- Z0 k5 p; `3 \9 Y8 N- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。& l' r3 z5 l! [& q
; _: y) A# p" K' z& B2 M. G: R6 ~删除之前系统生成的代码,填入以下代码,注意修改网址。
0 O* J u/ \$ Y- A- server$ O$ V* m6 f, Z$ b$ m# y% @
- {$ q' o# l; W& i! N
- listen 80;
5 h* k# \0 n! P* x U. M2 j - server_name www.wdidc.net;
% b/ S8 H) y$ R" C3 h& v5 }7 Z* d+ b - ; W% e/ Q) t$ l
- location / {/ H- E/ ~; _/ }9 ~- B @
- proxy_cache cache;' j' @9 M4 E# W- E
- proxy_cache_valid 200 304 7d;
3 E g7 k0 O& y/ P - #200 304状态缓存7天,按实际情况修改9 \4 b1 q2 R# r6 `; Q) V9 A. ^* y/ _
- #其他状态缓存(如502 404)10秒. f, `! B6 x0 l
- proxy_cache_valid any 10s;
' _+ [+ [: E+ K1 y i# ~ - proxy_cache_key "$scheme$host$request_uri";
}7 j- U7 S/ a8 ~& }' y2 N - #缓存key规则,用于自动清除缓存。7 w; S$ m+ X3 l; R1 x* u
- proxy_pass https://bbs.wdidc.net/;$ z3 }; P! |/ _% l/ L% o+ j/ ^
- proxy_redirect off;6 ~# ?) a3 K' w+ B# b
- proxy_set_header X-Real-IP $remote_addr;. E1 P1 z# G+ E6 b: Q) m2 N
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;( z; X0 I8 |7 r$ h6 K
- #向后端传递访客ip" p0 C0 a0 Q2 M, ^
- #limit_conn one 20;
1 s- N9 ]/ m- e' r0 k* ? - #limit_rate 200k;
% C' J( w/ Q0 D1 i3 {$ d - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#$ O# n3 u: _* G9 x) _ s3 L
- }
* |0 C9 |$ \0 n7 I' ^ - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
- q/ r6 L$ C& I I1 B' p3 T
! P4 ~. n! l% n' h2 L/ v1 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”表示正常,若有错误请根据错误提示排除问题。
3 b8 r* j8 }; g( v- e% w# R' B0 e, M) v0 O; g+ J. H
重启nginx
: A& |3 B9 e4 p. c7 u8 v2 @3 X2 l2 A
; H* l! j. \& \. M8 }. N2 D9 Q( P
7 H4 R% h7 x" S+ ?$ A6 P
! Z: r; r) g8 K3 Z W, m |