要在基于Armbian系统的设备上使用宝塔面板部署Egg.js项目,我们需要遵循一系列的步骤来确保所有必要的软件和服务正确安装和配置。以下是部署Egg.js项目的概括性指南:
准备阶段
1. 安装Armbian系统
确保你的设备已经安装了Armbian操作系统。如果你还没有安装,可以参考相关文档完成安装过程。
2. 安装宝塔面板
在Armbian系统上安装宝塔面板可以通过下载官方提供的安装脚本来实现。你可以通过SSH客户端连接到你的设备,然后执行相应的安装脚本。需要注意的是,由于设备性能限制,安装过程可能会比较长。
```bash
wget O install_panel.sh && bash install_panel.sh
```
配置阶段
3. 安装Node.js
在部署Egg.js项目之前,需要确保Node.js环境已正确安装。宝塔面板允许你选择不同的Node.js版本。你可以通过面板的软件商店安装所需的Node.js版本。
4. 创建站点
在宝塔面板中,你需要创建一个新的站点来承载你的Egg.js项目。选择合适的配置选项,如域名、根目录等。例如,你可以将项目目录设置为`www/wwwroot/your_project_name`。
5. 上传项目文件
将你的Egg.js项目文件(除`node_modules`外的文件)上传至你在第4步创建的站点目录中。你可以通过FTP/SFTP客户端或者宝塔面板的文件管理功能来上传文件。
6. 配置项目启动文件
在项目根目录下创建一个`index.js`文件,该文件用于配置Egg.js集群。文件内容大致如下:
```javascript
const egg = require('egg');
const workers = Number(process.argv[2] || require('os').cpus().length);
egg.startCluster({ workers, baseDir: __dirname });
```
此步骤可以确保Egg.js项目能够根据可用的CPU核心数启动适当数量的工作进程。
7. 使用Eggscripts或PM2启动项目
尽管通常推荐使用`eggscripts`来启动Egg.js项目,但在某些情况下,你可能仍会选择使用`PM2`作为进程管理工具。如果决定使用PM2,可以通过宝塔面板的软件商店安装它。然后,你可以使用PM2来启动你的应用。
```bash
pm2 start /path/to/your/index.js
```
Egg.js框架自带了`eggcluster`来启动Master进程,并且足够稳定,因此不需要额外使用PM2等进程守护模块。
8. 设置反向代理
如果需要通过HTTP服务器(如Nginx)来访问你的Egg.js应用,需要配置反向代理。你可以在宝塔面板中设置Nginx或其他HTTP服务器来转发请求到你的Egg.js应用监听的端口。
9. 配置SSL证书
宝塔面板支持一键配置SSL证书。一旦你的应用可以通过HTTP访问,你可以使用宝塔面板提供的功能来申请和安装SSL证书,从而启用HTTPS。
结束语
以上步骤是部署Egg.js项目到Armbian设备上的一个基本流程。实际操作过程中,可能还需要根据具体情况调整配置,比如设置安全组规则、开放必要的端口等。
请注意,部署过程中可能会遇到各种问题,如硬件性能不足导致的长时间等待、软件兼容性问题等,这些都是需要耐心解决的。希望这个指南能帮助你顺利完成部署工作。