Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
6 |0 i, Y& j) P$ }$ U T1 B9 w# B, P3 [& c% U" q! a: K
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则4 d+ G; L! G4 x, A0 t
- client_body_buffer_size 512k;
2 u m# p# I! | - proxy_connect_timeout 5;
0 [: [# O& } e$ y - proxy_read_timeout 60;1 }, q0 E7 Q7 q3 M5 @
- proxy_send_timeout 5;$ K( {. L" k& W# k* Q" A( s3 H
- proxy_buffer_size 16k; c0 j1 h* d4 n0 `" F( V$ ]4 H
- proxy_buffers 4 64k;/ _8 s/ H: q1 N4 ^3 P5 V* I2 R* A
- proxy_busy_buffers_size 128k;( d* T4 L* H5 T( D6 ?9 s, R' q- I
- proxy_temp_file_write_size 128k;8 b5 [8 L G) C
- proxy_temp_path /home/cache/temp;0 n! c5 x3 I, d9 p3 h. K
- # 配置临时目录' x9 D5 j) n* B: o
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;" _/ K5 c7 B* g( _1 B0 |5 Q
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
, {: A+ y; A( [) g3 z* B
) K; \& { |% B- mkdir /home/cache/path -p
& q1 m/ G. [; |' q, D. F; e - mkdir /home/cache/temp
( h* a1 d# G7 `# E - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限. T& t+ }0 l3 y) f, f: {
, M) P7 e" F7 J( H8 m
+ p3 H* B! P5 h( J先创建一个“www.wdidc.net”虚拟主机
6 Z8 ^) z, ` H h( i- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
% k- N7 v& s6 q; |& _
6 q3 e' k9 s% V1 n, }删除之前系统生成的代码,填入以下代码,注意修改网址。
7 a# o \. Q- A" }- server* B' R+ c4 p/ m8 I1 I0 {0 E' {: x
- {
, `6 Y2 Z$ Q y% ~ b - listen 80;
. f3 w# ?& @% A# y' }* ~+ i% ?8 c' G - server_name www.wdidc.net;0 l! r+ \8 y8 J- ]9 h- q
U- B3 g8 T8 j b# ?+ h- location / {
$ S: N& ^3 V3 _4 `( Y* a) ]% j - proxy_cache cache;
, y# e( l _' d0 E - proxy_cache_valid 200 304 7d;& H5 D+ v9 O) y6 a
- #200 304状态缓存7天,按实际情况修改
& l. c3 `' h% o4 l) t - #其他状态缓存(如502 404)10秒
% \3 \1 i8 H9 E - proxy_cache_valid any 10s;
. r8 ?4 E- F; t- L! Y3 {3 U2 c9 a - proxy_cache_key "$scheme$host$request_uri";+ \( q/ G* p! D! E3 r4 O5 j1 `
- #缓存key规则,用于自动清除缓存。
* J' x, w4 V/ L5 T- A - proxy_pass https://bbs.wdidc.net/;
2 \" D! I5 D# _3 u - proxy_redirect off;* q/ Y) t8 K. _" d' g- X# Q
- proxy_set_header X-Real-IP $remote_addr;
: W2 y/ r" s: f o - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;9 E. T! a6 H6 P( r5 A
- #向后端传递访客ip
; U5 p: A6 y$ F! Z - #limit_conn one 20;
4 T* f& P" r) d- \! O' I! J) ?; ? - #limit_rate 200k;
0 c! @7 y+ _# V - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#" M5 E# B' W' g
- }
: d W0 e4 ^# A# x% \ - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
6 E K: {8 d/ a) R# D6 t9 P" P; B4 P) M" t2 Z
- /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 a7 c/ Z5 o: N/ V
$ _# f# E. |3 {3 j
重启nginx
G- x$ z. A2 @7 U. Q, ^3 j w. `" Z7 X1 m: X# T( U
& B+ P$ Q- ?, j0 M) f( U% l
0 Q4 l- H! s# N4 U( ~7 e- C0 R1 e) N& E
|