如何在Linux服务器上部署Node.js应用

278
2025/4/3 15:32:46
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

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

1. 准备工作

  • 确保服务器环境:确保你的Linux服务器已经安装了Node.js和npm。如果没有,可以通过以下命令安装:

    sudo apt update
    sudo apt install nodejs npm
    
  • 创建项目目录:在你的服务器上创建一个新的目录来存放你的Node.js应用。

    mkdir myapp
    cd myapp
    
  • 初始化Node.js项目:使用npm初始化你的项目。

    npm init -y
    

2. 安装依赖

  • 安装项目依赖:将你的package.json文件中的依赖项安装到项目中。
    npm install
    

3. 配置环境变量

  • 设置环境变量:根据需要设置环境变量,例如数据库连接字符串、API密钥等。你可以将这些变量放在.env文件中,并使用dotenv包来加载它们。
    npm install dotenv
    
    在项目的根目录下创建一个.env文件,并添加你的环境变量:
    DB_HOST=localhost
    DB_USER=root
    DB_PASSWORD=password
    

4. 启动应用

  • 编写启动脚本:在package.json中添加一个启动脚本。

    "scripts": {
      "start": "node app.js"
    }
    
  • 启动应用:使用npm启动你的应用。

    npm start
    

5. 使用进程管理器

为了确保你的Node.js应用在服务器重启后自动启动,并且能够处理崩溃等问题,建议使用进程管理器,如PM2。

  • 安装PM2

    npm install pm2 -g
    
  • 启动应用:使用PM2启动你的应用。

    pm2 start app.js --name myapp
    
  • 查看应用状态:使用PM2查看应用的状态。

    pm2 status
    

6. 配置Nginx反向代理

为了提高性能和安全性,通常会使用Nginx作为反向代理。

  • 安装Nginx

    sudo apt install nginx
    
  • 配置Nginx:编辑Nginx配置文件(通常位于/etc/nginx/sites-available/default),添加一个反向代理配置。

    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;
        }
    }
    
  • 重启Nginx

    sudo systemctl restart nginx
    

7. 配置SSL证书

为了确保你的应用通过HTTPS提供服务,建议配置SSL证书。你可以使用Let’s Encrypt来免费获取SSL证书。

  • 安装Certbot

    sudo apt install certbot python3-certbot-nginx
    
  • 获取并安装证书

    sudo certbot --nginx -d yourdomain.com
    

按照提示完成证书的安装和配置。

8. 监控和日志管理

  • 监控应用:使用PM2的监控功能来监控你的应用。

    pm2 monit
    
  • 日志管理:使用PM2的日志管理功能来查看和管理应用的日志。

    pm2 logs myapp
    

通过以上步骤,你应该能够在Linux服务器上成功部署你的Node.js应用。

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

推荐阅读: Linux中SWP频繁使用对系统的影响