配置Nginx端口转发时的问题

用Nginx做端口转发(反向代理) 本文中,我们介绍Nginx如何做端口转发,还有各种转发规则。 阅读详情

Nginx是一款高性能Http服务器,其最大的用途是作为负载均衡和反向代理(端口转发)的工具。

一、起因

昨天晚上闲来无事,上了下阿里云发现自己的域名和服务器都还没过期,所以就把自己的域名绑定到服务器地址上,做了一个DNS解析。但是我发现,每次需要访问8888端口时仍需要使用 域名:8888 这种方式访问,所以我想用Nginx做一个反向代理,将默认打开的80端口转发到8080端口中,以实现用域名直接访问8888端口的目的。

二、部署

部署安装都很顺利,对着流程一套做下来,没有太大问题(唯一的问题是服务器的apt版本太老,需要升级:apt -get update)。
之后,进入/etc/nginx后,输入./nginx,启动nginx,这时提示80端口已经被占用(或许是之前安装过nginx没有清理干净),所以这是第一个问题,现在需要杀死nginx的进程:
killall -9 nginx
杀死nginx进程后,再次启动,完成,一切到目前为止还算顺利,在浏览器中直接输入域名即默认打开了80端口,可以看到Nginx的欢迎页:
在这里插入图片描述

三、端口映射

接下来就是最主要的一步:做端口映射。我需要把80端口给映射到8888端口,进入conf文件夹,vi nginx.conf修改端口映射,一开始我将其改为这样:

	server {
        listen       80;

        server_name  127.0.0.1:8888;

        }

然后:wq!退出并保存内容,然后按照以前刷新配置文件的方式一样使用
source conf/nginx.conf加载更新的内容,这时报错:

worker_processes: command not found
Failed to convert URI from command line into object reference. BAD_PARAM (BAD_PARAM_BadSchemeName)
worker_connections: command not found
-bash: nginx.conf: line 17: syntax error near unexpected token `}'
-bash: nginx.conf: line 17: `}'

在这卡了很久,让我一度以为是nginx没有安装完整或者是服务器依赖的问题,所有我重新安装nginx并且重新下载了所有所需依赖,最后发现问题还是存在。最后我找到一篇帖子,里边有人评论说这是nginx的一个bug,不用理会,只要nginx的启动过程不报错就行了,此刻我的内心十分复杂,搞了半天原来是它本身的bug,但是这样也就算解决了吧。

四、暂停/重新启动

由于修改了配置文件,所以必须要重新启动nginx才能让其生效,所以我使用了nginx -s stop命令,之后就算一连串的报错:

 The program 'nginx' can be found in the following packages: 
* nginx-extras 
* nginx-full 
* nginx-light 
Try: apt-get install <selected package> 

所以我又把这些所需的依赖都装了一遍:

 apt-get install nginx-extras  
apt-get install nginx-full  
apt-get install nginx-light 

然后继续使用stop命令将其暂停,继续报错:

nginx: [error] open() "/run/nginx.pid" failed (2: No such file or directory)

这里也卡了很久,各种百度谷歌都在说需要在哪个哪个目录创建一个nginx文件夹,然后复杂nginx.pid到某个文件夹下,试了一遍还是不行,最后找到解决办法:

直接使用killall -9 nginx杀死nginx进程在使用./nginx启动nginx,配置文件就可以被加载到了。

五、端口映射不起作用

前面的几步都完成后,配置的80端口映射到8888端口仍不起作用,访问域名后仍然打开的80端口,所以我又回到第三步,最后发现不起作用的原因是:
我只配置了server_name,即虚拟主机名,但是却没有配置proxy_pass,即反向代理路径,所以我为server{}中添加以下内容,终于搞定了端口的映射:

server {
        listen       80;

        server_name  127.0.0.1:8888;

        location / {
            proxy_pass   http://127.0.0.1:8888;
        }
}

最后,80端口成功地被映射到本机的8888端口上,Nginx反向代理的端口转发成功了。

