Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
% I( w( }3 [% {. a4 h% v2 E) J i& ]# o2 j
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
0 m$ U& y P8 f, n- client_body_buffer_size 512k;
2 s7 Z" F( J5 x2 D/ G) b& L3 F" U - proxy_connect_timeout 5;
. z4 _( @% G/ V - proxy_read_timeout 60;+ }0 u; b) b; D& ` {
- proxy_send_timeout 5;) \. B/ N. F1 s
- proxy_buffer_size 16k;- \& G9 k' _7 c; r1 l
- proxy_buffers 4 64k;
3 H; j3 s8 W9 O - proxy_busy_buffers_size 128k;# ?& ~) c0 j T
- proxy_temp_file_write_size 128k;
! z, }& M4 |: e- z: q: Z' ]/ X - proxy_temp_path /home/cache/temp;' L }, c/ N: Y0 ?1 l1 W9 Q7 e& [
- # 配置临时目录% X) b2 x# \3 M3 t( \
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
9 C$ U2 p1 W0 P- n4 C d5 \ - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
. ]5 b& n$ |( ~) K3 s$ X5 s2 o) [( ? v
- mkdir /home/cache/path -p
* d; _) g5 N+ I1 ]2 z - mkdir /home/cache/temp
8 j% U# [- B0 ?7 l - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限6 S# x' H2 A) `' F3 s% e$ n
( s. e# `+ C: s& W2 L1 N! q1 w$ G" G+ `9 `* u& h' d* @
先创建一个“www.wdidc.net”虚拟主机# H8 d0 `3 j4 [1 I" r3 u
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
4 ~9 r$ h1 w/ }6 [" j
4 Q* D' q1 D+ i& Q; }/ k7 e0 K删除之前系统生成的代码,填入以下代码,注意修改网址。
+ I4 t- ? h, P- server% B' }+ N, Q- ~$ o$ j
- {
9 B- {6 C, O* X$ S \ - listen 80;
! V j7 C/ G p. N - server_name www.wdidc.net;
! ^# n- Q2 Q1 K% t8 s; }7 Y - 3 M% x$ h7 t. N5 _" X
- location / {
% J% V- o7 |5 ] - proxy_cache cache;
1 N- E2 d5 I* x) X2 E H! n# Y2 F& l- z - proxy_cache_valid 200 304 7d;- w+ G/ J7 b( \
- #200 304状态缓存7天,按实际情况修改
. e: }" ?. Z6 Q% ~. p - #其他状态缓存(如502 404)10秒
' {* l; W" J1 v$ n+ a - proxy_cache_valid any 10s;/ W0 C3 C& f8 ~& _
- proxy_cache_key "$scheme$host$request_uri";
( f3 y% w8 I* u3 z6 B: l U9 u - #缓存key规则,用于自动清除缓存。
; j8 z9 u# n, Z - proxy_pass https://bbs.wdidc.net/;
' K" o) G n* F9 e - proxy_redirect off;; R- x8 d( L) r7 c# v* M: i$ E
- proxy_set_header X-Real-IP $remote_addr;
B5 x; I+ @) |1 O - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;, g% L4 v5 O5 v
- #向后端传递访客ip3 [2 Q# m1 Q8 l, S0 F
- #limit_conn one 20;+ m9 U. |6 Q- B1 O/ b6 s7 d/ m
- #limit_rate 200k;
: N0 X* J+ F+ x z7 l. C, B# g/ k - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
1 _0 Y5 R. v! P( ^( d2 M - }% ~/ |6 l8 A. ~& y% m5 Y
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。, I# ]9 Q% O. f, r4 L
) h" ~5 V* r- p4 M- /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”表示正常,若有错误请根据错误提示排除问题。4 i1 E& U' Z- E3 v) c% `
% x; D% o/ Y3 Y8 @% a4 {
重启nginx
5 F4 q A" P2 O& b- i. t" \& M" z. w! g- j8 ~
W/ `4 _5 M6 z5 |* s5 b" c
" Z* |" N. c2 A' j4 h9 t5 g( ^8 u, h9 a" P; {& J2 _4 C* ]
|