在vps上使用nginx作为中转下载服务

一些国外的资源,如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

猜你喜欢

转载自www.cnblogs.com/redreampt/p/10847447.html