Serv00 免费虚拟主机 零成本搭建 PHP Node.js 网站 本文首发于博客欢迎点击原文链接了解更多内容。### 前言Serv00 是一个提供免费虚拟主机的平台包含了 3GB 的存储空间和 512MB 的内存空间足够我们搭建一个 1IP 的小网站了。同时他还不限制每月的流量并提供了 16 个数据库包含 MySQL、PostgreSQL 以及 MongoDB以及免费的子域名。除了直接在面板上使用提供的 PHP 环境外你还可以通过 SSH 连接上去创建 Node.js 项目下面将演示如何直接在面板的 PHP 环境创建 Typecho 以及如何通过 SSH 连接后创建 Node.js 的网站。### 准备工作理论上你什么都不需要准备直接前往 serv00.com 注册一个账号就可以通过它提供的虚拟主机以及免费的子域名创建一个网站。需要注意的是账号的数量是有限的每次开放增加 10000 个账号如果现在满了就需要等下一次开放。由于网络问题你还可能需要准备以下东西* 一个自己的域名* 一个 Cloudflare 账号用于开启 CDN* 一个跳板机或上网环境用于连接 SSH### 添加域名系统默认添加了username.serv00.net域名如果你没有自己的域名则不需要单独添加直接使用自带的子域名即可。要是想要用自己的域名需要来到 WWW websites 页面选择 Add new website 添加自己的域名。网站的类型选择 PHP如果是运行在其他端口的网站那就选择 Proxy默认添加的子域名为 PHP如果需要用 Proxy 的可以删除后重新添加### PHPPHP 网站我们以创建 Typecho 为例Typecho 作为轻量的博客系统比起 WordPress 更加适合这种低配的虚拟主机数据库方面则直接使用面板上提供的 MySQL#### 上传程序当你添加完域名后系统会自动创建一个以域名命名的文件夹在面板中点击左侧的 File manager 进入文件管理器然后依次进入~/domains/domain.com/public_html目录将其中自带的index.html删除再把从 Typecho 官网下载的程序上传并解压。然后访问域名就能看到 Typecho 的安装程序了但此时我们还没有添加数据库还不能开始安装#### 创建数据库返回面板中来到 MySQL 选项中选择 Add database 填写相关信息添加数据数据库。需要注意的是数据库的名称以及用户名都有一个前缀在连接数据库时需要写上而数据库的地址是mysqlX.serv00.comX 为你所在的 Serv00 服务器的序号。数据库添加完成后就可以在 Typecho 安装程序中填写相关信息继续安装流程了本文不再赘述。### Node.jsNode.js 项目我们以 Uptime Kuma 为例可以用于其他监控服务器的在线状态。#### 安装 PM2通过一键脚本安装 PM2 bash (curl -s https://raw.githubusercontent.com/k0baya/alist_repl/main/serv00/install-pm2.sh) 然后编辑~/.bashrc文件添加以下内容 export PATH“$PATH:/home/pdf/.npm-global/bin” 保存后重新加载~/.bashrcsource ~/.bashrc #### 添加端口想要项目运行在其他端口需要提前在面板添加一个端口一个 Serv00 账号最多可以使用 3 个端口。#### 运行权限默认情况下应该是开启了运行软件的权限但还是建议区面板里确认一下Additional services 中的 Status 是否为 Enabled#### 安装 Uptime Kuma由于 Serv00 的系统是 FreeBSD只能安装 1.22 版本的再加上虚拟主机不能使用 Docker需要直接下载源码通过 pm2 启动 wget https://github.com/louislam/uptime-kuma/archive/refs/tags/1.22.1.zip unzip 1.22.1.zip mv -f uptime-kuma-1.22.1 uptime-kuma rm -f 1.22.1.zip cd uptime-kuma 然后使用npm install安装依赖可以加上--production只安装dependencies中的依赖 npm i --production 除此之外还要下载已经构建好的前端文件 wget https://github.com/louislam/uptime-kuma/releases/download/1.22.1/dist.tar.gz tar -xzvf dist.tar.gz rm dist.tar.gz 通过 node 命令启动项目通过http://ip:port的形式访问网站查看是否运行正常Port 为 serv00 中添加的端口 node server/server.js --port 测试正常后通过 pm2 命令启动让项目在后台运行 pm2 start server/server.js --name uptime-kuma – --port --host127.0.0.1 访问域名能看到登录页面就代表部署成功了### 总结在使用 Serv00 的过程中你可能会遇到一些问题在这里给出一些解决方法* 搭建完成后无法使用自带的域名进行访问——网络原因建议使用自己的域名并在 Cloudflare 启用 CDN* SSH 无法连接——网络原因建议使用跳板机或加速器* 数据库无法连接——检查数据库名以及用户名的前缀是否添加连接地址是否正确