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

nginx监听多端口配置(nginx监听多个端口)

2023-04-11 11:30:05教程1

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 监听多个端口

不同的项目使用不同的域名,nginx绑定域名和端口转发就可以。

nginx监听8080端口

在nginx中$host变量是无法添加端口号的,即便是在请求中修改Host的内容,也无法修改让$host中增加端口信息。但是可以使用$http_host变量来做到这一点。

例如,如下的配置:使用如下的命令:$ curl -H "Host:127.0.0.1:8080" 'http://127.0.0.1:8080'可以得到如下结果:

因此,从结果看,即便是使用-H修改了请求中的host,但是$host变量仍然只是ip地址部分,而$http_host则可以显示成ip:port的形式。

nginx监听多个端口域名

启动失败的解决办法: 1. 卸掉占用80端口的程序,然后再次启动nginx。 2. 不关闭占用80端口的服务、程序,更改nginx监听的端口号。 3. Nginx 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。

nginx监听多个端口号

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

nginx监听多个端口配置error page

nginx不能启动的原因一般有以下几个原因:

1.配置文件错误,检查配置文件是否存在语法错误2.监听的端口已经被使用3.https网站证书错误

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

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