type
status
date
slug
summary
tags
category
icon
password
部署应用前的一些准备工作
运行自己的应用
Additional services 选项卡中找到 Run your own applications 项目,将其设置为 Enabled 即可。如果不开启这一项,自己的用户目录下的所有文件都无法添加可执行权限。
SSH连接
s6.serv00.com
可能会因为被墙连不上,可以用web6.serv00.com
或者cache6.serv00.com
最近还碰到了封ip的可以打开链接解锁(解锁的时候必须关掉魔法!!!):
其他
s4、s7
也一样安装pm2
在 SSH 连接 serv00 之后,直接使用一键脚本安装 pm2 :
如果是第一天注册安装的时候可能会卡着不动等到第二天再安装即可。如果安装完成后执行pm2
提示命令未找到,你可以断开 SSH 连接,再重新连接,即可。
自建安装pm2脚本
1. 使用 nano 创建一个名为
install_pm2.sh
的文件- 复制脚本并粘贴
- 保存文件并退出编辑器
- 如果使用 nano,按
Ctrl+X
,然后按Y
,最后按Enter
。 - 如果使用 vim,按
Esc
,然后输入:wq
,最后按 Enter。
- 给脚本添加执行权限:
- 运行脚本
Cloudflared
- 创建并进入Cloudflared 的工作目录:
- 下载 Cloudflared:
- 测试运行:
其中ARGO_TOKEN
要替换成自己的。确定运行没有问题后,按Ctrl+c
即可停止运行。
- 使用 pm2 启动 Cloudflared:
- 进入Cloudflared登录点击左侧菜单的
Zero Trust
然后点击Networks
点击Create a tunnel
- 这里以memos项目为例 默认选择就下 点击
Next
- 输入
tunnel Name
- 配置
Public Hostname Page
- 接着,拷贝
ARGO_TOKEN
并记录好:
其中ARGO_TOKEN
要替换成自己的。
获取
ARGO_TOKEN
步骤如下:
- 脚本启动
安装 go1.22
由于 Serv00 服务器上并未提供 go1.22 ,只提供了 go1.20.3 ,无法正常进行构建工作,所以需要手动安装 go1.22 环境。
Proxy搭配cf托管域名解析
- Proxy步骤
- 添加端口
- 添加DNS
- 添加网站
在serv00面板点击 Port reservation - Add port 并点击random或者自定义未被占用端口,再点击add完成添加。
在cf新建二级或自定义级别域名,然后先不要开小云朵 如
alistc.example.com
然后在serv00面板 DNS zones - Add new zone新建域名,名字与cf(
alist.example.com
)一致,新建成功后点击edit复制 A 记录的ip将cf的二级域名地址替换为A记录的ip,并点亮小云朵(要先在serv00面板申请SSL证书后再打开)
在serv00面板点击 WWW websites - Add new websites 并点击 Advanced settings 新建网站,地址与之前保持一致,注意这里点选一个Proxy port,你所有开放的端口都自动列有选项。
部署Memos
首先在 Panel 中放行两个相邻的端口,接着按照下表 Add a New Website (我是开放了13140和13141端口):
Key | Value |
Domain | xxx.USERNAME.serv00.net (也可以把原有的USERNAME.serv00.net删掉后重新添加) |
Website Type | proxy |
Proxy Target | localhost |
Proxy URL | 留空 |
Proxy port | 刚刚放行的两个相邻的端口中小的那一个 |
Use HTPPS | False |
DNS support | True |
添加完新站点后,继续点击上方的
Manage SSL certificates
,接着在出口 IP 的右侧点击 Manage
,再点击 Add certificate
:Type | Domain |
Generate Let’s Encrypted certificate | 与刚刚添加的站点域名保持一致(如果是原有的 USERNAME.serv00.net ,可以省略此步) |
接着SSH登入,并进入刚刚你新建的域名目录下的
public_html
路径下:关于运行,有两种方式进行:
① SQLite
如果选择使用 SQLite 作为数据库运行,则可以直接运行:
脚本启动
自动升级脚本
- 新建脚本
- 复制脚本内容
- 粘贴完成后,按
Ctrl+X
退出,然后按Y
确认保存,最后按Enter
确认文件名
- 给予脚本执行权限
- 运行
② 外接 MySQL / PostgreSQL(我没有试成功)
你可以使用面板自带的 MySQL / PostgreSQL 新建数据库,或者使用其他平台提供的远程数据库:
部署始皇最新玩具(fuclaude)
Serv00面板
Port reservation
点击Add port
开放13142
端口接着按照下表 Add a New Website:
Key | Value |
Domain | xxx.USERNAME.serv00.net (也可以把原有的USERNAME.serv00.net删掉后重新添加) |
Website Type | proxy |
Proxy Target | localhost |
Proxy URL | 留空 |
Proxy port | 刚刚放行的端口13142 |
Use HTPPS | False |
DNS support | True |
接着SSH登入,并进入刚刚你新建的域名目录下的
public_html
路径下:历史版本:
v0.1.2
v0.2.x
v0.3.x
自动更新脚本
pm2启动
搭配CF的worker实现会话隔离
脚本启动
- 在解压后的文件夹内即和
fuclaude
可执行程序同级目录下创建脚本
- 赋予脚本执行权限
- 后台执行脚本
- 创建
Cron jobs
部署Alist
首先在 Panel 中放行一个端口,接着按照下表 Add a New Website :
Key | Value |
Domain | xxx.USERNAME.serv00.net (也可以把原有的 USERNAME.serv00.net 删掉后重新添加) |
Website Type | proxy |
Proxy Target | localhost |
Proxy URL | 留空 |
Proxy port | 你准备用来部署 Alist 的端口 |
Use HTPPS | False |
DNS support | True |
添加完新站点后,继续点击上方的 Manage SSL certificates ,接着在出口 IP 的右侧点击 Manage ,再点击 Add certificate :
Type | Domain |
Generate Let’s Encrypted certificate | 与刚刚添加的站点域名保持一致(如果是原有的 USERNAME.serv00.net ,可以省略此步) |
接着 SSH 登入,并进入刚刚你新建的域名目录下的
public_html
路径下:在 Panel 中进入 MySQL 选项卡,使用 Add database 功能新建一个数据库。
密码要求含有大写字母、小写字母和数字三种字符,且长度必须超过6个字符。
接下来进入 File manager 选项卡,进入
~/domains/xxx.USERNAME.serv00.net/public_html/data
路径,可以看到一个名为 config.json
的文件,右键点击,选择 View/Edit > Source Editor ,进行编辑:我主要修改了 CDN、database、scheme 三个部分,其中CDN可以在 Alist 的官方文档找到,请选择你本地网络连接速度最快的一个。
scheme 部分,我选择修改 adress 为
127.0.0.1
本地回环,是为了避免被他人使用 http://ip:port
的方式进行访问。database 部分,type 需要改成
mysql
,host 填写你在注册邮件中看到的 mysql 的地址, port 是默认的 3306,用户名、密码、数据库名则按照你创建的情况进行填写。最新版本的 Alist 如果不想开启 S3 Server,请把对应的配置文件中的端口配置为 0 。
改完之后,点击 save 保存,接着回到 SSH 窗口中进行操作 测试启动 Alist::
确定运行没有问题后,按Ctrl+c
即可停止运行。
使用 pm2 启动并管理 alist:
同样的,你还可以使用 Cloudflared 隧道添加域名,而不选择使用 Proxy
脚本运行 不使用pm2
- 在
public_html
创建脚本
- 赋予脚本执行权限
- 后台执行脚本
- 创建
Cron jobs
部署哪吒面板
- 需要先安装go 开放两个端口备用
- 参考Proxy搭配cf托管域名解析 新增
Add a New Website
- 新建脚本(
USERNAME.serv00.com
替换成自己的域名;我开放的端口是13140和13141 不一样的话脚本里的地方自己替换)
github登录配置参考文档
- 使用
Agent
同样提供脚本(13141端口替换成自己配置文件中grpcport
对应的端口)
USERNAME
说明:serv00用户名password
说明:前面搭建好之后 登录面板 后台新增服务器会生成密钥点击复制即可- 脚本运行及保活
新建脚本
start_dashboard.sh
和start_nezha_agent.sh
创建
Cron jobs
分别在After reboot
和Specify manually
设置- 面板后台样式配置
在自定义代码内复制粘贴下面的代码保存
部署随机壁纸api
- serv00添加端口 可随机生成端口
- 在cf新建二级或自定义级别域名,然后先不要开小云朵(如果是
cloudns
等需要双向解析的域名记得先去cloudns
添加NS
记录)
- 然后在serv00面板 DNS zones - Add new zone新建域名,名字与cf(
selfimg.lmyself.cloudns.be
)一致,新建成功后点击edit复制 A 记录的ip
- serv00面板点击
WWW websites
点击Add new website
- 修改cf的IPv4地址为你刚才复制的A记录的ip 注意 还是不要打开小黄云
- 点击
Manage SSL certificates
到Add certificates
申请证书
- 证书申请成功后可以打开cf的小黄云
- 安装go(参考上面)
- 下载压缩包(解压密码blog.lmyself.top),放到你创建的域名下的
public_html
下
- 新建
.env
文件,内容如下:
- 赋予脚本执行权限然后运行
- 或者使用安装脚本一键部署
使用前要修改内容: 1.USERNAME.serv00.net
替换为自己的域名 2. 数据库用户名 使用serv00
的mysql
一般有前缀 要带上 3. 数据库密码 4.DB_HOST
如果使用的是serv00
的mysql
要换成mysql10.serv00.com
你是s几就填几 我这里用的是s10 5. 数据库名 使用serv00
的mysql
一般有前缀 要带上 6.SERVER_PORT
换成前面自己定义或者随机生成的端口
- 脚本启动
- 创建
Cron jobs
分别在After reboot
和Specify manually
设置
部署在线开发工具箱
- 拉取代码
- 登录
serv00
面板点击WWW websites
点击Add new website
输入你托管在cf
的域名
cloudflare
添加DNS
解析新增A
记录 指向你在serv00
创建的网站的域名DNS
解析的A
记录地址(在serv00
的面板SSL Management
申请SSL
证书 cf
- 点击
File Manager
将项目除了public
文件夹以外的文件传到你的域名根目录下 将public
文件夹内的文件传到public_html
文件夹下(上传之前请确保public_html
文件夹内无其他文件)
- 修改
Open Basedir directories
- 访问
域名/admin
默认用户名密码都是admin
登录后台修改账号密码
部署Webssh
- 开放端口
- 创建网站
- 拉取代码
- 将项目内所有文件移动到
public_html
下
- 创建启动脚本
- 创建
Cron jobs
自动启动
听说 Serv00 的主机会不定时重启,所以需要添加自启任务。
请注意在添加以下定时任务之前先 SSH 窗口保存 pm2 的当前任务列表快照:
如果没有先pm2 save,再添加第一条任务的话会把进程全部清空,这样就要重新自己手动启动服务了。
在 Panel 中找到 Cron jobs 选项卡,使用 Add cron job 功能添加任务,Specify time 选择 After reboot,即为重启后运行。Form type 选择 Advanced,Command 写:
在 Panel 中找到 Cron jobs 选项卡,使用 Add cron job 功能添加任务,Specify time 选择 Specify manually,即为手动指定。Form type 选择 Advanced,Minute 选择Every,其他的都选Each time,Command 写:
然后再在SSH 窗口保存一次 pm2的当前任务列表快照:
这个方法好像无效
在 Panel 中找到 Cron jobs 选项卡,使用 Add cron job 功能添加任务,Specify time 选择 After reboot,即为重启后运行。Form type 选择 Advanced,Command 写:
记得把你的用户名改为你的用户名
添加完之后,在 SSH 窗口保存 pm2 的当前任务列表快照:
检测启动情况
在脚本开头处填好所有的环境变量即可使用(脚本来源):
变量名 | 是否必须 | 备注 |
USERNAME | 是 | Serv00 的账户用户名 |
PASSWORD | 是 | Serv00 的账户密码 |
SSH_ADDRESS | 是 | Serv00 的账户 SSH 连接的地址(如 s4.serv00.com ) |
SERVER_ADDRESS | 是 | 需要检测的 Web 服务地址(如 https://xxx.username.serv00.net ) |
SMTP_SERVER_ADDRESS | 否 | 发送通知邮件的 SMTP 服务器地址(如 mail4.serv00.com 、smtp.163.com ) |
SMTP_SERVER_PORT | 否 | 发送通知邮件的 SMTP 服务器端口,必须使用 SSL(如 465 、995 ) |
SMTP_EMAIL | 否 | 用于发送通知邮件的邮箱 |
SMTP_PASSWORD | 否 | 用于发送通知邮件的邮箱的密码或秘钥 |
TARGET_EMAIL | 否 | 用于接收通知邮件的邮箱 |
在你的用户目录下任意路径新建一个名为
check_health.sh
的文件,把上述脚本填好环境变量后粘贴进去,并在 Console 中使用 chmod +x check_health.sh
命令为脚本添加可执行权限。再去 Panel 中找到 Cron jobs 选项卡,使用 Add cron job 功能添加任务,Specify time 选择 Special manually,Form type 选择 Advanced, 然后把下方的 Minute、Hour、Day of month、Month、Day of week 都改成 Every ,然后在 Minute 后填入 5(即每 5 分钟一次),其他的都填 1。Command 写
check_health.sh
脚本文件的绝对路径,如 /home/username/check_health.sh >/dev/null 2>&1
即可。你也可以根据你的需求自由修改定时。还有一个加入了循环的版本,有需求的可以移植到其他服务使用:
常用指令
自动续期
- 作者:IMyself
- 链接:https://blog.lmyself.top//article/6a1de94b-6aee-4556-87f8-0793ca98fe71
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章