centos

Node.js项目在CentOS如何部署

小樊
51
2025-07-08 13:37:59
栏目: 编程语言

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

1. 安装Node.js

你可以使用多种方法在CentOS上安装Node.js,包括使用NodeSource二进制分发库或使用包管理器。

使用NodeSource二进制分发库

  1. 添加NodeSource仓库

    curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
    
  2. 安装Node.js和npm

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

    node -v
    npm -v
    

使用包管理器(yum)

  1. 安装Node.js

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

    node -v
    npm -v
    

2. 设置环境变量

确保Node.js和npm的路径在你的环境变量中。通常情况下,安装Node.js时会自动设置这些路径,但你可以手动检查和设置。

echo $PATH

如果路径中没有包含Node.js和npm的路径,可以将其添加到~/.bashrc/etc/profile中:

export PATH=$PATH:/usr/local/bin/node:/usr/local/bin/npm
source ~/.bashrc

3. 上传项目文件

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

例如,使用scp

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

4. 安装项目依赖项

进入项目目录并安装依赖项:

cd /path/to/your/project
npm install

5. 配置Nginx(可选)

为了更好地处理HTTP请求和静态文件,你可以配置Nginx作为反向代理。

  1. 安装Nginx

    sudo yum install -y nginx
    
  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 your_domain_or_ip;
    
        location / {
            proxy_pass http://localhost:3000; # 假设你的Node.js应用运行在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;
        }
    }
    
  4. 重启Nginx

    sudo systemctl restart nginx
    

6. 启动Node.js应用

你可以使用pm2来管理Node.js应用的启动和监控。

  1. 安装pm2

    sudo npm install -g pm2
    
  2. 启动应用

    pm2 start app.js --name your-app-name
    
  3. 查看应用状态

    pm2 status
    
  4. 设置开机自启动

    pm2 startup
    pm2 save
    

7. 配置防火墙

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

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

完成以上步骤后,你的Node.js项目应该已经在CentOS上成功部署并可以访问了。

0
看了该问题的人还看了