Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
# l' z2 @$ k( y! C: D
* I, I6 _) k: M: y* X+ x- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则 d1 u1 B5 ~( f: g7 v- Z/ {1 T
- client_body_buffer_size 512k;
* |3 d0 T/ Z5 l C. Z5 h - proxy_connect_timeout 5;* V: o- f0 C2 ^" n' g0 Z {; E% n
- proxy_read_timeout 60;
! V# @/ B, R" j2 H: Q+ K - proxy_send_timeout 5;2 R8 P0 n {' r3 x$ V
- proxy_buffer_size 16k;+ h4 o4 D0 A! {. X. t
- proxy_buffers 4 64k;1 e2 n4 B5 C9 L; V' B- ]) E- c
- proxy_busy_buffers_size 128k;
2 } e3 f1 M# h& g) x - proxy_temp_file_write_size 128k;/ S( S, J3 w( O/ g' F
- proxy_temp_path /home/cache/temp;
9 X: }) I. I& S# K5 j! j, Q2 E - # 配置临时目录
0 B0 ^6 w) i( l4 \8 ~ - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m; y2 S; n. ~5 n) |- \: n1 }: i
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
7 b F( M8 w; S* ]$ y2 ]! I$ R& l9 p/ J& K: Y
- mkdir /home/cache/path -p
0 j0 H! C) K% c' M5 H9 r - mkdir /home/cache/temp
3 n6 q) T$ d4 n" d8 ?) h% \ - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限, O$ J! Q5 S' [
; W% @- }2 \* w1 u1 E( ^* I
: f5 x7 L- P& I5 O先创建一个“www.wdidc.net”虚拟主机% l7 u: P# X+ f1 b# H
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。: w6 D' }7 R2 B& w" g
/ J! j- }7 r8 v7 [. C6 }- I删除之前系统生成的代码,填入以下代码,注意修改网址。' a6 Z! e$ |; L! {0 ]
- server
9 `) U$ B; E) X! `# n - {. o1 a" ]3 V: L
- listen 80;
) g. n; B3 G% s' u6 X - server_name www.wdidc.net;
. D& ^# p) O5 \, n) s
; W6 V0 ?. O, |4 i5 s- location / {
5 V4 H" b: H$ \" B$ r% N - proxy_cache cache;2 {( a6 |! f t. `% {
- proxy_cache_valid 200 304 7d;1 h7 ?4 M$ x0 N
- #200 304状态缓存7天,按实际情况修改; C: e/ b6 w- p9 W* v
- #其他状态缓存(如502 404)10秒9 _0 C" c5 ?" _. ^
- proxy_cache_valid any 10s;
# h* o/ j4 t, c* W - proxy_cache_key "$scheme$host$request_uri";
% w6 W: w6 {; u3 x/ M6 i2 a - #缓存key规则,用于自动清除缓存。: Z- a9 g$ p) q2 x% G' Z1 E
- proxy_pass https://bbs.wdidc.net/;( c* W, Z; [- T9 X- Y
- proxy_redirect off;9 f" r2 I2 w' ^$ i7 O
- proxy_set_header X-Real-IP $remote_addr;
: P* ~1 S( `% t$ q - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
/ ^% M; c y6 `; \ - #向后端传递访客ip( O v5 q N* z8 x, B0 m6 X
- #limit_conn one 20;+ ^( L2 x+ U) B3 K; z( l
- #limit_rate 200k;, b+ z. E5 i" H# d9 Y
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#; M7 x& v! F1 v3 u
- }
2 {0 x( `4 E* i% q4 e - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
+ g& u- J- i7 A1 ?2 a/ Q5 Q) Z( f* g. Y7 c/ n" F' j7 E4 H# q
- /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 C/ z' C5 G5 x% L1 I) K! D0 _9 M$ F2 e* V9 `# M
重启nginx
3 ~3 a0 l! F# L3 S0 c( P6 W+ p2 o1 x
6 E" {0 r7 ^$ t5 H1 J1 J( _8 r. t) o
! Z s6 t2 X% \& Q- h! X |