centos上nodejs如何部署项目

387
2025/4/8 15:33:16
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在CentOS上部署Node.js项目,可以按照以下步骤进行:

1. 安装Node.js

首先,你需要在CentOS上安装Node.js。你可以使用NodeSource提供的Node.js二进制分发库来安装。

使用NodeSource安装Node.js

  1. 添加NodeSource仓库

    curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
    

    这里的14.x是你想要安装的Node.js版本,你可以根据需要更改。

  2. 安装Node.js和npm

    sudo yum install -y nodejs
    
  3. 验证安装

    node -v
    npm -v
    

2. 配置项目

确保你的Node.js项目已经准备好,并且包含一个package.json文件。

3. 安装项目依赖

在你的项目目录中运行以下命令来安装所有依赖:

npm install

4. 设置环境变量

如果你的项目需要特定的环境变量,可以在项目根目录下创建一个.env文件,并在其中设置这些变量。例如:

PORT=3000
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=password

然后,你可以使用dotenv包来加载这些环境变量。首先安装dotenv

npm install dotenv

在你的主入口文件(例如app.jsindex.js)中添加以下代码:

require('dotenv').config();

5. 启动项目

使用以下命令启动你的Node.js应用:

node app.js

或者,如果你使用的是Express框架,可以使用npm start

"scripts": {
  "start": "node app.js"
}

然后运行:

npm start

6. 使用PM2管理Node.js进程

为了确保你的Node.js应用在后台持续运行,并且能够自动重启,建议使用PM2。

  1. 安装PM2

    sudo npm install pm2 -g
    
  2. 启动项目

    pm2 start app.js --name my-app
    

    这里的my-app是你的应用名称,你可以根据需要更改。

  3. 查看进程列表

    pm2 list
    
  4. 停止进程

    pm2 stop my-app
    
  5. 重启进程

    pm2 restart my-app
    
  6. 删除进程

    pm2 delete my-app
    

7. 配置Nginx反向代理

为了提高性能和安全性,你可以配置Nginx作为反向代理。

  1. 安装Nginx

    sudo yum install nginx -y
    
  2. 启动并启用Nginx

    sudo systemctl start nginx
    sudo systemctl enable nginx
    
  3. 配置Nginx: 编辑Nginx配置文件(通常位于/etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf),添加以下内容:

    server {
        listen 80;
        server_name yourdomain.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;
        }
    }
    

    yourdomain.com替换为你的域名,3000替换为你的Node.js应用监听的端口。

  4. 重新加载Nginx配置

    sudo systemctl reload nginx
    

现在,你的Node.js项目应该已经成功部署在CentOS上,并且可以通过浏览器访问了。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 如何在CentOS上配置IP转发