温馨提示×

Ubuntu Nodejs 与 Nginx 如何配合

小樊
40
2025-11-22 12:14:24
栏目: 编程语言

在 Ubuntu 系统上,将 Node.js 应用程序与 Nginx 配合使用是一种常见的部署策略。Nginx 可以作为反向代理服务器,处理来自客户端的请求并将其转发到 Node.js 应用程序。以下是详细的步骤指南:

1. 安装 Node.js

首先,确保你的 Ubuntu 系统上已经安装了 Node.js。你可以使用以下命令来安装:

sudo apt update
sudo apt install nodejs npm

2. 安装 Nginx

接下来,安装 Nginx:

sudo apt update
sudo apt install nginx

3. 配置 Nginx

编辑 Nginx 的配置文件,通常位于 /etc/nginx/sites-available/default。你可以创建一个新的配置文件或修改默认文件。

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

在配置文件中,添加以下内容:

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

保存并关闭文件。

4. 启用配置

创建一个符号链接以启用新的配置:

sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/

5. 测试 Nginx 配置

测试 Nginx 配置是否正确:

sudo nginx -t

如果没有错误,重新加载 Nginx 以应用更改:

sudo systemctl reload nginx

6. 启动 Node.js 应用程序

确保你的 Node.js 应用程序正在运行。你可以使用 pm2 来管理 Node.js 进程,以确保它始终运行:

sudo npm install pm2 -g
pm2 start app.js  # 替换为你的应用程序入口文件

7. 验证部署

打开浏览器并访问你的域名或 IP 地址。你应该能够看到你的 Node.js 应用程序的响应。

8. 配置防火墙(可选)

如果你使用的是 UFW(Uncomplicated Firewall),确保允许 HTTP 和 HTTPS 流量:

sudo ufw allow 'Nginx Full'

9. 配置 SSL(可选)

为了提高安全性,你可以为你的网站配置 SSL 证书。可以使用 Let’s Encrypt 提供的免费证书:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d your_domain.com  # 替换为你的域名

按照提示完成 SSL 配置。

通过以上步骤,你就可以在 Ubuntu 系统上成功地将 Node.js 应用程序与 Nginx 配合使用了。

0