声明:本文乃“运维家”原创,转载请注明出处,更多内容请关注公众号“运维家”。
主旨
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代理文件下载完毕。