Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。! r) O- L) l6 v! z$ I9 N3 [
% K) i. f+ `/ c( `+ ]4 D1 R
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
, ~3 `% V/ w. a1 r9 c8 l- client_body_buffer_size 512k; n* r; M2 G8 t! j
- proxy_connect_timeout 5;0 G( H5 Q0 Q1 M' ]
- proxy_read_timeout 60;; @* I( K$ q4 }) x3 h+ T
- proxy_send_timeout 5;
5 C' D/ j8 l) B! z+ j4 V9 c7 c3 @ - proxy_buffer_size 16k; i: R+ ~: n9 q _' L+ V
- proxy_buffers 4 64k;
E- C. A9 x V, G) j" }1 O - proxy_busy_buffers_size 128k;9 F- D% f1 v$ G/ _
- proxy_temp_file_write_size 128k;* P: p" \* Y! ]: m0 ~
- proxy_temp_path /home/cache/temp;
& c# o; u- S( b+ N# \& } - # 配置临时目录
6 l% }) ~% V+ J, V% d4 e7 e: w - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;9 j- Z- U+ `* G- J( m% Z/ t- q
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
5 S; u: }0 |& |- j1 t, ^2 _2 |) n) Y2 n8 Z$ Q
- mkdir /home/cache/path -p% @4 d3 R' G5 W( h
- mkdir /home/cache/temp' k, z5 H5 J6 {
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限2 T) }, I" M+ t# F( \/ r% R( h
8 [0 e+ P) E0 v
, T% B: R* N* n# ~+ ?
先创建一个“www.wdidc.net”虚拟主机
- E, Z5 E+ z! r6 g' N- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。1 z- a& L- C0 R. C( ? `$ E: Q5 i
8 _7 U! I, ]# m. M: `删除之前系统生成的代码,填入以下代码,注意修改网址。
; g# ]2 R; x+ F- o9 o( Z: ?- server9 |# ]3 s7 x) E! ~
- {
. T9 W, g: V. W1 |% z. { - listen 80;7 K6 ~: l+ E4 Q! p$ J
- server_name www.wdidc.net;2 V; [" F- V: r: [2 Y
' G& \. c( C9 N9 e% r; s9 o- location / {; H$ c1 e, |( V+ M: z" k
- proxy_cache cache;
$ b3 y% k* J& X# T8 T+ b6 ] - proxy_cache_valid 200 304 7d;
' ~7 K' C" r! y - #200 304状态缓存7天,按实际情况修改
# b8 k) m8 d9 s* {4 S - #其他状态缓存(如502 404)10秒
+ Z! J8 u) F( r - proxy_cache_valid any 10s;
/ `- B" G u3 a4 v# n+ L( I" A - proxy_cache_key "$scheme$host$request_uri";
( x$ x- C' E% {8 o5 N- P) E - #缓存key规则,用于自动清除缓存。
+ a5 K* B/ ?- j c: @ - proxy_pass https://bbs.wdidc.net/;
/ K6 q+ ]+ j- i! r - proxy_redirect off;
3 b2 P8 |" T0 j3 H. ]/ [: t - proxy_set_header X-Real-IP $remote_addr;8 G! S4 j M* T
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;7 x( a9 ?- v( L3 h# L
- #向后端传递访客ip, X7 _4 @5 e, x1 p$ c: M& {
- #limit_conn one 20;" A4 \3 Y$ B+ r3 I2 A0 p7 S4 b
- #limit_rate 200k;
* x% C2 _ C/ k5 \( M - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#& s4 Y2 H3 h: B
- }
+ X3 v% U+ g0 S" Q2 D' \! g - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。/ t1 v& B9 a' A" | i' E3 r) d
- C; x, m7 x7 n: y9 {
- /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 R( ?" f8 }3 U- y
' g' U0 m+ s0 T2 |重启nginx# h) F9 h1 n4 S
: n+ D+ ^, @( T/ m. x8 Z9 _9 b9 S
/ X2 z; r& \4 P% Z9 B# U" x+ [) j% Z( y2 U ]! G& t; X
~, c3 i5 `9 k7 \ |