当前位置:首页 > 教程 > 正文内容

nginx映射不同端口(nginx 端口映射无法后端)

2023-04-23 13:10:04教程1

nginx 端口映射无法后端

由于linux的socket监听机制和TCP协议,多个进程无法监听同一个端口,但是具体到nginx,可以多个nginx进程监听到不同端口,通过一个主进程端口做upstream来实现负载均衡,这个有点类似于网络的汇聚,可以设置不同的策略,比如iphash,urlhash或者RR。

nginx 不同端口

完全是可以的,只不过两个服务的默认端口都是80,如果不进行修改的话是无法打开的,比如你可以把apache的配置文件中的 httpd.conf里面 Listen 80 改为 Listen 8088 ,然后再启动,这样nginx监听80端口,apache监听8088端口,就不会冲突了

nginx配置映射

nginx从1.9.0开始,新增加了一个stream模块,用来实现四层协议的转发、代理或者负载均衡等。比如在内网有一个mysql服务,想暴露到公网上去使用,就可以通过nginx代理的方式通过nginx来进行内网mysql的访问。

实验环境

nginx1.12.1 : 192.168.1.19

mysql : 192.168.1.20:3306

1:编译或者升级nginx至版本1.9.0以上,编译过程中需带上--with-stream。

# ./configure --prefix=/opt/apps/nginx --with-stream

# make && make install

2:配置stream,定义代理192.168.1.20的3306端口映射为端口2333。

# vi /opt/apps/nginx/conf/nginx.conf

……

……

events {

use epoll;

worker_connections 65535;

}

#stream配置

stream {

server {

listen 2333;

proxy_connect_timeout 1s;

proxy_timeout 3s;

proxy_pass 192.168.1.20:3306;

}

}

http {

……

……

}

3:开启nginx,验证代理是否生效。

image.png

可以看到我们现在可以通过nginx代理的端口访问到内网的mysql服务了。这也直接避免了mysql直接暴露到公网,增加些许的安全。当然,利用stream也可以实现后端服务的负载均衡。

nginx映射本地路径

您可以在网站的首页中放置一个IP地址查询的工具或者小部件,让访问者在主页直接查询自己的IP地址。具体操作步骤如下:

1. 在网站中选择并购买一个IP地址查询的小工具或者代码,比如可以在Google搜索“IP地址查询工具”或“IP地址查询代码”等关键词,找到适合自己网站的代码或工具;

2. 将IP地址查询工具或者代码的HTML代码复制到主页中需要放置的位置处,比如可以放置在网站的头部或者底部;

3. 保存主页的HTML代码,并上传到您的服务器,让访问者可以通过输入您的网站地址来访问主页;

4. 访问者进入主页后,可以看到IP地址查询的工具,输入自己的IP地址即可查询。

注意:网站的IP地址是需要在服务器端配置的,一般情况下不会直接显示在主页上。如果您的需求不是查询IP地址,而是想在主页显示服务器IP地址,可以在主页上添加获取服务器IP地址的代码,或者通过命令行方式查询服务器IP地址并手动添加到主页的HTML代码中。

nginx映射服务器接口

下面是做端口转发的基本配置步骤: 

1.首先要在服务器上装好软件,比如Apache,Nginx,VSFTP等等 

2.在客户端配置端口转发,比如用NAT,iptables,虚拟专用网络等等 

3.在服务器上配置端口映射规则,比如将服务器的8080端口映射到客户端的80端口 

4.最后把服务器的公网IP地址配置给客户端的DNS,这样客户端就可以通过服务器的公网IP地址来访问服务器上的服务

本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.

本文链接:https://www.xibujisuan.cn/98793330.html