前段时间,无聊跟风注册了几个毫无用处的域名,想着不能浪费,刚好有人问到打算做一个下载站,于是开始动手搭建,以后也可以当做图床、在线播放等使用。而且,下载站可用之后,所下载的任何东西,都是直连OneDrive,不会消耗服务器的流量,也不会受到服务器的带宽限制。
本文仅记录本人搭建下载站的过程,需用到的相关程序非本人原创。
前期准备:一台Linux云服务器,一个域名,一个OneDrive账号。
服务器建站环境可以有两种选择,一是安装LNMP,利用LNMP新增网站;二是安装nginx+PHP,手动添加网站。
本文以CentOS 7为例,建议服务器内存512M或以上,下载站域名为gdtv.ml,需要的可在下文替换为自己的域名。
一、利用LNMP新建网站
之前文章有分享如何部署LNMP,在此不再作介绍。
1、在连接服务器后执行:lnmp vhost add
,新增网站gdtv.ml和网站路径,添加SSL等。
2、安装oneindex。执行以下命令:
- cd /home/wwwroot/gdtv
- git clone https://github.com/donwa/oneindex.git
- chmod -R 777 oneindex
3、配置一下nginx,把网站目录设置为:/home/wwwroot/gdtv/oneindex,重启nginx后浏览器访问:https://gdtv.ml,即可进行绑定OneDrive设置。如图:
点击上图的 获取应用ID和机密,登录OneDrive获取ID和密钥后填上去再点下一步。如果此步没有生成密钥,可浏览器访问:https://apps.dev.microsoft.com,进入oneindex程序,点击 生成新密钥。填好ID和密钥后一路点击下一步即可。如图:
4、在云服务器内执行:
crontab -e
添加:
*/10 * * * * php /home/wwwroot/gdtv/oneindex/one.php cache:refresh
设置每10分钟执行一次缓存刷新,至此,下载服务器就可以正常使用了,后台登录初始密码为:oneindex。
5、oneindex的访问地址中,默认是带有一个问号的,例如:https://gdtv.ml/?/music,现在就是设置去掉这个问号。首先,后台登录oneindex,在基本设置选项中,打开去掉/?/的功能选项,然后点击保存,接着选择下面其中一个方法进行设置即可:
方法一:
在服务器终端执行:
vim /usr/local/nginx/conf/vhost/gdtv.ml.conf
在server { }内添加:
location / {
try_files $uri $uri/ /index.php?/$uri;
}
值得注意的是,这样设置去掉网址问号之后,保存在OneDrive的图片就不能访问了,所以还需要注释掉以下信息:
#location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
#{
# expires 30d;
#}
重启nginx即可。
方法二:
源码文档内带有适用于Apache的.htaccess规则文件,可将其转换为Nginx规则,转换后规则为:
if (!-f $request_filename){
set $rule_0 1$rule_0;
}
if (!-d $request_filename){
set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
rewrite ^/(.*)$ /index.php?/$1 last;
}
将其保存为gdtv.ml.htaccess,然后修改gdtv.ml.conf文件添加一行:include gdtv.ml.htaccess;
保存,重启nginx即可。
二、非LNMP环境搭建下载站
1、可以在安装nginx和PHP后,直接手动配置网站gdtv.ml。
- yum -y install epel-release && yum -y update && yum -y install nginx php-fpm php-xml php-mbstring
- cd /usr/share/nginx/html
- git clone https://github.com/donwa/oneindex.git
- chmod -R 777 oneindex
然后配置nginx.conf,修改网站目录以及SSL等信息,加载一下配置信息:nginx -s reload
后浏览器访问网站按上一方法的步骤3-4进行设置即可。
2、也可以利用docker来进行配置。云服务器终端内执行:
- yum install docker-io -y
- systemctl start docker
接着执行:
docker run -d \
-p 80:80 \
--name oneindex \
--restart=always \
-t yinaoxiong/oneindex
然后再浏览器访问网站按上一方法的步骤3-4进行设置即可。
PS:如果有强烈强迫症的同学,不想用原作者的域名中转,那也可以先自己搭建一个域名中转服务器,例如,我自己的中转域名是:https://brake.ml,只要配置以下信息:
然后把oneindex/controller/AdminController.php里面的中转域名改为自己的中转域名即可。
本文章参考于GitHub @donwa。
Safari 604.1.38 | Mac OS X 10_13
上海市 联通漕河泾IDC机房
很不错的分享,博主有统计过月流量吗?
Chrome 70.0.3538.77 | Mac OS X 10_14_1
广东省广州市 盈联宽带
没有统计过,对流量不敏感,随缘。
QQ Browser 10.5.4039.400 | Windows 10
湖南省长沙市 电信
域名中转服务器应该怎么配置呢
Chrome 97.0.4692.71 | Windows 10
辽宁省大连市 电信
祝老板大赚