【自己查阅】centos8 部署egg.js服务

本文指导在CentOS8部署Egg.js应用,涉及包安装、脚本配置、打包上传、权限设置和安全组操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

可参考egg.js官方文档

注:该项目部署在centos8环境的阿里云服务器上面

1、要部署的服务项目添加egg script包

npm i egg-scripts --save

添加脚本命令到 package.json

{
  "scripts": {
    "start": "egg-scripts start --daemon",
    "stop": "egg-scripts stop"
  }
}

启动命令 npm start
停止命令 npm stop
其中不指定端口的话,就是7001端口

2、tar打包本地项目

在服务项目根目录下运行命令

tar -zcvf ../release.tgz .

就可在项目根目录上一级中找到名字为release.tgz的压缩包

3、部署至服务器,并运行

上传上一步的压缩包到服务器。
并使用命令解压缩包

tar -xf release.tgz

解压缩后,运行命令npm start
如果运行命令提示 egg-scripts: Permission denied 异常
则在项目解压缩后的根目录下运行命令

chmod +x ./node_modules/.bin/egg-scripts

给egg-scripts添加权限
再运行npm start命令就可以了。

4、添加安全组,开放7001端口

阿里安全组添加运行访问的安全组,端口7001

### 部署Node.js项目至CentOS上的阿里云服务器 #### 准备工作 确保已拥有阿里云ECS实例并安装有CentOS操作系统。登录到阿里云控制台,通过SSH连接工具访问该Linux服务器。 #### 安装Node.js环境 更新yum源以获取最新软件包列表[^1]: ```bash sudo yum update -y ``` 安装NodeSource库来获得官方支持版本的Node.js: ```bash curl --silent --location https://rpm.nodesource.com/setup_16.x | sudo bash - ``` 利用yum命令完成Node.js及其npm包管理器的实际安装过程: ```bash sudo yum install -y nodejs ``` 验证安装成功与否可以通过查看node和npm各自对应的版本号: ```bash node -v && npm -v ``` #### 创建Node.js应用程序文件结构 切换目录进入用户根路径下新建一个名为`myapp`的应用程序存储位置: ```bash mkdir ~/myapp cd ~/myapp ``` 初始化一个新的NPM项目,这会创建package.json配置描述文档: ```bash npm init -y ``` 编写简单的HTTP服务器作为演示用途保存成index.js脚本形式: ```javascript const http = require('http'); const hostname = '0.0.0.0'; const port = process.env.PORT || 3000; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World\n'); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); }); ``` #### 设置防火墙规则允许外部请求到达指定端口 开放特定网络端口号以便让外界能够正常访问部署服务: ```bash sudo firewall-cmd --zone=public --add-port=3000/tcp --permanent sudo firewall-cmd --reload ``` #### 启动应用服务 返回到项目的根目录启动刚才编写的简单Web Server: ```bash node index.js & ``` 为了保证即使关闭终端之后进程仍然可以持续运行,建议采用pm2这样的生产级进程守护工具来进行更专业的管理和维护。 #### 使用Pm2实现后台常驻运行 先全局范围内安装pm2模块: ```bash sudo npm install pm2@latest -g ``` 接着就可以借助它轻松地把之前提到的那个例子设置成为后台任务啦: ```bash pm2 start index.js --name my-app-name ``` 最后一步就是将此状态记录下来从而使得重启机器后也能自动恢复这些被监控着的任务们咯~ ```bash pm2 save pm2 startup systemd ``` 以上就是在CentOS系统上部署Node.js项目的具体操作指南。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值