总结:从发现问题到解决问题一共花了三个多钟头,其实有许多问题的出现就是因为之前没有遇见过,以及许多问题或许根本不是会造成异常的问题,加上被各路博客的带偏(参考了几十个博客),最后越搞越乱。所以说要解决问题,还是需要发现问题的核心是什么,如何才能迅速发现问题的核心?那就需要多实践,多踩坑才能做到。现在踩的坑,就是以后站住脚的基石。

基于MobileNet⁃DOA的无人机射频信号识别方法 本文提出了一种基于MobileNet-DOA模型的无人机射频信号识别方法,用于解决低信噪比环境下无人机型号和飞行模式识别率低的问题。该方法首先采用变分模态分解(VMD)进行信号预处理以降低噪声干扰,然后通过短时傅里叶变换(STFT)将信号转换为时频图。在模型设计上,将DOConv卷积融入MobileNetv4模型以增强特征提取能力并提高运算速度,同时引入FA注意力机制提升低信噪比环境下的识别精度。实验结果表明,该方法在-15~15dB信噪比范围内的平均识别准确率达到94.83%,显著优于现有方法,特别在-1 阅读详情

相关推荐

OneNET物联网平台实战:从零搭建到双向数据通信测试

本文提供了一份详细的OneNET物联网平台实战指南,从零开始讲解平台搭建与设备创建,并重点演示了如何通过MQTT协议实现设备数据上报与云端命令下发的双向数据通信测试。通过模拟设备连接与数据交互,帮助开发者快速理解物联网核心通信流程。

weixin_29306571的博客 353

Nginx 实现端口转发

Nginx 实现端口转发

qq_36306519的博客 2万+

LabVIEW电压信号采集系统:从零搭建到科研实战

本文详细介绍了如何从零开始搭建一个基于LabVIEW的电压信号采集系统。内容涵盖硬件选型(如NI USB-6002数据采集卡)、软件环境配置、核心程序开发(包括多通道同步采集、数据自动保存)以及高级功能优化。系统支持自定义采样率与时长,并提供了完整的LabVIEW程序框图和配套的Python数据分析脚本,旨在帮助科研人员和工程师快速构建稳定、高效的专属数据采集方案,提升实验自动化水平。

gold8的专栏 462

nginx配置端口转发

nginx配置端口转发,配置http请求和https tcp/udp转发

耕耘 1万+

在win10-wsl2(ubuntu)中安装jlink

在 官方下载linux版本的deb包拷贝到ubuntu的/home目录下(其他目录也可以),进行安装然后提示很多依赖缺失的错误,此时执行自动安装需要的依赖包再次重新安装就可以啦查看是否安装成功,输入JLink 再按下两次Table键,是否如下所示这样表示安装成功了。

yaq_30401的博客 3141

保姆级教程:用GD32F470的EXMC Bank0 Region0与FPGA实现16位并行通信(附完整代码)

本文详细介绍了如何利用GD32F470的EXMC Bank0 Region0与FPGA实现16位并行通信,涵盖硬件连接、寄存器配置、时序优化及FPGA接口设计等关键步骤。通过实例代码和调试技巧,帮助开发者快速掌握高效数据交互技术,提升嵌入式系统设计能力。

weixin_26918763的博客 226

nginx安装并配置实现端口转发

nginx实现端口转发

m0_71142057的博客 1万+

C# 调用高德地图关键词 API

今天我们要一起探索如何使用 C# 来调用高德地图的关键词搜索 API,从而实现精准的地理位置搜索功能。高德地图的关键词搜索 API 可以帮助我们轻松地实现这一点,它能够返回一系列匹配关键词的地点坐标和其他相关信息。通过简单的几行 C# 代码,我们就实现了调用高德地图关键词搜索 API 的功能。接下来,我们将在一个 C# 控制台应用中实现调用高德地图关键词搜索 API 的功能。此外,如果要在生产环境中使用,还需要考虑安全性问题,例如不要在客户端暴露 API 密钥。🔥关注墨瑾轩,带你探索编程的奥秘!

java专栏 1106

Nginx 配置实现请求转发功能

1、找到配置文件 2、文件说明 #开启进程数 <=CPU数 worker_processes 1; #错误日志保存位置 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #进程号保存文件 #pid logs/nginx.pid; #每个进程最大连接数(最大连接=连接数x进程数)每个worker允许同时产生多少个链接,默认1024 e

