2018年10月8日17:26:50 更新:谢谢评论区大佬提供域名绑定方法。
前天博主介绍了OneIndex的一个部署教程。今天偶尔看见有大佬分享了一篇利用now.sh来免费部署OneIndex的文章!觉得非常不错。对于一些不想花钱买服务器,虚机的网友来说也是一种福利了!
本文核心内容参考自@欧阳松的博客,博主完善部分内容。
博主在Linux CentOS上亲测了一下完全没问题。
关于Now.sh
Now.sh 是 ZEIT 推出的一款支持 Docker、Nodejs、静态页面的全球化实时部署服务( Realtime Global Deployments )
运行Now.sh需要安装nodejs!然后使用npm直接安装即可!非常方便!
免费套餐
带宽流量:1G
实例个数:3
日志容量:100M
单个文件最大:5M
存储空间:1G
这样的免费额度利用做其他的可能没啥搞头,流量太少!不过撸oneondex还是不错的。因为oneondex不使用服务的流量!
自己用应该问题不大!!
准备工作
- 注册 now 账号。注册地址 https://zeit.co/
- 注册 onedrive 账号。申请OneDrive 5T 网盘便民方法和邮箱
安装部署
now.sh 的命令行客户端是基于 nodejs 的,所以首先安装 nodejs 环境。
nodejs 下载安装即可。同时需要安装GIT!
nodejs:https://nodejs.org/en/download/
git:https://git-scm.com
Linux系统安装nodejs可参考:【小白教程】nodejs安装教程指南
1)安装 now.sh 客户端。
1 |
npm install -g now |
如果提示警告错误请尝试执行以下命令安装!
1 |
npm i -g --unsafe-perm now |
2)然后登陆 now 账号,它会提示输入邮箱,并通过邮箱登陆验证即可。
1 |
now login |
3)拉取最新的 oneindex 代码。
PS:好多网友在windows系统下不太好操作,博主特意将代码打了一个分支。
执行下面3行命令(不用执行第4,5步骤了),即可安装运行了。
1 2 3 |
git clone https://github.com/malaohu/oneindex.git -b now-sh cd oneindex now |
执行了上面的命令,下面2行就不用执行了!
1 2 |
git clone https://github.com/donwa/oneindex.git cd oneindex |
4)在 oneindex目录中加入 now.json 文件。
1 2 3 4 5 6 |
{ "type": "docker", "features": { "cloud": "v1" } } |
5)在oneindex目录内执行now命令,开始部署了!
1 |
now |
6)上图中可以看到部署的地址为:https://oneindex-yckkdopvtv.now.sh。我们就可以访问这个地址了!
当然也可以到now.sh面板查看部署情况。地址:https://zeit.co/dashboard
特别注意,不同人的地址是不一样的!请访问你自己的地址哦!
8)部署完成后,容器默认会隔一段时间重启,为了不让容器重启,执行下面的命令。
1 |
now scale oneindex-yckkdopvtv.now.sh 1 |
9)为了方便访问,可以把前缀设置一个别名。取一个不重复且方便记忆的即可。这里我使用 oneindex。
1 |
now alias oneindex-yckkdopvtv.now.sh oneindex |
如果别名被其他人占用,会提示:Error! The alias oneindex is a deployment URL or it’s in use by a different team.
请使用其他别名!
10)至此,就可以打开 https://oneindex.now.sh 开始配置了。
绑定域名
now.sh 提供自己的域名绑定的!下面演示,我将 nowsh.oneindex.cc 域名绑定上去!
1)首先执行命令!会提示有错误!需要验证域名的所有权!(注意这个命令需要执行三次,下面提到的执行命令就是这个命令)
一定要将下面的 oneindex-demo.now.sh 换成你自己的域名!!
1 |
now alias oneindex-demo.now.sh nowsh.oneindex.cc |
2)2种验证方式,一种NS解析。一种是 TXT验证。博主尝试的是NS解析!
只需要将 nowsh.oneindex.cc 的 NS 解析到 zeit.world 上即可!
3)解析完成后,再次执行上面的命令,域名验证成功!提示要解析域名到 alias.zeit.co!
然后我们将 nowsh.oneindex.cc CNAME 到 alias.zeit.co(上面的NS解析可以删除掉了)
4)解析完成后,再次执行命令。就哦了!
平台配置
oneindex平台的设置,请参考文章,这里不再重复:OneIndex部署教程,利用OneDrive打造专属分享型网盘
希望更新2.0教程
大佬 能更新下新版now.sh部署onedrive么
新版2.0 直接dockerfile 10天前可以部署 现在now.json 配置不行了 直接php 提示config目录没权限 哎多好的平台不会用了
这个教程已经不再适用最新版oneindex和now.sh v2.0版本。我们需要新的教程。
我一直用的好好的,结果最近突然发现自己的OneIndex不显示目录了,不知道大家有没有这种情况,怎么处理的
我和你一样突然不显示目录了,然后我删除重新安装结果网站直接500
你好,请问在搭建过程中遇到Error! You tried to create a Now 1.0 deployment. Please use Now 2.0 instead: https://zeit.co/upgrade,该怎么处理,now.json文件已经创建了
> Error! The property `type` is not allowed in now.json when using Now 2.0 – pl
ease remove it.
能冒昧问问你的qq吗?
C:\Users\Administrator\oneindex>now
> WARN! Your project is missing `version` in now.json. More: https://zeit.co/doc
s/version-config
> Deploying ~\oneindex under cd411411
> Error! The property `type` is not allowed in now.json when using Now 2.0 – pl
ease remove it.
Failed to find deployment "xxxx.now.sh" 最后绑定域名的时候没有成功 也一直提示这个 求解
跟着操作终于完成啦,谢谢
呃,dockerfile添加了cron任务,不知道是不是间隔时间太短的问题,导致now.sh账户违反TOS被ban了
听说最近被封的不少。可能是撸的人太多了!
原来不止我一个被封,我还以为是我设置的缓存刷新太频繁
502 An error occured with your deployment
大神我可以进后台,但是首页打开就显示这样的问题,所以不算成功。
本人0经验,所以不懂解决方法
使用了“now scale oneindex-xxxxxxx.now.sh 1”命令依旧不行,提示重新安装
没有建站基础,自己根据教程琢磨了一个小时,终于成了,美滋滋
直接 now malaohu/oneindex 也是可以的 官方说明文有 自动识别github的
话说整个 OALINDEX不
官方的和你们这里的代码都有问题。因为ju.tn被屏蔽。所以要改代码。找到AdminController.php

