主旨
nginx服务,现在是最好用的一种代理服务,日常我们代理的一般都是端口转发和流量控制,那么我们如何通过nginx来实现文件下载呢?就是通过nginx服务,通过url来下载文件。
Nginx是一款轻量级的web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。
环境
linux服务器
nginx软件
软件下载
公众号“运维家”后台回复“nginx”,即可获取下载地址。
nginx安装
1、安装编译工具及库文件
[yunweijia@localhost jier]$ sudo yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
?
2、安装 PCRE
[yunweijia@localhost jier]$ cd /usr/local/src/
[yunweijia@localhost src]$ sudo wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz 下载
[yunweijia@localhost src]$ sudo tar xf pcre-8.35.tar.gz # 解压
[yunweijia@localhost src]$ cd pcre-8.35/
[yunweijia@localhost pcre-8.35]$ sudo ./configure # 编译
[yunweijia@localhost pcre-8.35]$ sudo make && make instal # 安装
[yunweijia@localhost pcre-8.35]$ pcre-config --version # 版本查看
8.32
[yunweijia@localhost pcre-8.35]$
3、安装nginx
[yunweijia@localhost jier]$ pwd
/home/yunweijia/jier
[yunweijia@localhost jier]$ ls
nginx-1.14.2.tar.gz
[yunweijia@localhost jier]$ tar xf nginx-1.14.2.tar.gz
[yunweijia@localhost jier]$ cd nginx-1.14.2/
[yunweijia@localhost nginx-1.14.2]$ sudo ./configure --prefix=/home/yunweijia/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
[yunweijia@localhost nginx-1.14.2]$ sudo make && make install
4、配置调整
[yunweijia@localhost nginx-1.14.2]$ cd /home/yunweijia/nginx/
[yunweijia@localhost nginx]$ ls
conf html logs sbin
[yunweijia@localhost nginx]$ vim conf/nginx.conf
# 以下内容是配置文件的第二行进行配置
user root;
# 以下配置是唉server中进行新增
location ~* (.*.txt) { # 代理后缀为txt的
add_header Content-Type "application/octet-stream";
if ( $args ~ ^filename=(.*) ) {
add_header Content-Disposition "attachment; filename=$1";
}
yunweijia /home/yunweijia/txt/; # 在这个目录下
}
5、启动nginx
[yunweijia@localhost nginx]$ sudo ./sbin/nginx -t # 检查配置
nginx: the configuration file /home/yunweijia/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /home/yunweijia/nginx/conf/nginx.conf test is successful
[yunweijia@localhost nginx]$ sudo ./sbin/nginx # 启动
6、验证
在"/home/yunweijia/txt/"中新建文件,测试下载。
下载url为:http://ip地址:端口号/文件名
[yunweijia@localhost nginx]$ mkdir /home/yunweijia/txt/
[yunweijia@localhost nginx]$ cd /home/yunweijia/txt/
[yunweijia@localhost txt]$ ls
[yunweijia@localhost txt]$ echo ceshi > 1.txt
[yunweijia@localhost txt]$ cat 1.txt
ceshi
[yunweijia@localhost txt]$
浏览器输入地址为:
http://192.168.112.130/1.txt
文件下载成功。
至此,用nginx代理文件下载完毕。