一些国外的资源,如Github上面的项目,无论是直接下载还是通过代理下载速度都很慢,需要在vps上下载完成后,再下载到本机上。可以使用nginx提供文件下载服务。
安装nginx
nginx是一个轻量级的web服务器,存在发行包,或使用源码编译,由于nginx支持强大的可选模块,通常使用源码编译。
以nginx1.14.2版本,ubuntu16.04为例:
下载并解压源码:
# 这里所使用的工作路径为/root
wget http://nginx.org/download/nginx-1.14.2.tar.gz&&tar -xzvf nginx-1.14.2.tar.gz
安装编译环境。build-essential是debian环境下的集成编译环境,包含make,gcc等编译必备的依赖项。
apt install build-essential -y
下载基本依赖。这里并未提供https支持,是因为个人实践过程中发现富强所用的vps当添加https进行编译时,由于是共享CPU,编译耗时很久而且容易崩溃,因此选择了放弃。
如果需要可以参考末尾编译链接2。因此这需要我们手动校验文件的摘要,或是PGP签名,因为我习惯即使是https下载的文件也进行校验,因此这一点对我影响不大。
wget https://ftp.pcre.org/pub/pcre/pcre-8.40.tar.gz && tar xzvf pcre-8.40.tar.gz
wget http://www.zlib.net/zlib-1.2.11.tar.gz && tar xzvf zlib-1.2.11.tar.gz
执行编译:
cd nginx-1.14.2
./configure \
--with-pcre=../pcre-8.40 \
--with-zlib=../zlib-1.2.11 \
运行nginx
可以添加为系统服务,参考末尾编译链接2,我这里只是简单的运行:
/usr/local/nginx/sbin/nginx
配置nginx添加静态资源服务
创建下载资源的文件夹:
mkdir -p /data/downloads
修改配置文件/usr/local/nginx/conf/nginx.conf
,在默认server中添加:
location /downloads/ {
root /data;
}
重启nginx:
/usr/local/nginx/sbin/nginx -s reload
下载示例
如想要下载github上面的一个项目,首先在vps上面下载:
cd /data/downolads
git clone xxxx
压缩:
tar -czf xxxx.tar.gz xxxx
使用浏览器或下载工具下载:
http://xxx.xxx.xxx.xxx/downloads/xxxx.tar.gz
清理文件:
rm -r xxxx*
参考:
编译:http://nginx.org/en/docs/configure.html
编译:https://www.vultr.com/docs/how-to-compile-nginx-from-source-on-ubuntu-16-04
配置:http://nginx.org/en/docs/beginners_guide.html#static