Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
! V8 p: r5 D+ f7 f5 ` M+ O, H: ~+ I5 _
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
% O# X9 [6 {# x3 ]* Q2 @( `1 x- client_body_buffer_size 512k;2 @7 R$ q* @7 P5 E; Y' [) d+ X4 M$ t
- proxy_connect_timeout 5;
0 d! E t+ i, y0 r" \ - proxy_read_timeout 60;+ S0 k4 b) l7 e. ^$ A
- proxy_send_timeout 5;
/ \8 p% R4 R& W3 M' I - proxy_buffer_size 16k;, W* E3 |3 V: k
- proxy_buffers 4 64k;8 b3 S" n D5 W* o
- proxy_busy_buffers_size 128k;
/ E0 l4 e6 }0 G1 ` - proxy_temp_file_write_size 128k;3 d8 g7 z' n8 |' @
- proxy_temp_path /home/cache/temp;# s& U# E1 l7 v5 [. d1 g% X5 ~5 E
- # 配置临时目录
: N" ~+ x9 O6 V - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;. Q' q2 m# O" n: Z( Y" S
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
% `& H2 d7 ~4 D* o
: }7 v0 d7 d5 f% G0 {+ T8 p! u- mkdir /home/cache/path -p2 H: T" j8 F: O
- mkdir /home/cache/temp2 O7 t# D6 \1 l, A- E" z
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限" J C' M; ]7 ?3 ?
8 x6 v2 |& ^! `
. w1 o+ ^, N, m
先创建一个“www.wdidc.net”虚拟主机7 }/ e2 f6 A! ]+ H G
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
" }1 D( M- Q( R! `- @# p1 {' o5 _5 R5 |0 {& o
删除之前系统生成的代码,填入以下代码,注意修改网址。4 f* a4 j* o W
- server" b9 M8 w: o2 s, ?: W1 N" k4 G
- {
) t( k( D4 e/ B2 t - listen 80;, O6 O6 B9 b( r- C# V+ K
- server_name www.wdidc.net;1 ?7 o% X) i& K9 `- k7 O
0 U3 b/ h F& |7 E- S Q1 W- location / {6 B4 E* d I' n1 Y' X8 X
- proxy_cache cache;3 h1 E/ d! J: ]' R: i6 u% v( Y2 R' I
- proxy_cache_valid 200 304 7d;6 d9 } R- u, u8 c, i3 Y* {
- #200 304状态缓存7天,按实际情况修改$ K# [6 K2 X) _% U
- #其他状态缓存(如502 404)10秒# V* X/ J; B u' `9 b; o
- proxy_cache_valid any 10s;( s1 W3 y8 u8 n8 Z
- proxy_cache_key "$scheme$host$request_uri";
7 M2 C% F; C- y - #缓存key规则,用于自动清除缓存。8 F# R" ` Q, X3 P5 M$ E- Z. W5 q
- proxy_pass https://bbs.wdidc.net/;/ `2 u( B! k" g
- proxy_redirect off;
+ Q+ q+ F* e g1 B - proxy_set_header X-Real-IP $remote_addr;
" e8 B! ~4 W$ b5 M8 [6 {9 R - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
: [) u7 }5 q! ^+ T. v" L; B5 Y/ m - #向后端传递访客ip7 h: J0 J6 D, K5 N- F& `
- #limit_conn one 20;
' Q+ E9 x0 U+ _" k - #limit_rate 200k;
0 D5 L6 e \9 N3 T. n - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#' F+ x, i" i2 s! i4 B. ?2 i
- }% j; }: b* {$ e2 u: P
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
2 S `- r' H* j( c: F. @. _7 v6 W& v' [
: b1 R2 k2 r& H! m$ R" e5 ?- /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”表示正常,若有错误请根据错误提示排除问题。& J2 A* y6 Z- `! {- y$ u
; k5 n0 F+ H: D* g$ X5 c
重启nginx; |. s) U0 F* q6 h& J* v* ^, o
. J0 v2 d) x0 m- G* x7 X- ^( C4 g( r' |+ I8 } G$ E+ ]1 _: ?" o6 g; H
5 d/ F4 o+ n* Y6 V. R3 l- V
) ~$ T) @ d( z2 N* _+ ` |