优快云_Admin0的博客 5万+

Android 13 Settings蓝牙列表卡顿问题排查及优化过程

此时我们的卡顿优化基本完成了,我们应该要考虑内存是否会泄漏,如果大家不知道哪些需要回收可以用leakcanary和android profiler进行内存检测,看代码有没有内存泄漏。

龚礼鹏的博客 2548

Unreal使用nDisplay制作裸眼3D(9宫格)

摘要: nDisplay是虚幻引擎的分布式实时渲染技术,可将内容同步输出到多个显示设备(如LED墙、投影仪等),构建沉浸式可视化系统。其核心功能包括:分布式渲染(支持多台设备协同处理高分辨率内容)、空间透视校正(通过追踪观众动态调整画面几何关系)以及虚拟拍摄应用。配置时需设置集群组件(Cluster、Host、Node、Viewport)定义渲染逻辑,空间组件(nDisplayScreen、ViewPoint)确定投影关系。文中以9宫格配置为例,详细演示了从工程创建到影片渲染合成的全流程,最终通过多视口合成

TxNet 609

nginx监听端口非80时的转发问题的配置文件

#user  nobody;   worker_processes  4;   error_log  logs/error.log;   events {       worker_connections  1024;   }         http {       include       mime.types;       default_type  applicati

zld1987的专栏 4001

【机器学习】推理时计算优化——思维链(Chain-of-Thought)与慢思考范式 第一章:基础理论与认知框架 第二章:计算优化技术与前沿方法

过程监督在数学推理中展现出显著优势,因其能够定位错误发生的具体步骤,而非仅在最终答案处提供稀疏反馈。然而,高质量过程标注的获取成本高昂,这催生了基于自动验证器的近似方法。

VectorShift的博客 73

nginx转发端口时与导致websocket不生效

