nginx安装 、分发实现多域名访问同一主机不同端口 - Go语言中文社区

nginx安装 、分发实现多域名访问同一主机不同端口


nginx就不做介绍了,我也刚接触不久,了解比较片面,可以参考这篇博客了解一下:8分钟带你深入浅出搞懂Nginx
nginx分发机制大家可以参考这篇博客:nginx负载均衡的常用策略

一、nginx安装

ngnix的下载安装比较简单,可以去官网下载:nginx: download

基本命令

我是Windows系统,找到对应的nginx文件直接下载压缩包后,解压即可使用。
这里不做过多介绍

二、nginx分发实现多域名访问同一主机不同端口

主要说说实现多域名访问同一主机不同端口,这里我就拿本机(Windows系统)来模拟演练一下。原理和操作都和实际是一样的,只不过如果是Linux系统,就会有些不同。

要实现多域名访问同一主机不同端口,我们大致需要操作三个文件:

  • C:WindowsSystem32driversetc 路径下的hosts文件
  • tomcat conf 路径下的server.xml文件
  • Nginx conf 路径下的nginx.conf文件

此外因为一般情况下一个tomcat只有一个ROOT启动项,所以还需要几个tomcat,我复制了两个
在这里插入图片描述

1.操作C:WindowsSystem32driversetc 路径下的hosts文件
(1) 首先进入对应路径,Windows系统一般都是这个路径,找到hosts文件打开(注意要是管理员身份下的编辑模式,否则有的Windows系统打开没有权限编辑和保存)
在这里插入图片描述
(2) 因为我是Windows7系统和Windows10有区别,下图看红框内是我添加的,因为我在本机做的演示,所以ip是127.0.0.1,域名也是我写的一个虚拟域名。修改好后保存

Windows7系统的hosts文件:
在这里插入图片描述
我还特意找了一个Windows10的hosts文件做对比,如果你是Windows10可以仿照上面的在这个下面添加,修改好后保存:
在这里插入图片描述


2.操作tomcat conf 路径下的server.xml文件
(1)修改复制的两个tomcatconf路径下的server.xml文件中的端口
第一个tomcat
这里我只展示修改的代码段,一共要改三个端口即可
更改后的端口是不唯一的,只要保证不同的tomcat的端口不一样即可

<!--将8005端口改为了8015-->
<Server port="8015" shutdown="SHUTDOWN">
<!--将8080端口改为了8001-->
 <Connector port="8001" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
<!--将8009端口改为了8019-->
<Connector port="8019" protocol="AJP/1.3" redirectPort="8443" />

第二个tomcat
这里我只展示修改的代码段,一共要改三个端口即可
更改后的端口是不唯一的,只要保证不同的tomcat的端口不一样即可

<!--将8005端口改为了8025-->
<Server port="8025" shutdown="SHUTDOWN">
<!--将8080端口改为了8000-->
 <Connector port="8000" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
<!--将8009端口改为了8029-->
<Connector port="8029" protocol="AJP/1.3" redirectPort="8443" />

这里我只修改了两个tomcat对应的server.xml文件,因为我要展示两个域名访问同一主机不同端口
上面修改保存后,启动我们的tomcat,两个都要启动。

注:如果出现了启动一个tomcat,当我们再次启动另外一个tomcat时,闪退的情况,一定是因为两个tomcat有部分端口重复了,仔细检查更改即可。

其实我们可以实现相同ip通过不同端口访问了,nginx只是对于域名和ip有了一个映射
我们先看看相同ip不同端口访问的访问

8000端口:
在这里插入图片描述
8001端口:
在这里插入图片描述
3. Nginx conf 路径下的nginx.conf文件
(1)打开nginx.conf,如下图添加,代码在下面
在这里插入图片描述
可以看出来8001端口对应b.yzh.com域名,8000端口对应
c.yzh.com,ip是我本机的,因为我是在本机操作的嘛

server {
        listen 80;
		server_name  b.yzh.com;
        location / {
             proxy_pass http://127.0.0.1:8001;
        }
    }
	server {
        listen 80;
		server_name  c.yzh.com;
        location / {
             proxy_pass http://127.0.0.1:8000;
        }
    }

完成后保存即可。
(2)运行ngnix
进入ngnix路径,直接输入ngnix.exe即可启动
在这里插入图片描述
问题: 如果出现ngnix启动不成功,你之前又装过SQL server,那么在服务中找到SQL Server Reporting…停掉即可。
在这里插入图片描述
OK了!

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/m0_37482190/article/details/92018326
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-07 23:15:18
  • 阅读 ( 1407 )
  • 分类:Go Web框架

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