centos

CentOS上Node.js应用如何部署

小樊
39
2025-10-24 07:17:24
栏目: 编程语言

在CentOS上部署Node.js应用通常涉及以下几个步骤:

  1. 安装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
    

    上面的命令会安装Node.js 14.x版本。如果你需要其他版本,可以将setup_14.x替换为相应的版本号。

  2. 上传你的Node.js应用: 使用SCP、SFTP或其他文件传输方法将你的Node.js应用上传到服务器。

  3. 安装依赖: 在你的应用目录中运行以下命令来安装所有必要的npm包。

    npm install
    
  4. 配置环境变量: 如果你的应用需要特定的环境变量(如数据库连接字符串、API密钥等),请确保在服务器上设置这些变量。你可以将这些变量添加到~/.bashrc/etc/environment文件中。

  5. 运行你的应用: 使用node命令来启动你的应用。

    node app.js
    

    其中app.js是你的Node.js应用的入口文件。

  6. 使用进程管理器: 为了确保你的应用在后台运行并且在服务器重启后自动启动,你可以使用进程管理器,如PM2。

    # 全局安装PM2
    sudo npm install pm2 -g
    
    # 使用PM2启动你的应用
    pm2 start app.js
    
    # 设置PM2开机自启
    pm2 startup
    pm2 save
    
  7. 配置防火墙: 如果你的应用需要从外部访问,确保你的防火墙允许相应的端口。

    sudo firewall-cmd --permanent --zone=public --add-port=3000/tcp
    sudo firewall-cmd --reload
    

    上面的命令会打开3000端口,如果你的应用运行在不同的端口,请相应地更改端口号。

  8. 使用Nginx作为反向代理(可选): 为了提高性能和安全性,你可以使用Nginx作为Node.js应用的反向代理。

    # 安装Nginx
    sudo yum install nginx -y
    
    # 启动Nginx服务
    sudo systemctl start nginx
    sudo systemctl enable nginx
    
    # 配置Nginx
    # 编辑Nginx配置文件,通常位于/etc/nginx/nginx.conf或/etc/nginx/conf.d/default.conf
    sudo vi /etc/nginx/conf.d/default.conf
    
    # 添加以下内容作为示例
    server {
        listen 80;
        server_name yourdomain.com; # 替换为你的域名或公网IP
    
        location / {
            proxy_pass http://localhost:3000; # Node.js应用运行的端口
            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
    

按照这些步骤,你应该能够在CentOS上成功部署你的Node.js应用。记得根据你的具体需求调整配置。

0
看了该问题的人还看了