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

19次阅读

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

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

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

安装 Nginx

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

  • Ubuntu/Debian:sudo 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 反向代理?

Genesis

开源的生成式物理引擎,可模拟世界万物。

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

查看详情 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 证书
  • 静态资源缓存:对图片、CSS、JS 设置缓存头提升性能
  • 负载均衡:多个后端实例可用 upstream 模块做分发
  • 路径路由:不同路径代理到不同服务,例如 /api 转发到后端 API

比如按路径代理:

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

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

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

星耀云
版权声明:本站原创文章,由 星耀云 2025-12-05发表,共计1499字。
转载说明:转载本网站任何内容,请按照转载方式正确书写本站原文地址。本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。
text=ZqhQzanResources