centos

如何用CentOS部署Node.js应用

小樊
47
2026-01-10 00:10:41
栏目: 编程语言

在CentOS上部署Node.js应用涉及几个步骤,包括安装Node.js、设置环境变量、上传应用代码、安装依赖项以及启动应用。以下是一个详细的步骤指南:

1. 安装Node.js

你可以使用多种方法在CentOS上安装Node.js,包括使用包管理器、NodeSource或直接下载安装。

使用NodeSource安装Node.js

NodeSource提供了一个方便的脚本来安装特定版本的Node.js。以下是安装Node.js 14.x的示例:

# 添加NodeSource仓库
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -

# 安装Node.js
sudo yum install -y nodejs

验证安装

安装完成后,验证Node.js和npm是否正确安装:

node -v
npm -v

2. 设置环境变量(可选)

如果你需要设置环境变量,可以将它们添加到~/.bashrc/etc/profile.d/目录下的一个脚本文件中。

例如,将以下内容添加到~/.bashrc

export NODE_ENV=production

然后重新加载配置文件:

source ~/.bashrc

3. 上传应用代码

你可以使用scprsync或通过Git将你的Node.js应用代码上传到CentOS服务器。

使用SCP上传文件

scp -r /path/to/your/nodejs-app user@your-server:/path/to/deploy

4. 安装依赖项

进入你的应用目录并安装依赖项:

cd /path/to/deploy/nodejs-app
npm install

5. 启动应用

你可以使用多种方法启动Node.js应用,包括直接使用node命令、使用pm2进行进程管理或使用systemd服务。

直接使用node命令启动

node app.js

使用pm2启动

pm2是一个进程管理工具,可以方便地管理Node.js应用。

首先安装pm2

sudo npm install -g pm2

然后使用pm2启动你的应用:

pm2 start app.js --name my-app

你可以使用以下命令查看应用状态:

pm2 status

使用systemd服务启动

创建一个systemd服务文件:

sudo nano /etc/systemd/system/my-app.service

添加以下内容:

[Unit]
Description=My Node.js App
After=network.target

[Service]
ExecStart=/usr/bin/node /path/to/deploy/nodejs-app/app.js
Restart=always
User=your-user
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target

保存并退出编辑器,然后启动服务:

sudo systemctl start my-app

启用服务开机自启动:

sudo systemctl enable my-app

6. 配置防火墙

确保你的防火墙允许HTTP/HTTPS流量。如果你使用的是firewalld,可以添加以下规则:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

7. 访问应用

现在,你应该可以通过浏览器访问你的Node.js应用了。默认情况下,应用会运行在http://your-server:3000

通过以上步骤,你可以在CentOS上成功部署Node.js应用。根据你的具体需求,可能还需要进行其他配置和优化。

0
看了该问题的人还看了