centos

nodejs项目在centos上如何部署

小樊
33
2025-02-20 17:50:18
栏目: 编程语言

在CentOS上部署Node.js项目可以分为几个步骤。以下是一个基本的指南:

1. 安装Node.js和npm

首先,你需要在CentOS上安装Node.js和npm。你可以使用NodeSource的二进制分发库来安装最新版本的Node.js。

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

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

2. 安装PM2

PM2是一个进程管理器,可以帮助你管理和保持Node.js应用程序的在线状态。

sudo npm install pm2 -g

3. 上传你的Node.js项目

你可以使用scprsync或其他文件传输工具将你的Node.js项目上传到CentOS服务器。

scp -r /path/to/your/project user@your_server_ip:/path/to/deploy

4. 安装项目依赖

进入项目目录并安装所需的npm包。

cd /path/to/deploy/your_project
npm install

5. 配置环境变量

如果你的项目需要特定的环境变量,可以在/etc/profile.d/目录下创建一个新的脚本文件来设置这些变量。

sudo vi /etc/profile.d/my_project.sh

在文件中添加你的环境变量:

export NODE_ENV=production
export PORT=3000

然后使环境变量生效:

source /etc/profile.d/my_project.sh

6. 启动你的Node.js应用程序

使用PM2启动你的Node.js应用程序。

pm2 start app.js --name your_project_name

你可以使用以下命令查看PM2管理的进程:

pm2 list

7. 配置Nginx反向代理(可选)

如果你希望通过Nginx来处理HTTP请求并将它们转发到你的Node.js应用程序,可以按照以下步骤进行配置。

安装Nginx

sudo yum install nginx -y

配置Nginx

编辑Nginx配置文件:

sudo vi /etc/nginx/nginx.conf

server块中添加以下内容:

server {
    listen 80;
    server_name your_domain.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

重启Nginx

sudo systemctl restart nginx

8. 配置防火墙

确保你的防火墙允许HTTP和HTTPS流量。

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

9. 监控和日志

使用PM2来监控你的应用程序和查看日志。

pm2 monit
pm2 logs your_project_name

通过以上步骤,你应该能够在CentOS上成功部署你的Node.js项目。

0
看了该问题的人还看了