在nginx中将80端口转发到本地服务8080端口,但是导致服务中的websocket发生错误 配置转发规则: server { listen 80; server_name #服务器域名; #charset koi8-r; #access_log logs/host.access.log main...

qq_31275085的博客 1805

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

通过Nginx反向代理进行端口转发

一.什么是端口转发 当我们在服务器上搭建一个音乐以及一个电影的应用,其中音乐应用启动了 8001 端口,电影应用启动了 8002 端口。此时如果我们可以通过 localhost:8001 //音乐 localhost:8002 //电影 但我们一般访问应用的时候都是希望不加端口就访问域名,也即两个应用都通过 80 端口访问。但我们知道服务器上的一个端口只能被一...

lss0555的博客 2661

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

nginx 端口转发跳转问题

在配置百度ueditor时,发现操作链接按钮后, 服务器配置为 nginx   test.xxx.com 80  转发  tomcat  test.xxx.com:8088,这个资源它去8088端口找,自身为80端口,浏览器跨域报错 如果用test.xxx.com:8088/ueditor_ali 直接访问是没问题的,估计下来是nginx转发的问题 参考: htt

silyvin 7774

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

在docker中使用nginx转发端口失败

在配置nginx的时候,发现只能监听80端口,配置的别的端口的转发不生效。使用host启动nginx。

lixin1997的博客 839

Nginx - 记一次Nginx端口转发失败案例

文章目录项目场景:问题描述:原因分析:解决方案: 项目场景: 生产环境F5 后面配置了4个Nginx , F5端口开放了 8585端口 ,用于将请求 问题描述: 原因分析: 提示:这里填写问题的分析: 例如:Handler 发送消息有两种方式,分别是 Handler.obtainMessage()和 Handler.sendMessage(),其中 obtainMessage 方式当数据量过大时,由于 MessageQuene 大小也有限,所以当 message 处理不及时时,会造成先传

小工匠 2万+

程序员的nginx技能包(4)——端口转发,节约是一种美德,规范是一种信仰

背景 场景1 给客户开发微信公众号后台程序,大家都知道微信公众号必须要求80/443端口,OK,如果客户要求云服务器托管,那就GG了。因为同时监听80端口的服务端只能有一个,每个客户都得给他配一台服务器,哈哈,简直不要太烧钱。 要知道节约是一种美德,必须得用nginx解决之。 场景2 作为一个程序员,不同时开发N个项目简直体现不了自己的价值。 比如同时开发了如下几个springboot项目:(不要...

编程副队长 671

nginx 转发后 代码获取的端口不对

请注意,如果你的应用程序运行在不同的主机或者通过多级代理,你可能需要确保所有中间代理都正确地转发了原始端口信息。如果你使用的是 HTTPS,确保配置了正确的来处理,以便应用程序能正确识别请求是通过安全连接发起的。确保在做任何配置更改后重载或重启 Nginx 以使更改生效。

陈万洲的专栏 1526

Linux服务器上Nginx 发布Vue项目以及端口转发遇到的坑

发布Vue项目自定义路径问题 端口转发遇到的样式无法加载问题 一、发布Vue项目遇到的坑 今日在研究Nginx发布多个项目时,同一对外端口通过根路径区分不同项目。在其中一个是vue项目时,想在其前方添加新的根目录如: location /dwe { root html; try_files $uri $uri/ /index.html last; } 然后...

yhb051564的博客 900

docker host模式拿到nginx远程ip端口_nginx 端口转发

概述这两天在写 go 项目, 一个 HTTP 服务器. 之前写的是 php 项目, nginx 监听80端口, 根据域名将请求分配给不同项目. 现在换了 go, 自然也想延续这个操作, 毕竟都是跑在同一台服务器上. 那么问题来了, 我的nginx 监听80端口的同时, go 服务器是无法同样监听80端口的. 这该如何是好啊, 给我整的一脸懵逼.nginx 转发 go 服务不过想了一下, 发现自己进...

weixin_39886619的博客 586

Nginx反向代理时丢失端口号的问题及解决方案

今天,配置nginx反向代理mongrel时遇到一个问题,当设置nginx监听80端口时转发请求没有问题,但一旦设置了其他端口,就一直跳转不正常,刚开始以为是rewrite的问题,最后才发现是nginx端口丢失导致。这里给出一个简短的解决方案,修改Nginx的配置文件: server {listen 8888;server_name localhost;location / {proxy_set...

iteye_850的博客 2219

用nginx做udp代理解决ntp被封的问题

NTP端口被运营商封掉了,导致内网的机器都不能正常对时,用tcpdump发现可以往外发包,收不到回应, 自己写了一个测试程序发现服务器端可以收到123端口的udp包,回应收不到,一定是被运营商拦截了。 http://blog.youkuaiyun.com/mtour/article/details/41073525 参考这边文章,重新编译了ntp相关服务,tcpdump时发现发送的源端口确实变了,但一样

zhhz_zhhz的博客 3989

Nginx反向代理服务器(请求转发)

1.Nginx反向代理服务器作用:请求转发,负载均衡,动静分离 2.什么是请求转发 在大型的项目中,因为服务器在后端较多,访问端口不同,此时就会造成请求每个服务器路径的端口号不一致,这样不方便跳转增加代码整体复杂程度,此时就需要nginx,所有的访问路径使用一个请求端口,由nginx将请求转发到具体的服务器(根据地址中包含的唯一标识) 3.nginx的启功和停止命令分别是:(在cmd窗口中,关闭窗口不会停止nginx服务!) 启动:nginx.exe ...

qq_1757537040的博客 3584

Nginx处理302重定向端口丢失问题

虚机内部通过Nginx当做静态资源服务器,监听80、443端口,而在虚机外层还有一个端口转发,但这个端口转发使用的并不是80,导致业务系统登录后重定向地址并没有加上8050端口,而是继续使用了默认的80端口导致了问题的出现。业务部署于Linux虚拟机中,域名解析到公网ip,公网ip的非标准端口映射虚机的标准端口。由于种种原因无法使用公网标准端口(80、443),只能使用非标准端口,公网端口8050到虚机80、公网端口8051到虚机443。此处test为我虚机上的tomcat8080端口下部署的项目名称。

postman的博客 6391
上一篇: SpringBoot学习笔记(14)-整合Spring Data JPA
下一篇: SpringBoot学习笔记(15)-跨域请求
BoringRong
BoringRong 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 2万+粉丝 386原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BoringRong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值