Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
# K0 u9 z5 Z. Y! x9 }" g- D
! w3 }) t c" R- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
' ]3 ~1 t! `% M8 Y) C1 _0 Q- client_body_buffer_size 512k;: s g4 K+ ]. u( f9 f
- proxy_connect_timeout 5;
) r, w, p- b/ L3 M - proxy_read_timeout 60;
; t5 ?! v8 B2 M i# C - proxy_send_timeout 5;
% K5 y/ |; Z; t0 t2 L# {5 K1 D - proxy_buffer_size 16k;9 Z6 ~5 L1 l3 D6 F
- proxy_buffers 4 64k;5 v1 M* ?' y' b9 }* _! [1 b
- proxy_busy_buffers_size 128k;. t# H) c' y0 f7 F5 V p
- proxy_temp_file_write_size 128k;
+ l, q, h& T* m) O' B0 H - proxy_temp_path /home/cache/temp;# c1 t0 _6 O; b
- # 配置临时目录 f) n& h" V5 F
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m; C; _* s) p9 o8 L3 A9 n" {
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:' I" [# M; r' n. ]
3 \$ S/ |; n: W4 e0 n' V& I; }- mkdir /home/cache/path -p
" N3 w) @+ v- {+ V - mkdir /home/cache/temp
1 t( B% l8 I7 `! R# f - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限 f. ~$ v7 c' B- J8 H/ q( T* t' M
2 E3 K6 `7 B" z" o$ `- x: S! M- m7 \+ N' y7 F0 N
先创建一个“www.wdidc.net”虚拟主机
$ U1 W! V" p7 j! h- E c- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。8 A) B4 q7 b" {& u( ]) A% v8 \1 j
* a+ O' U' @' L7 r! H) S
删除之前系统生成的代码,填入以下代码,注意修改网址。3 q! C. L( c6 c8 L
- server2 \9 F5 b" |5 o3 U) L
- {" z( Z, K" A# g7 @* U" g
- listen 80;
/ q. } n9 l _4 ]9 c - server_name www.wdidc.net;/ A: O @) [- N, [+ K
" ]' O/ B; h% h$ l& C2 q. }& a0 d- location / {8 v! f" T& Z5 j) r1 K9 j2 Z" S* L
- proxy_cache cache;
* r- p; Z! _" Q$ `" t: j, f - proxy_cache_valid 200 304 7d; {" m7 C, { y6 a: @# R4 A
- #200 304状态缓存7天,按实际情况修改- {# l+ E: \8 W7 w7 z% N
- #其他状态缓存(如502 404)10秒
: e" W8 b" @: c4 ]/ u4 D - proxy_cache_valid any 10s;" w W p% U* p# F; V+ N
- proxy_cache_key "$scheme$host$request_uri";) X3 u$ s+ U' j0 T2 I( u* c5 w" E
- #缓存key规则,用于自动清除缓存。- _+ y0 c9 w2 ?2 h; \; Z* G% v; m
- proxy_pass https://bbs.wdidc.net/;
* ?3 a$ M- h0 H6 W4 K7 `! g; f6 M - proxy_redirect off;1 P* m8 f4 P9 e% {. S* |
- proxy_set_header X-Real-IP $remote_addr;
3 T& c7 b4 M! C. v - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;7 \: o: ]) R; l! b$ g: g
- #向后端传递访客ip
9 L$ n2 p3 l' n0 _3 O* L2 }+ a - #limit_conn one 20;" v0 f1 B4 _8 z( y, z+ v
- #limit_rate 200k;! y# c/ e) f" U' E
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#, N5 O% Z9 b2 \/ y
- }
: ]! @5 I0 J+ F: B) |% q - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
3 F+ d" J' ^6 c! ^2 Y$ t7 S
: F2 f8 \. N0 R& t- [: p; K3 M3 @- /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”表示正常,若有错误请根据错误提示排除问题。
8 R9 P* H' Q4 c: _# w) M
6 y- L$ d# O9 c重启nginx/ n1 a- a. n$ W4 f% K
$ J% U$ N2 N4 G- o/ d6 h/ M2 o7 F" C" [! E# i# r0 }
, e+ g/ s: t T* V) m* V* l# J
# F q; V' T0 F5 e. \3 t8 y& A |