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 的文件
  1. 复制脚本并粘贴
    1. 保存文件并退出编辑器
        • 如果使用 nano,按 Ctrl+X,然后按 Y,最后按 Enter
        • 如果使用 vim,按 Esc,然后输入 :wq,最后按 Enter。
    1. 给脚本添加执行权限:
      1. 运行脚本

        Cloudflared

        1. 创建并进入Cloudflared 的工作目录:
          1. 下载 Cloudflared:
            1. 测试运行:
              1. 其中 ARGO_TOKEN要替换成自己的。确定运行没有问题后,按 Ctrl+c即可停止运行。
            1. 使用 pm2 启动 Cloudflared:
              1. 其中ARGO_TOKEN 要替换成自己的。
                🤎
                获取ARGO_TOKEN
                步骤如下:
                1. 进入Cloudflared登录点击左侧菜单的Zero Trust 然后点击Networks 点击Create a tunnel
                  1. notion image
                1. 这里以memos项目为例 默认选择就下 点击Next
                  1. notion image
                1. 输入tunnel Name
                  1. notion image
                1. 配置Public Hostname Page
                  1. notion image
                1. 接着,拷贝 ARGO_TOKEN 并记录好:
                  1. notion image
            1. 脚本启动

              安装 go1.22

              由于 Serv00 服务器上并未提供 go1.22 ,只提供了 go1.20.3 ,无法正常进行构建工作,所以需要手动安装 go1.22 环境。

              Proxy搭配cf托管域名解析

              1. Proxy步骤
                  • 添加端口
                    • 在serv00面板点击 Port reservation - Add port 并点击random或者自定义未被占用端口,再点击add完成添加。
                      notion image
                  • 添加DNS
                    • 在cf新建二级或自定义级别域名,然后先不要开小云朵 如alistc.example.com
                      notion image
                      然后在serv00面板 DNS zones - Add new zone新建域名,名字与cf(alist.example.com)一致,新建成功后点击edit复制 A 记录的ip
                      notion image
                      将cf的二级域名地址替换为A记录的ip,并点亮小云朵(要先在serv00面板申请SSL证书后再打开)
                      notion image
                  • 添加网站
                    • 在serv00面板点击 WWW websites - Add new websites 并点击 Advanced settings 新建网站,地址与之前保持一致,注意这里点选一个Proxy port,你所有开放的端口都自动列有选项。
                      notion image

              部署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 作为数据库运行,则可以直接运行:
              脚本启动
              自动升级脚本
              1. 新建脚本
                1. 复制脚本内容
                  1. 粘贴完成后,按 Ctrl+X 退出,然后按 Y 确认保存,最后按 Enter 确认文件名
                  1. 给予脚本执行权限
                    1. 运行
                      ② 外接 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实现会话隔离
                      脚本启动
                      1. 在解压后的文件夹内即和fuclaude可执行程序同级目录下创建脚本
                        1. 赋予脚本执行权限
                          1. 后台执行脚本
                            1. 创建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
                              1. public_html 创建脚本
                                1. 赋予脚本执行权限
                                  1. 后台执行脚本
                                    1. 创建Cron jobs

                                      部署哪吒面板

                                      1. 需要先安装go 开放两个端口备用
                                      1. 参考Proxy搭配cf托管域名解析 新增Add a New Website
                                      1. 新建脚本(USERNAME.serv00.com替换成自己的域名;我开放的端口是13140和13141 不一样的话脚本里的地方自己替换)
                                        1. github登录配置参考文档
                                      1. 使用Agent 同样提供脚本(13141端口替换成自己配置文件中grpcport对应的端口)
                                        1. USERNAME 说明:serv00用户名
                                          password 说明:前面搭建好之后 登录面板 后台新增服务器会生成密钥点击复制即可
                                          notion image
                                      1. 脚本运行及保活
                                        1. 新建脚本start_dashboard.shstart_nezha_agent.sh
                                          创建Cron jobs 分别在After rebootSpecify manually设置
                                          notion image
                                      1. 面板后台样式配置
                                        1. 在自定义代码内复制粘贴下面的代码保存

                                      部署随机壁纸api

                                      1. serv00添加端口 可随机生成端口
                                      1. 在cf新建二级或自定义级别域名,然后先不要开小云朵(如果是cloudns等需要双向解析的域名记得先去cloudns添加NS记录)
                                        1. notion image
                                      1. 然后在serv00面板 DNS zones - Add new zone新建域名,名字与cf(selfimg.lmyself.cloudns.be)一致,新建成功后点击edit复制 A 记录的ip
                                        1. notion image
                                      1. serv00面板点击WWW websites 点击Add new website
                                        1. notion image
                                      1. 修改cf的IPv4地址为你刚才复制的A记录的ip 注意 还是不要打开小黄云
                                        1. notion image
                                      1. 点击 Manage SSL certificatesAdd certificates 申请证书
                                        1. notion image
                                      1. 证书申请成功后可以打开cf的小黄云
                                        1. notion image
                                      1. 安装go(参考上面)
                                      1. 下载压缩包(解压密码blog.lmyself.top),放到你创建的域名下的public_html
                                      1. 新建.env 文件,内容如下:
                                        1. 赋予脚本执行权限然后运行
                                          1. 或者使用安装脚本一键部署
                                            1. 使用前要修改内容: 1. USERNAME.serv00.net替换为自己的域名 2. 数据库用户名 使用serv00mysql一般有前缀 要带上 3. 数据库密码 4. DB_HOST 如果使用的是serv00mysql 要换成mysql10.serv00.com 你是s几就填几 我这里用的是s10 5. 数据库名 使用serv00mysql一般有前缀 要带上 6. SERVER_PORT换成前面自己定义或者随机生成的端口
                                          1. 脚本启动
                                            1. 创建Cron jobs 分别在After rebootSpecify manually设置

                                              部署在线开发工具箱

                                              1. 拉取代码
                                              1. 登录serv00面板点击WWW websites 点击Add new website 输入你托管在cf的域名
                                                1. cloudflare添加DNS解析新增A记录 指向你在serv00创建的网站的域名DNS解析的A记录地址(在serv00的面板SSL Management申请SSL证书 申请之前不要开启cf的小黄云 证书申请成功后可开启小黄云 似乎开启小黄云会导致无法访问)
                                              1. 点击File Manager 将项目除了public 文件夹以外的文件传到你的域名根目录下 将public文件夹内的文件传到public_html文件夹下(上传之前请确保public_html文件夹内无其他文件)
                                              1. 修改Open Basedir directories
                                                1. notion image
                                              1. 访问域名/admin 默认用户名密码都是admin 登录后台修改账号密码

                                              部署Webssh

                                              1. 开放端口
                                              1. 创建网站
                                              1. 拉取代码
                                                1. 将项目内所有文件移动到public_html
                                                  1. 创建启动脚本
                                                    1. 创建Cron jobs

                                                      部署ChatGPT-to-API

                                                      1. 开放端口
                                                      1. 自定义域名以及cf解析申请证书参考部署随机壁纸api
                                                      1. 已经安装好go的接着往下走 没有安装go的往上看先安装go
                                                      1. 进入~/domains/你的域名/public_html下拉取代码
                                                        1. public_html下创建启动脚本start_freechatgpt.sh
                                                          1. 赋予脚本可执行权限
                                                            1. Cron jobs保活
                                                              你的Serv00用户名 换成自己的
                                                              example.com 换成自己的域名
                                                              SERVER_PORT 如果开放的端口不是5005 可自行修改
                                                              如果不想安装go 下面提供一键安装脚本 前提是完成开放端口以及站点的创建

                                                              自动启动

                                                              听说 Serv00 的主机会不定时重启,所以需要添加自启任务。
                                                              注意在添加以下定时任务之前先 SSH 窗口保存 pm2 的当前任务列表快照:
                                                              如果没有先pm2 save,再添加第一条任务的话会把进程全部清空,这样就要重新自己手动启动服务了。
                                                              在 Panel 中找到 Cron jobs 选项卡,使用 Add cron job 功能添加任务,Specify time 选择 After reboot,即为重启后运行。Form type 选择 Advanced,Command 写:
                                                              notion image
                                                              在 Panel 中找到 Cron jobs 选项卡,使用 Add cron job 功能添加任务,Specify time 选择 Specify manually,即为手动指定。Form type 选择 Advanced,Minute 选择Every,其他的都选Each time,Command 写:
                                                              notion image
                                                              然后再在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.comsmtp.163.com
                                                              SMTP_SERVER_PORT
                                                              发送通知邮件的 SMTP 服务器端口,必须使用 SSL(如465995
                                                              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 即可。你也可以根据你的需求自由修改定时。
                                                              还有一个加入了循环的版本,有需求的可以移植到其他服务使用:

                                                              常用指令

                                                              防止在public_html下的文件泄露

                                                              1. public_html 文件夹下新建一个.htaccess 文件
                                                                1. /usr/home/你的serv00用户名/domains/username.serv00.net或者自己的域名/ 路径下新建.htpasswd
                                                                  1. 需要执行用户名密码可以访问hostingcanada.org 生成:点击访问

                                                                自动续期

                                                                相关文章
                                                                Serv00提示注册成功却收不到邮件解决方案搭建自己的弹幕播放器并开启自动播放下一集
                                                                Loading...
                                                                IMyself
                                                                IMyself
                                                                前端小萌新~
                                                                最新发布
                                                                Git操作汇总
                                                                2024-12-25
                                                                某平台无水印视频/图集解析
                                                                2024-12-17
                                                                🎉🌸✨重磅 开源网页访问计数器
                                                                2024-10-30
                                                                微信小程序表单校验WxValidate.js
                                                                2024-10-25
                                                                Serv00搭建各种服务
                                                                2024-10-18
                                                                Serv00域名邮箱
                                                                2024-10-17
                                                                公告
                                                                🎉老站点迁移中🎉
                                                                -- 感谢您的支持 ---
                                                                2021-2025IMyself.

                                                                IMyself | 前端小萌新~