温馨提示×

Linux 系统中 Node.js 如何配置 Nginx

小樊
50
2025-10-05 22:11:10
栏目: 编程语言

在 Linux 系统中,使用 Nginx 作为 Node.js 应用程序的反向代理是一种常见的部署方式。以下是配置 Nginx 以代理 Node.js 应用程序的步骤:

  1. 安装 Node.js 和 Nginx: 确保你已经在你的 Linux 系统上安装了 Node.js 和 Nginx。你可以使用包管理器来安装它们。例如,在基于 Debian 的系统上,你可以使用以下命令:

    sudo apt update
    sudo apt install nodejs npm nginx
    
  2. 启动 Node.js 应用程序: 假设你已经有一个 Node.js 应用程序,并且它可以通过 npm start 命令启动。

  3. 配置 Nginx: 编辑 Nginx 的配置文件。通常,配置文件位于 /etc/nginx/sites-available/ 目录下。你可以创建一个新的配置文件,例如 yourapp

    sudo nano /etc/nginx/sites-available/yourapp
    

    在这个文件中,添加以下内容:

    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 监听 80 端口,并将所有请求代理到运行在 localhost:3000 的 Node.js 应用程序。

  4. 启用配置: 创建一个符号链接,将你的配置文件链接到 sites-enabled 目录:

    sudo ln -s /etc/nginx/sites-available/yourapp /etc/nginx/sites-enabled/
    
  5. 测试 Nginx 配置: 在重新加载 Nginx 之前,测试配置文件是否有语法错误:

    sudo nginx -t
    

    如果配置文件没有问题,你会看到类似以下的输出:

    nginx: configuration file /etc/nginx/nginx.conf test is successful
    
  6. 重新加载 Nginx: 重新加载 Nginx 以应用新的配置:

    sudo systemctl reload nginx
    
  7. 启动 Node.js 应用程序: 确保你的 Node.js 应用程序正在运行。你可以使用 pm2 或其他进程管理器来管理你的 Node.js 应用程序。

    npm start
    

现在,你的 Node.js 应用程序应该可以通过 Nginx 访问了。如果你使用的是域名,请确保你的 DNS 设置正确,并且域名指向了你的服务器 IP 地址。

0