Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
3 Y, V0 j- z+ l! B0 E- r1 L1 ?- s5 Q
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则" a1 M V; k! z% s
- client_body_buffer_size 512k;
6 ^' n; _- W$ W* ~ - proxy_connect_timeout 5;
7 d/ ^6 I h; `; }% u - proxy_read_timeout 60;
( k1 r+ a% F9 F, r* o - proxy_send_timeout 5;
, T3 O* w$ p! f9 W$ ? - proxy_buffer_size 16k;
% ]& C! e% \* h, w& e2 J, J - proxy_buffers 4 64k;
& u( Q& k4 A+ Q# e - proxy_busy_buffers_size 128k;
/ l2 |3 t/ `- Z - proxy_temp_file_write_size 128k;
5 M ^5 ^% V, ~+ V$ r5 ?0 W+ Y - proxy_temp_path /home/cache/temp;; t) P2 u, V u" M2 x
- # 配置临时目录
5 B5 c, F+ }3 g: m* ] - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
1 @3 ~9 o5 Q. e1 {9 `# r - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:# N/ w6 c. B F0 U' J
/ u5 \ l; J3 {- r/ ^& r* A" N
- mkdir /home/cache/path -p
/ | P' I% P6 v* y - mkdir /home/cache/temp
5 {6 X% @, ?! K. ^. i - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
& k3 H% g0 ]: f8 ^* w+ Y' j7 C* j8 N( p8 T0 k
; j- t& o! e8 a' ~7 K }先创建一个“www.wdidc.net”虚拟主机
; V: ]% i, W+ i( {; P- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
0 l! p3 r7 g. f8 e) f6 t$ L9 Y0 C' ^
删除之前系统生成的代码,填入以下代码,注意修改网址。
) z$ t" a* ]) `) ~5 K8 T- server7 G* l8 e1 y6 q: |; U
- {
( d- w: G6 \% h. G - listen 80; [$ j! ]' `/ z; I5 U
- server_name www.wdidc.net;, Z' A# W1 A( P/ ~! J" i
+ f/ g9 P F0 N( }- location / {
9 q. w9 l/ w* q$ V9 [$ u- @6 h$ d - proxy_cache cache;
* J l' a) K% X5 U' f2 j - proxy_cache_valid 200 304 7d;) |$ D) t* E6 T7 {! {$ ~
- #200 304状态缓存7天,按实际情况修改
% L) R4 q( `- ^3 z% M% X+ ` - #其他状态缓存(如502 404)10秒
0 F) a/ l. C" \ ^( d# _. z - proxy_cache_valid any 10s;" p: |3 J* o/ M! M3 t
- proxy_cache_key "$scheme$host$request_uri";: t! k' p) k1 N% N6 m: S$ Q4 i* V
- #缓存key规则,用于自动清除缓存。" w1 X$ S" [# J' @' V' Z5 n
- proxy_pass https://bbs.wdidc.net/;- P! E" e9 S+ d4 Y, e1 t. @
- proxy_redirect off;
" O! G3 ]& m/ i - proxy_set_header X-Real-IP $remote_addr;0 X5 L1 B+ m w# j* K6 U5 |0 [# V( M
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
4 Y2 J* | a8 ~1 y" r* B - #向后端传递访客ip
% O0 y9 {( X, i1 ?- Z' O& U$ M - #limit_conn one 20;: L& {2 U! o- ^
- #limit_rate 200k;! U: I" G) z0 K
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#* m" l8 o: y' }+ y8 W
- }
9 F* ?" _! \( l0 P - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
% C; H' G5 v; W- ~6 v" C, C8 m2 \# x# O" \
- /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 T* ^- B. O( R; K5 o6 |
* S6 v @8 Q3 |6 E重启nginx8 ]! ~# ~% [& [: A. B
g6 z; N4 d4 ]
% ^( C. l5 Z$ O- p7 S0 N$ J: p* k8 P# k8 p- }
9 e; y- N8 e" s* D! \5 ? |