商城首页欢迎来到中国正版软件门户

您的位置:首页 >Node.js 在 Linux 上如何配置 Nginx

Node.js 在 Linux 上如何配置 Nginx

  发布于2026-05-01 阅读(0)

扫一扫,手机访问

在 Linux 上配置 Nginx 以与 Node.js 应用程序一起工作

Node.js 在 Linux 上如何配置 Nginx

将 Node.js 应用部署到生产环境,搭配 Nginx 作为反向袋里是相当常见的做法。这不仅能处理静态文件、提升性能,还能提供负载均衡等高级功能。整个过程其实并不复杂,遵循几个清晰的步骤就能搞定。下面就来详细拆解一下。

1. 安装 Node.js

第一步自然是确保系统里已经安装了 Node.js 和它的包管理器 npm。如果还没安装,用系统自带的包管理器就能轻松完成。

对于像 Ubuntu、Debian 这类基于 Debian 的系统,打开终端,依次执行下面两条命令:

sudo apt update
sudo apt install nodejs npm

如果你用的是 CentOS、Fedora 等基于 Red Hat 的系统,命令则略有不同。对于使用 yum 包管理器的系统:

sudo yum install nodejs npm

而较新的 Fedora 版本通常使用 dnf,命令如下:

sudo dnf install nodejs npm

2. 安装 Nginx

接下来安装 Nginx。同样,根据你的 Linux 发行版选择对应的命令。

在 Debian/Ubuntu 上:

sudo apt install nginx

在 Red Hat/CentOS 上(使用 yum):

sudo yum install nginx

或者使用 dnf:

sudo dnf install nginx

3. 配置 Nginx

安装好 Nginx 后,关键的一步来了:配置它,让它把接收到的网络请求转发给背后运行的 Node.js 应用。

Nginx 的主配置文件通常位于 /etc/nginx/nginx.conf。不过,更常见的做法是在 /etc/nginx/sites-a vailable/ 目录下为每个网站创建独立的配置文件,这样管理起来更清晰。

下面是一个最基础的反向袋里配置示例。假设你的 Node.js 应用运行在本机的 3000 端口:

server {
    listen 80;
    server_name example.com; # 替换为你的域名或公网 IP

    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;
    }
}

你需要把代码中的 example.com 替换成你自己的域名,或者服务器的公网 IP 地址。如果只是在本地测试,换成 localhost127.0.0.1 也行。

4. 激活配置

配置文件写好了,但 Nginx 默认只会读取 /etc/nginx/sites-enabled/ 目录下的配置。所以,我们通常需要在两个目录之间创建一个符号链接(软链接)。

sudo ln -s /etc/nginx/sites-a vailable/your-config /etc/nginx/sites-enabled/

记得把命令里的 your-config 换成你实际配置文件的文件名。

5. 测试配置并重启 Nginx

在重启 Nginx 服务让新配置生效之前,有个好习惯必须养成:先测试一下配置文件语法是否正确,避免因为一个小错误导致服务无法启动。

sudo nginx -t

如果终端显示“syntax is ok”和“test is successful”之类的信息,恭喜你,配置没问题。接下来就可以重启 Nginx 了。对于使用 systemd 的现代系统:

sudo systemctl restart nginx

如果你用的是较旧的、使用 SysV init 脚本的系统,则可以使用这条命令:

sudo service nginx restart

6. 防火墙设置

最后,别忘了服务器的防火墙。需要确保 HTTP(80端口)和 HTTPS(443端口)是放行的,外部流量才能访问进来。

如果你使用的是 `ufw` 防火墙(Ubuntu 常见),命令很简单:

sudo ufw allow 'Nginx Full'

如果系统使用的是传统的 `iptables`,则需要手动添加规则:

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

完成以上所有步骤后,你的 Node.js 应用程序就应该能通过 Nginx 正常访问了。当然,记得把示例中的域名换成你自己的,其他配置参数也可以根据应用的实际情况做进一步调整。

本文转载于:https://www.yisu.com/ask/4451851.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注