Linux 上怎么配置 Nginx 反向代理?

1次阅读

linux 上配置 nginx 反向代理需安装 Nginx、编辑站点配置文件(如 /etc/nginx/sites-available/myapp),设置 listen、server_name、proxy_pass 及关键请求头,启用配置后执行 nginx -t 测试并 systemctl reload nginx 生效。

Linux 上怎么配置 Nginx 反向代理?

在 Linux 上配置 Nginx 反向代理其实不复杂,只要理解基本结构和常用指令就能快速上手。Nginx 作为反向代理时,会接收客户端请求,然后转发给后端服务(比如 node.jspython 应用、docker 容器等),再把响应返回给客户端,对外隐藏真实服务器信息。

安装 Nginx

大多数 Linux 发行版都支持通过包管理器安装 Nginx:

  • ubuntu/debiansudo apt update && sudo apt install nginx
  • centos/RHEL:sudo yum install nginxdnf install nginx

安装完成后启动并设置开机自启:

sudo systemctl start nginx
sudo systemctl enable nginx

配置反向代理的基本步骤

Nginx 的主配置文件通常位于 /etc/nginx/nginx.conf,但站点配置建议放在 /etc/nginx/sites-available/ 并通过软链接启用(某些系统如 CentOS 默认没有这个目录,可手动创建或直接使用 conf.d)。

以代理本地运行在 3000 端口的 Web 服务为例:

  1. 创建一个新的配置文件,比如 /etc/nginx/sites-available/myapp
server {     listen 80;     server_name example.com www.example.com;      location / {         proxy_pass http://127.0.0.1:3000;         proxy_set_header Host $host;         proxy_set_header X-Real-IP $remote_addr;         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;         proxy_set_header X-Forwarded-Proto $scheme;     } }

说明:

Linux 上怎么配置 Nginx 反向代理?

讯飞智文

一键生成PPT和Word,让学习生活更轻松。

Linux 上怎么配置 Nginx 反向代理? 61

查看详情 Linux 上怎么配置 Nginx 反向代理?

  • listen 80:监听 HTTP 80 端口
  • server_name:你的域名或 IP
  • proxy_pass:实际后端服务地址
  • proxy_set_header:传递客户端真实信息给后端,避免日志或鉴权出错
  1. 启用该配置(Ubuntu/Debian 常见方式):

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

  1. 测试配置是否正确:

sudo nginx -t

  1. 重新加载 Nginx 使配置生效:

sudo systemctl reload nginx

常见扩展配置

实际使用中可能还需要以下优化:

  • 启用 https配合 Let’s Encrypt 使用 Certbot 自动配置 ssl 证书
  • 静态资源缓存:对图片、cssjs 设置缓存头提升性能
  • 负载均衡多个后端实例可用 upstream 模块做分发
  • 路径路由:不同路径代理到不同服务,例如 /api 转发到后端 API

比如按路径代理:

location /api/ {     proxy_pass http://127.0.0.1:5000/; }

注意结尾的斜杠会影响转发行为,需留意。

基本上就这些。配置反向代理核心是 proxy_pass 和设置好请求头,其他根据需求逐步扩展。改完记得测试语法和重载服务,避免中断线上访问。

text=ZqhQzanResources