Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。7 ~5 e$ q) H* {/ ^
" \9 P/ s! [' h1 r$ g
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则: i" j6 j7 q$ ?5 H/ [1 k" U$ n
- client_body_buffer_size 512k;
, j5 l2 K0 U7 G- N" n- Y8 C, x% { - proxy_connect_timeout 5;
% ^- T5 H k& T4 I - proxy_read_timeout 60;
% j/ v4 R, |1 z( z& @ - proxy_send_timeout 5;$ j9 y; {. k4 V% w6 w9 k8 w, M
- proxy_buffer_size 16k;
- K9 Z) S6 V$ x% E! }" T - proxy_buffers 4 64k;# _- W5 ~+ D2 q
- proxy_busy_buffers_size 128k;
; |& ~) [9 D1 c9 g8 D0 q - proxy_temp_file_write_size 128k;/ V; `4 g% h0 m J% @( Y# J+ f
- proxy_temp_path /home/cache/temp;/ ~' k4 i- T& p/ t" V% N) n
- # 配置临时目录
6 u/ K% n* ?4 t2 {7 R - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
0 W2 u) I; ] m9 N, m, v1 i2 v - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容: ^3 v5 l) u5 q; R; Q- A
* ~, X" E' X5 J1 w" u9 c+ I2 K- mkdir /home/cache/path -p V1 B# B8 ^" ?" A
- mkdir /home/cache/temp& G) c, }' _6 v; A9 h6 L5 T- w
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限& W2 K4 D+ I; h, l# D% J# l9 z) \/ W
1 N! {0 y9 i& e! ^8 V4 w# v* w7 F$ s: U1 ~$ t& p/ |% @% r
先创建一个“www.wdidc.net”虚拟主机
* j2 U% m. j( m1 t$ e% F- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。8 V# B* F/ _+ Q7 w/ x5 R: [
8 O4 d/ [ T* {* w# a( q( D8 z' Q
删除之前系统生成的代码,填入以下代码,注意修改网址。
& N7 V4 d, D9 V6 n- server
1 H3 L$ W+ O- }4 l" G6 w+ y+ D% U - {
! C/ w; U0 q* m2 q4 X5 G3 l6 f0 K - listen 80;
& M! r7 O- A: D) o1 g6 y' E - server_name www.wdidc.net;5 Q# q, [# j% Z( Q3 }3 e4 |
- & r7 t9 Y0 T5 I! i
- location / {
1 W: K) C! z; W5 Z+ ^! K - proxy_cache cache;- k0 _: P. D" D. z- a
- proxy_cache_valid 200 304 7d;
6 A$ Z# ^! s) @) a - #200 304状态缓存7天,按实际情况修改
9 B& y$ H! h4 u( ? - #其他状态缓存(如502 404)10秒
T6 \! K) W( b a - proxy_cache_valid any 10s;6 \% P2 B! N* m) a% w
- proxy_cache_key "$scheme$host$request_uri";
& `) T& [- `1 y6 p# N* a& _ - #缓存key规则,用于自动清除缓存。
" o( V" x/ W' H; a# h: J% y. w3 b - proxy_pass https://bbs.wdidc.net/;
" p8 I4 J7 Y" O; W' C$ l - proxy_redirect off;
" j2 d( u& O) P+ y9 w) J - proxy_set_header X-Real-IP $remote_addr;
. }! f, D. x0 r6 V7 T0 j J0 ^ - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
5 H& n4 i) {3 Z1 W% H- i - #向后端传递访客ip
. z; ?% v, O& R, r5 N z) c. r - #limit_conn one 20;# R/ ~7 Q+ h9 }
- #limit_rate 200k;
$ D% O( P6 ~+ J1 Z+ b - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#0 q, t( Z8 D P* P! i! G- H9 w
- }" u! @! ?2 ]* W' A
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
% V2 {2 p7 e" d5 F& @
+ D7 O# b) r* s- /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”表示正常,若有错误请根据错误提示排除问题。
9 R# i' x8 L) u4 \
7 r/ E d/ Q- m% ]) `4 b: ^+ O重启nginx8 c0 G. F- H) u- {
( u7 p d- G& L' {9 L; I7 J
0 o" r; c7 ?* R# |" |. H Y) j+ m
3 e- B6 J: |# _+ h! `: k& T
, F$ Y, `- z4 ~0 W |