在 CentOS 上部署 Node.js 应用程序通常涉及以下几个步骤:
安装 Node.js: CentOS 默认的软件仓库可能不包含最新版本的 Node.js,因此你可能需要使用 NodeSource 或者 nvm(Node Version Manager)来安装。
使用 NodeSource 安装 Node.js 的示例:
# 首先,下载并运行 NodeSource 安装脚本
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
# 然后,安装 Node.js
sudo yum install -y nodejs
使用 nvm 安装 Node.js 的示例:
# 首先,下载并安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
# 加载 nvm 到当前 shell 会话
source ~/.bash_profile
# 使用 nvm 安装 Node.js
nvm install node # 这将安装最新的稳定版 Node.js
# 设置默认的 Node.js 版本
nvm alias default node
安装 PM2: PM2 是一个流行的 Node.js 进程管理器,可以帮助你管理和守护你的 Node.js 应用程序。
sudo npm install pm2 -g
上传你的 Node.js 应用程序: 你可以使用 SCP、SFTP 或者其他文件传输方法将你的应用程序上传到 CentOS 服务器上。
安装依赖: 在你的应用程序目录中运行以下命令来安装所有必要的 npm 依赖:
npm install
配置你的应用程序: 根据你的应用程序需求进行配置,比如设置环境变量、数据库连接等。
启动你的应用程序: 使用 PM2 启动你的应用程序:
pm2 start app.js --name "my-app"
其中 app.js
是你的主应用程序文件,--name
是给你的应用程序指定的一个名字,方便以后管理。
设置开机自启动: 如果你想让 PM2 管理的应用程序在服务器重启后自动启动,可以使用以下命令:
pm2 startup
PM2 会生成一个命令,你需要运行这个命令来设置开机自启动。
监控和管理你的应用程序: 使用 PM2 的命令行工具来监控和管理你的应用程序:
pm2 list
pm2 logs
pm2 stop my-app
pm2 restart my-app
pm2 delete my-app
配置防火墙: 如果你的应用程序需要对外提供服务,确保你的防火墙配置允许相应的端口通信。例如,如果你的应用程序运行在 3000 端口,你可以使用以下命令打开该端口:
sudo firewall-cmd --zone=public --add-port=3000/tcp --permanent
sudo firewall-cmd --reload
以上步骤是在 CentOS 上部署 Node.js 应用程序的基本流程。根据你的具体需求,可能还需要进行额外的配置和优化。