当前位置: 首页 > news >正文

[运维][服务器][lightsail] Nginx反向代理实现端口映射:将80端口转发至本地5000端口

在部署 Web 应用时,通常本地开发环境运行在 localhost:5000 或其他高位端口,但线上用户只能通过标准端口如 80(HTTP)访问。此时就需要用到 Nginx 的反向代理功能,将外部请求的 80 端口转发到内部应用端口(如 5000),实现无缝对接。

本文将手把手教你如何通过 Nginx 实现端口映射,适用于 Ubuntu 系统(如 AWS Lightsail 环境)。


一、为什么需要反向代理?

大多数后端框架(如 Flask、Django、Node.js)默认监听的端口不是 80,而云服务器的开放端口配置和用户访问习惯通常要求监听 80 或 443(HTTPS)。此时通过反向代理实现端口映射,不仅安全、灵活,还能为后续的负载均衡、HTTPS 配置打好基础。


二、准备工作:进入项目配置环境

  1. 推荐进入你的项目文件夹,方便后续操作。

    cd /your/project/folder
    
  2. 打开 Nginx 配置文件进行编辑

    • 常见配置文件路径:

      • /etc/nginx/sites-available/default

      • /etc/nginx/nginx.conf

    • 推荐使用 nano 编辑器:

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

三、编写 Nginx 监听配置

在打开的配置文件中 不要修改原有的 server,而是在文件底部追加以下内容:

server {listen 80;server_name your-domain.com;  # 改为你的域名或公网 IPlocation / {proxy_pass http://127.0.0.1:5000;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}
}

编辑提示

  • 输入完成后按下 Ctrl+O 保存文件。

  • 然后按下 Ctrl+X 退出编辑器。


四、使配置生效

  1. 测试配置是否正确

    sudo nginx -t
    

    如果出现 syntax is oktest is successful,说明配置无误。

  2. 重载 Nginx 使配置生效

    sudo systemctl reload nginx
    

五、Lightsail 特殊说明

如果你使用 AWS Lightsail:

  • 你应该编辑的是 /etc/nginx/sites-available/default 文件。

  • 修改时建议 不要动顶部的原始 server 配置,直接 滚动到最下方 添加上面的反向代理配置。

  • 如权限不足,可用 sudo nano 进入编辑。


总结

通过以上步骤,你就完成了将外部请求的 80 端口映射到本地应用 5000 端口的操作,用户访问你的域名或服务器 IP 时,将自动由 Nginx 转发至你的后端服务。此法不仅适用于 Flask、Django,也适用于 Node.js、Go 等任意 Web 服务。


✅ 核心步骤回顾:

  • 进入配置文件:sudo nano /etc/nginx/sites-available/default

  • 添加监听代理配置(监听 80,转发至 127.0.0.1:5000)

  • 测试配置:sudo nginx -t

  • 重载服务:sudo systemctl reload nginx

相关文章:

  • C++ 图像处理库 CxImage 简介 (迁移至OpenCV)
  • 【自然语言处理与大模型】大模型Agent四大的组件
  • 鸿蒙OSUniApp 实现带有滑动删除的列表#三方框架 #Uniapp
  • 系统架构中的限流实践:构建多层防护体系(二)
  • react基础知识(下)
  • React 生命周期与 Hook 理解解析
  • Docker基础 -- Ubuntu 22.04 AArch64 交叉编译 Docker 镜像构建指南
  • [CSS3]rem移动适配
  • 防火墙的SD-WAN功能
  • jeecg-boot vue点击左侧菜单跳转无菜单栏的全屏页面
  • 5月26日星期一今日早报简报微语报早读
  • 数据结构-查找(1)
  • 机器学习多分类逻辑回归和二分类神经网络实践
  • 如何最简单、通俗地理解Pytorch?神经网络中的“梯度”是怎么自动求出来的?PyTorch的动态计算图是如何实现即时执行的?
  • 3d tiles高级样式设计与条件渲染
  • [面试精选] 0053. 最大子数组和
  • 小土堆pytorch--优化器
  • uniapp-商城-71-shop(4-商品列表,详情页中添加商品到购物车的处理)
  • 2025年燃气从业人员考试题库及答案
  • Java高频面试之并发编程-21
  • 合肥集团网站建设/黄冈网站建设收费
  • 服务器做网站配置/百度广告联盟一个月能赚多少
  • 深圳做三网合一网站/公司培训
  • 三门峡网站网站建设/手机360优化大师官网
  • 南昌招商网站建设/免费优化
  • 域名备案期间 网站访问/做个公司网站多少钱