Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。% E7 S; x: O- a! ~4 k& V$ ^$ l
6 Y6 G& b1 J7 `; ?$ |- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则) F7 i3 Y9 ^- ^: Q4 i
- client_body_buffer_size 512k;
* K8 ?- T. j5 i0 J - proxy_connect_timeout 5;
/ u2 W8 u |* u+ G I - proxy_read_timeout 60;" }; |) s/ b Y8 b | f( s* a1 |
- proxy_send_timeout 5;
! O4 E N6 b9 L" t( H. s - proxy_buffer_size 16k;/ Q1 t' P q" c2 C1 t( T
- proxy_buffers 4 64k;
$ B C/ c. @- O3 M - proxy_busy_buffers_size 128k;# j* a* \' r5 N2 a- S% c
- proxy_temp_file_write_size 128k;
& K) @# l8 @$ B: E - proxy_temp_path /home/cache/temp;
& k8 |" G J# }& N5 ^ - # 配置临时目录# C' ^) s4 l* D- o, C: G7 y; `
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
" @' L* f3 W: c* G* |, K. | - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
5 h, i- P8 Y0 w% [( d& R
- H3 A7 y9 J- E$ t/ R- mkdir /home/cache/path -p
9 X' f0 v) G5 Z! a' I! P - mkdir /home/cache/temp- ?! {/ Q0 P% z# s3 B7 g
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
4 n* _6 x' U% q2 w8 S! z4 B, P; Z" c, c
$ z& u$ G) K; O! Q2 R$ E
先创建一个“www.wdidc.net”虚拟主机
' o, S# e5 s6 S% N6 l- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。: ^+ I+ z( U# F7 r- s
, r# t! c6 G- K" H, A删除之前系统生成的代码,填入以下代码,注意修改网址。
4 e( R' X. x' t- server
; Q$ _, M* C1 O8 @# @" {& X - {) i) t2 D& V t
- listen 80;
5 W+ s) R6 ]8 M/ K - server_name www.wdidc.net;
+ t2 v/ L% e4 b' A9 ^6 O5 Y" Q
- a0 P* t2 k6 s- location / {
7 w- l$ `1 F) m) ~ - proxy_cache cache;
' C: b2 c% p, I! q# H - proxy_cache_valid 200 304 7d;1 x6 Z& L- ]/ A
- #200 304状态缓存7天,按实际情况修改+ c. Y3 C+ J3 {: c* S& K
- #其他状态缓存(如502 404)10秒* ]* f( X/ F# d) Z6 s* q; n: x$ o
- proxy_cache_valid any 10s;
$ d! E* A, G9 E+ \2 {) a' P - proxy_cache_key "$scheme$host$request_uri";8 I. o) s; o8 d4 n% M
- #缓存key规则,用于自动清除缓存。
% d( e5 q* q2 x: p r- `$ U! ] - proxy_pass https://bbs.wdidc.net/;
& D# E# o2 B( I8 u - proxy_redirect off;* K) M- u- R5 c
- proxy_set_header X-Real-IP $remote_addr;' z% M, D/ m1 k8 \. v9 R7 l# ]$ P
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
8 E9 e6 }+ B. E - #向后端传递访客ip
# _7 v1 s" J8 r w) K* Q& k - #limit_conn one 20;5 H6 j+ @9 B, S3 o& z' b
- #limit_rate 200k;& L% Q! i; a% \: O# ~2 }
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#; a3 Z2 y8 }" S# H; P
- }
% \; _& p0 H K4 X2 x - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
) a' N ?/ i( j9 ~3 C) m: a
8 T% o$ R: D1 u- N; q7 N3 b2 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”表示正常,若有错误请根据错误提示排除问题。
* q8 @' q' S" L6 C0 W1 H8 q1 v1 c% d2 c Y- }3 _
重启nginx7 n, Z* ^1 s; b, u
6 l. D( ~! f0 }/ w6 j) {" \& b+ `0 j8 @: v9 s: M+ Q' W6 ?
* n( [, m3 n& h; W! d
- r1 k6 | b: A3 x3 j, F# o* g5 L |