Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。' K/ e+ Q7 U) j- _: C
4 x# z5 Z( _7 y/ {: v- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
) C* _ W$ q. Q9 f( G+ D) Y- client_body_buffer_size 512k;3 O; X$ F$ B8 m: b1 i1 p* b
- proxy_connect_timeout 5;
# S: l7 X1 M: Z; d! D - proxy_read_timeout 60;6 D- N% P8 ~, m* B8 g' e; q# c! o4 [
- proxy_send_timeout 5;
$ \" {2 l: z2 H! b1 ] - proxy_buffer_size 16k;, I1 k+ Z8 x' S7 j
- proxy_buffers 4 64k;, @9 N3 y3 ]0 T; ~& H2 x
- proxy_busy_buffers_size 128k;$ p+ ^; f$ i' G, A! U* a; g+ @$ T# q. C
- proxy_temp_file_write_size 128k;
% @2 m* L: L) J: {3 _* F# g8 j - proxy_temp_path /home/cache/temp;
. R4 C/ v6 g$ k4 P, c* D - # 配置临时目录
9 M/ Q8 i0 ?3 Z h - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
- w1 I* c/ F# N ?5 n6 b& f - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:. w1 ^* m1 r8 m
" m: B: [+ ^: z S6 b& s- mkdir /home/cache/path -p2 Q% b3 r9 O' \" h/ @
- mkdir /home/cache/temp9 P( q6 l* }+ B! i# r
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限2 o6 R" g) Y7 g+ w6 x
8 @: }* a# b' |
% G) c8 ^% f, W6 s# v0 \先创建一个“www.wdidc.net”虚拟主机1 g6 b* q* F# X" N
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。# C- q! U3 Z) V% z
: S/ ?: V5 w& s' i& Y删除之前系统生成的代码,填入以下代码,注意修改网址。
6 F7 g( `$ g' p$ M+ O* r! s) p- server: R0 c+ R q9 w( @# x
- {: L4 ^6 R+ f ~, ]! E% j
- listen 80;
# Z5 s# k. A: _' g8 k0 v9 \7 e - server_name www.wdidc.net;
' `+ w' M4 C8 ~5 l$ A7 r3 o
+ o: U t& F$ q, w' i- location / {
! T5 }* H7 w' f- P: u- w# W( e3 | - proxy_cache cache; a. d+ z: V& _$ `: E7 [! B
- proxy_cache_valid 200 304 7d;+ i. \9 P+ l2 ^0 c( d9 d, g
- #200 304状态缓存7天,按实际情况修改
$ u U$ H- v6 c$ V2 R! J! q - #其他状态缓存(如502 404)10秒5 x* a8 T, ?% p. ^7 G5 g0 p
- proxy_cache_valid any 10s;6 @: A. p: b! s2 g1 w% I4 c8 P$ ]
- proxy_cache_key "$scheme$host$request_uri";
- y& B# y; T' H! U4 |$ l - #缓存key规则,用于自动清除缓存。
- h- V3 B2 ]: R/ r! d' M$ W - proxy_pass https://bbs.wdidc.net/;
8 h q9 \6 o" B, Q6 |5 { - proxy_redirect off;9 @" T7 I% d5 o u
- proxy_set_header X-Real-IP $remote_addr;
) F, R: `: @* o# z) ?# s! U, C! D; q: j - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;- o# ~; d l, `' Y' r
- #向后端传递访客ip6 C( }8 s- b' ]6 m! R
- #limit_conn one 20;
% L7 {/ Z# K, N6 q) B - #limit_rate 200k;; I) p3 J0 K3 s. h; s
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#2 n' a& p. |& J. R0 P$ G* c& m
- }
) l' D( l3 ~' Z- a3 ?' B - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
) a9 S' [" ]! g* e0 d6 P/ b# ^5 E8 i9 }' O/ a5 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”表示正常,若有错误请根据错误提示排除问题。
- q8 Q* \( w# I1 P
6 U/ f( E. K$ _- t P重启nginx( [9 F+ S W( f
' r. z; f9 a7 s$ _/ M( E7 d
8 y. x! N# Q2 a9 a5 T: y$ D j# Z) U( z7 R' ]7 u6 u5 U0 u
' T4 b7 O" w" M4 W% c
|