在CentOS服务器上部署Node.js应用程序通常涉及以下几个步骤:
安装Node.js: 首先,你需要在CentOS服务器上安装Node.js。你可以使用NodeSource的二进制分发库来安装特定版本的Node.js。
# 导入NodeSource库的GPG密钥
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
# 安装Node.js
sudo yum install -y nodejs
请将setup_14.x替换为你想要安装的Node.js版本,例如setup_16.x。
上传你的Node.js应用程序:
你可以使用scp、rsync或者通过Git来上传你的Node.js应用程序到服务器。
scp -r /path/to/your/nodejs-app user@your-server-ip:/path/to/destination
或者如果你已经在服务器上有了你的应用程序,确保你已经安装了所有必要的依赖。
安装依赖: 在你的Node.js应用程序目录中,运行以下命令来安装所有必要的npm包。
cd /path/to/your/nodejs-app
npm install
配置环境变量(可选):
如果你的应用程序需要特定的环境变量,你可以在服务器上设置它们。例如,你可以在/etc/profile.d/目录下创建一个新的脚本来设置环境变量。
echo "export NODE_ENV=production" | sudo tee /etc/profile.d/node.sh
source /etc/profile.d/node.sh
运行你的Node.js应用程序:
你可以使用node命令来运行你的应用程序。
node app.js
其中app.js是你的Node.js应用程序的入口文件。
使用进程管理器(推荐): 为了确保你的Node.js应用程序在后台运行并且在服务器重启后自动启动,你可以使用进程管理器,如PM2。
# 安装PM2
sudo npm install pm2 -g
# 使用PM2启动你的应用程序
pm2 start app.js
# 保存当前进程列表以便PM2在重启后能够恢复它们
pm2 save
# 查看应用程序状态
pm2 status
配置防火墙: 如果你的服务器启用了防火墙,确保开放了Node.js应用程序使用的端口。
sudo firewall-cmd --zone=public --add-port=3000/tcp --permanent
sudo firewall-cmd --reload
将3000替换为你的应用程序实际使用的端口。
SSL证书(如果需要): 如果你的应用程序需要HTTPS支持,你需要为你的域名获取SSL证书,并配置你的Node.js应用程序来使用它。
以上步骤是在CentOS服务器上部署Node.js应用程序的基本流程。根据你的具体需求,可能还需要进行额外的配置和优化。