Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。0 _, i: K1 h9 X0 x# W
: v, x; h7 L& U( ]. ]& ` X
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
" I8 u, s# K& X- client_body_buffer_size 512k;
+ D0 U* t( s v - proxy_connect_timeout 5;
& _2 b/ _8 D3 k: f2 w6 j - proxy_read_timeout 60;$ O6 u& v! C* s6 z+ ]3 K! ~$ b% f: Y
- proxy_send_timeout 5;8 S# P6 q! J+ l$ G# o) a" {
- proxy_buffer_size 16k;
u% J: W7 z' ` - proxy_buffers 4 64k;
+ p4 H# m" l5 b$ X/ o' y - proxy_busy_buffers_size 128k;
' ^3 Y+ l3 [; a - proxy_temp_file_write_size 128k;
) H N7 U. P$ R$ x - proxy_temp_path /home/cache/temp;
7 P+ F3 `! b5 {! H - # 配置临时目录
5 L* S# E7 e5 `1 r( A - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
, L$ u' s: ~' e( y& f* S1 M - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
M; F2 ~8 R: n2 q( Y; |9 @5 P3 }/ q1 e* y4 A9 S% `) _! |
- mkdir /home/cache/path -p
& Z2 N C5 r+ \; n* l. \* J - mkdir /home/cache/temp" z' A5 L' q, I$ j+ {
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限5 n6 N0 R% V% `+ s
+ E% z2 _5 j6 b8 i4 U3 j' Y% @
) C/ V6 u# `' _6 G8 W/ h5 ?4 R
先创建一个“www.wdidc.net”虚拟主机
- K0 B1 Q- h' N3 i- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
# n: A" D! {$ d
: f# s0 p& G' Y% K' ?2 A, h删除之前系统生成的代码,填入以下代码,注意修改网址。: M5 z* e! C; L, q2 J! N
- server
J T+ Y: D" k1 U6 S - {
. f: Z4 J& H1 x( Q- e4 U - listen 80;* c3 j7 T6 {* Y1 q
- server_name www.wdidc.net;
, D& F2 y) f0 a' j: e8 H
/ k/ w! n) e$ B) X$ w9 b0 J# [- location / {
9 i; S2 j; v9 Q1 [ - proxy_cache cache;, I) L: u8 o5 W- M1 B* q |
- proxy_cache_valid 200 304 7d;
/ k7 R# K! y) i+ c. A0 ~: z' M - #200 304状态缓存7天,按实际情况修改
3 r& \8 D. y! y, T+ q - #其他状态缓存(如502 404)10秒
5 e- n$ u) _# Q+ X - proxy_cache_valid any 10s;
1 z$ q& M. I( b. T: L& O - proxy_cache_key "$scheme$host$request_uri";
! ]5 X, s7 u H3 C9 R* i - #缓存key规则,用于自动清除缓存。; V4 ~* V; p- y* m6 @4 |0 M; b
- proxy_pass https://bbs.wdidc.net/;$ f- f5 [. E* W5 _- A- ~
- proxy_redirect off;
' d! P& {2 I, c - proxy_set_header X-Real-IP $remote_addr;
- W- z) a# D! y) X* s( M6 ]' r - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;5 E0 s2 E- U6 `4 c8 `6 J' a6 b
- #向后端传递访客ip
* }8 {& l/ {$ V6 ]) j# U2 ? - #limit_conn one 20; P' M( O' j2 V* {
- #limit_rate 200k;
% R1 N, _" k/ V6 _& L8 u - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
" `" R% {4 P6 m1 L8 h- y- n - }
! H. k# c! \7 W' A. l1 c* w( O - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
; _0 x9 k( ^; |4 v8 [+ U) A3 h% ]4 u6 ]; z/ Y" Y3 p
- /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”表示正常,若有错误请根据错误提示排除问题。0 w+ a t9 [& w# ^
( } ^ F! h% k1 w. O重启nginx8 m6 I) M( B/ O+ g$ |1 ^ v" x
, @, ?) {# P8 A
7 w" c% e4 q' w7 q
, Y& _2 R/ |- Z- h- S- e. d) Z
1 x* V' S) l- R& C5 i3 A# o8 s5 B |