Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
; \! t. r2 E$ r0 J6 \, g5 G" P/ r9 M. [# J/ U- ?; i, R
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则* L( `2 _; B* E8 v x7 T! ?& k
- client_body_buffer_size 512k;
# B t7 \2 T g- L' @ - proxy_connect_timeout 5;
2 x$ Q: R: `3 @ - proxy_read_timeout 60;
; W0 F V) F& Z! V - proxy_send_timeout 5;
$ `' q1 r1 Z% j - proxy_buffer_size 16k;
4 j; b( _: A+ [# Y# R* A g - proxy_buffers 4 64k;, ^4 l4 z2 U \7 ^: w5 S9 L4 b
- proxy_busy_buffers_size 128k;
4 R- B( \" K! E6 E! R( c" m - proxy_temp_file_write_size 128k;
( t, ^& b1 O$ ^% ^' L8 j - proxy_temp_path /home/cache/temp;( H H2 n2 ~1 ?3 \
- # 配置临时目录/ f3 K, g. @5 W- Z" z# ~
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;* f4 }% D( K6 S9 Q6 i% h
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:4 v( |) M1 r, {5 G. B' z, e Q* g
6 U- U" N) A( X" L$ |- mkdir /home/cache/path -p
, m/ ], T- B" J - mkdir /home/cache/temp( o7 O3 @- M9 J* l3 ^ ]: `
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限0 L Q5 k' N3 U7 l
/ G' @' r: G* d, S
) L! F7 _# Y X. l4 T* G6 a. G0 f' o先创建一个“www.wdidc.net”虚拟主机
9 d! t' R/ h3 g$ f l- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
' i w) l: Q2 ]% N: X+ Z) I$ b$ c
' v7 H+ W* c6 M2 F删除之前系统生成的代码,填入以下代码,注意修改网址。
+ h8 ~. w3 B) X7 w- Z( j- server
0 j. ]+ v& g5 R. Z6 o$ b - {
* E- [$ x3 C% S7 I - listen 80;* E' P8 j) c' ~" x
- server_name www.wdidc.net;
0 F9 H8 O, U) t* N( s - - R* S& |0 N3 b/ z% M
- location / {4 h- `% R6 e d
- proxy_cache cache;4 D% K: L9 U; S+ T7 k
- proxy_cache_valid 200 304 7d;9 H, i5 v/ _0 n" o7 G. {
- #200 304状态缓存7天,按实际情况修改
* l. Y8 L# J) X5 i3 `$ O2 x' _- d - #其他状态缓存(如502 404)10秒; u4 {. g8 q; q* l+ s, b, K1 X
- proxy_cache_valid any 10s;
" A/ o: S3 G. b: f" g. B9 R - proxy_cache_key "$scheme$host$request_uri";
8 c! \1 r& E! P# n) U4 ` - #缓存key规则,用于自动清除缓存。
8 h- _( N0 F) v, g, L5 C - proxy_pass https://bbs.wdidc.net/; @8 j3 ], s+ L* V6 z! J
- proxy_redirect off;
! n( E# n" ^0 K, `6 h: c+ | - proxy_set_header X-Real-IP $remote_addr;! t6 T" C# N" W5 p; Z; p; c
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;; q ?/ e) `/ A- T; R. m
- #向后端传递访客ip# _! C/ f5 k0 n
- #limit_conn one 20;0 e O! ~8 N) ~0 u
- #limit_rate 200k;* `1 a, y: A* ]- a% U6 S( M
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
9 O y3 |& q& v( M/ X% I. e5 d$ }+ _ - }
4 `* `; `) I- o. V6 H/ x$ `/ o: i - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。( U2 C5 M0 A+ z5 r% L
8 ?6 a( s% D0 ]
- /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”表示正常,若有错误请根据错误提示排除问题。
$ b4 r" }8 [1 M0 r
( s" J% U1 G+ v; K9 A重启nginx
7 E, k- r. x; j
+ [4 ?, _! ~' {, s7 A, T: |: y; a7 ~: y6 A
; F/ c2 O- T. ^7 a& B5 x
- C2 q! q* I, i, b e8 ~, M
|