删除下面的这段代码,成功显示出来。
我还以为是啥问题了,重装了N遍。。。
if($_SERVER[‘HTTP_HOST’] == ‘localhost’){
$redirect_uri = ‘http://’.$_SERVER[‘HTTP_HOST’].get_absolute_path(dirname($_SERVER[‘PHP_SELF’]));
}else{
// 非https,调用ju.tn中转
$redirect_uri = ‘https://ju.tn/‘;
}
或者你懒,就把第3步中的https://github.com/malaohu/oneindex换成https://github.com/simplove/oneindex
就可以了。另外第三步中git clone https://github.com/malaohu/oneindex.git -b now-sh 这一条命令并不是在nodejs里面输入,而是要在git工具里面输入!!!
大佬厉害!谢谢大佬反馈
完全搞不得吃,注册了now.sh后就直接不知道怎么弄了。
基础知识太差了。刚刚搞定了。
怎么搞定的?我到了浏览器打开自己连接这里就搞不懂了,我浏览器打开-sh/结尾的地址就变成下载index.php这个文件??
Your environment has been set up for using Node.js 8.12.0 (ia32) and npm.
C:\Users\Administrator>now login
该版本的 C:\Users\Administrator\AppData\Roaming\npm\node_modules\now\download\dist\now.exe 与你运行的 Windows 版本不兼容。请查看计算机的系统信息,然后联系软件发布者。
这个提示怎么办? 我是用win10
可以把crontab加到Dockerfile里面 pr了一下
大佬可以详细说一下吗,小白按着上面教程成功部署了一个,但是这个crontab还是不会
这东西有毒,凌晨弄好早上起来又提示系统安装 环境检测

上午弄好,下午打开来看又提示系统安装 环境检测
安装步骤中的第8步设置一下。命令中的 oneindex-yckkdopvtv.now.sh 一定要换成你自己的。
我还以为只有我一个人这样呢 昨天晚上安装完了 上传不了东西 . 今天中午重新安装 , 现在又没了
请问下如何上传文件到oneIndex ? 我把文件直接上传到OneDrive后没反应...
直接登陆 onedrive 上传试一试
推广一个自己开发的类似oneindex的app 演示地址 https://share.imwnk.cn
看上去不错哇 大佬~ 等我有时间水一篇文章!
谢谢啦,大佬是你啦,很多东西都是从你这里学习的
不过这个做图床速度有点慢,跳转2次,并且没有本地缓存。
确实慢的,不过做个共享云盘还是不错的,图床是附加功能,预览的有缓存。有些功能还在开发中,小白开发多给点意见
大佬 不弄个docker怎么放到now.sh
怎么无法验证now的账号啊,一直显示Verifying…
需要你登录邮箱接收一份邮件,点击里面的验证的url
原来需要梯子才能验证的...
怎么往onedrive里上传啊
直接登录 onedrive 上传即可呀
我是说自动化无人值守式的
oneindex 提供上传的命令的。php one.php upload:file 本地文件 [onedrive文件]
我是照这个教程把部署的,这种情况oneindex不是只能读取到容器内部的文件么,再说就算读的到,免费套餐也没流量啊
大佬,这个命令要怎么用呢?可以指导一下吗?
crontab定时刷新缓存 能极大提高系统访问性能
添加以下命令到crontab
*/10 * * * * /usr/local/bin/php /var/lib/nginx/html/one.php cache:refresh
这个是定时任务,可以不添加的。now.sh也没法弄。
我觉得可以试着把这个定时任务添加到Dockerfile之后,再部署到now
可以使用alias绑定自己的域名,比如 .\now-win.exe alias https://oneindex.now.sh 51.ruyo.net,然后把根据提示把解析域名即可
腻害 腻害!!
感谢大佬分享