Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
- V3 U) |9 _4 x% X0 y6 T* Y$ D5 e
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则- V1 l, ?% F$ I& R. L4 l
- client_body_buffer_size 512k;) `- q" \4 R# O/ O) g/ C
- proxy_connect_timeout 5;/ F9 ?7 X7 r1 r) i
- proxy_read_timeout 60;
7 T( I' |+ f# p" } - proxy_send_timeout 5;& J) L$ A- `) K+ L7 K' M3 e9 B
- proxy_buffer_size 16k;
# R8 ` s! K( x n9 g* ]2 Y9 q - proxy_buffers 4 64k;/ ?) Y; n' k) E0 l& O. m" ~
- proxy_busy_buffers_size 128k;+ Q4 y0 `3 a; o# P
- proxy_temp_file_write_size 128k; C! a+ Z, P6 S0 N1 P, X
- proxy_temp_path /home/cache/temp;; M8 B- e% e2 p
- # 配置临时目录) Z) X7 i. T2 Y }8 @4 H
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;, W. P; V' A; z" ]& @
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:6 X/ T# {6 D" [" z. ?
7 z3 [+ S$ K4 ^7 y- mkdir /home/cache/path -p
. w7 V1 i- Z: W6 m0 n" J# W - mkdir /home/cache/temp3 B- x U: ^/ _ k+ }& Z
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
6 j. v$ ~, F9 L( \# ^0 k+ [; V9 N+ b w* V! `
1 m) T9 A* D R3 f ^先创建一个“www.wdidc.net”虚拟主机
4 F( {8 @+ Y, j9 ]; X/ [0 N- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。0 V |! {+ |' _! ~; w [5 ?7 o! L! d
, P7 R0 d6 Y: ]) s) x( ]7 m
删除之前系统生成的代码,填入以下代码,注意修改网址。
6 R- Q- x. \& a) Q H5 f- server
: w% ^& g# \) q( q2 M( U, o6 x J - {
" w' S5 I& |3 F7 E5 G. [( |; \! { e - listen 80;
; Q- }1 K c3 f0 N/ S - server_name www.wdidc.net;
0 f# S* F0 `, p5 F' X
, @% q- t/ s: w0 O% }! H ^, s- location / {
! A& \9 n, ?. B* z - proxy_cache cache;4 g' m1 Q! ^! F- H2 D6 e; I
- proxy_cache_valid 200 304 7d;# |4 U; ]% I& |& W/ w# F
- #200 304状态缓存7天,按实际情况修改
' I7 t4 e8 z4 z7 k5 S5 U2 T. x; R- k - #其他状态缓存(如502 404)10秒$ c7 L/ y. F' |2 G+ S
- proxy_cache_valid any 10s;# F% P) \" U: I9 P3 ?. d, e
- proxy_cache_key "$scheme$host$request_uri";
' ]( |/ J* |& X' X3 O - #缓存key规则,用于自动清除缓存。
+ n- {# d1 c6 y3 z# L m - proxy_pass https://bbs.wdidc.net/;
0 N, b4 B1 t2 ~& l" ~! s - proxy_redirect off;4 u7 b) [7 a9 R+ ]) a
- proxy_set_header X-Real-IP $remote_addr;0 R- T: ?; b# P- h6 M
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;6 C) D. {9 D7 v6 {
- #向后端传递访客ip
( B' y2 u9 C: [ F& z. [ - #limit_conn one 20;
! \! P4 H8 _4 M5 h$ y - #limit_rate 200k;& w- n1 M5 M; m* K1 u) C. ]
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
) Q/ W% N, j2 n5 | - }/ k$ a. Y" _; W4 H7 Q
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
, L6 O j$ ~, c/ n- s2 F2 Q% u! ~/ B
- /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”表示正常,若有错误请根据错误提示排除问题。# o( r& q2 ~! h0 z D: @/ Z
3 W* n: ~9 `* ]4 q0 {$ d重启nginx7 l- }2 I) @2 @- x9 V5 L2 e
. v3 V9 Z7 W) M0 u: L9 x& j+ H p
2 a3 _* B1 U" H/ l( G2 i& H9 y }9 @6 c2 @
|