Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
/ m* m3 y* L2 v3 s0 r E8 X' g# `: S/ I8 V/ ~- O
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则' d& W5 O' S) |! R
- client_body_buffer_size 512k;' j% e$ |# {5 \3 C0 s8 }
- proxy_connect_timeout 5;: ?! j- r7 {% @5 i
- proxy_read_timeout 60;
5 A. {) s g8 U& G! m - proxy_send_timeout 5;
' o: G9 b; k) g/ `* a5 v - proxy_buffer_size 16k;
$ U+ E; M" k) O7 V9 X! C& l - proxy_buffers 4 64k;
, V3 U4 j0 C' x- v/ E4 b% R - proxy_busy_buffers_size 128k;
1 _- a2 H. e; M5 F+ k7 @: x& p9 O6 s - proxy_temp_file_write_size 128k;
4 y& _) S u7 \' k+ l! d9 s - proxy_temp_path /home/cache/temp;3 A9 X/ v1 G. U. Z# c U
- # 配置临时目录2 D) A# s0 u0 e# X- H0 p- ^. b
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;1 c& f3 Q% X: e7 l8 @( w
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:4 ]& }# A+ h* w. |& ]# I
4 `4 s/ A" z+ [3 x k. I& z- mkdir /home/cache/path -p
+ R7 q( l5 H9 ~, S% z+ N - mkdir /home/cache/temp
& ]* L( B8 a* ]6 p - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
" u9 {* n* L" X% s( F- d5 K. O0 G" ?9 Z5 D1 w
( z* ~0 l( v. Y9 ^, ~. ?- ]
先创建一个“www.wdidc.net”虚拟主机5 R; T9 ?, `. W2 i ]5 ?) L4 d
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。; q( i3 G* B! ]: a; K7 |
& q% u2 J6 W& W8 R( h' `
删除之前系统生成的代码,填入以下代码,注意修改网址。
! w k& V2 u" E6 X- server( ?& O( \, T& {* i5 W M
- {% o+ L; A: [4 c$ d
- listen 80;8 q. m7 ^; D2 W. v! d
- server_name www.wdidc.net;% [. I* j6 M+ G
- 4 I. _5 X; y- L6 [; Z3 C# m
- location / {
" {: E- p$ Q- N% x - proxy_cache cache;
& \4 `. T7 |+ \ - proxy_cache_valid 200 304 7d;2 d$ p m1 ^8 e
- #200 304状态缓存7天,按实际情况修改! S" C6 [$ m$ m7 i& J3 o
- #其他状态缓存(如502 404)10秒
" c' L% E* H0 O, y2 o. y9 w( [3 B) B - proxy_cache_valid any 10s;( o) [2 l1 I( s D( y
- proxy_cache_key "$scheme$host$request_uri";
( f) R( p3 x7 ~, ] - #缓存key规则,用于自动清除缓存。
. s* w5 \2 e7 Q6 h - proxy_pass https://bbs.wdidc.net/;$ ^1 [: J% [4 A; q: U! V
- proxy_redirect off;
$ \9 v+ O+ J: K, z - proxy_set_header X-Real-IP $remote_addr;
) f4 q: l, w* X/ a7 e5 P" V - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;+ Y3 I f% d4 H3 k6 C
- #向后端传递访客ip
+ G* p; }/ S; u) n& E2 @ - #limit_conn one 20;; N9 b8 b; m, _$ Z( k r+ U4 H8 [, h' V
- #limit_rate 200k;
" E3 S/ I1 e4 i. v" m$ y; B& o - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
. |$ l9 c0 W% Q- E# @3 N- d: A# F% ?' q( i - }, {6 V. d+ I8 j9 p! f5 |/ I1 d
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。% E/ v H3 | A
3 c: g1 [" Y$ U, w `8 F
- /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”表示正常,若有错误请根据错误提示排除问题。
6 v. G7 ]4 y/ e# S- M
& v' L) Q: q" b7 q& }重启nginx9 @5 |. p8 H/ {3 W
0 J1 D4 n8 L( x' @: J+ J# G9 `; E1 C! _0 N: c: R' B
2 P$ M4 [9 l5 A4 _. ^
0 r* w- L/ z1 |6 w |