• 【Nginx】使用nginx反向代理IIS实现80端口的解放


    下载版本:

       官网地址:http://nginx.org/en/download.html

     

    我使用了稳定版本。

    下载完成之后进行目录解压,解压之后大概就是这个样子:

    网上很多人写这些了想了解概念的百度一下一搜一大把,所以就不唠叨了。只是记录一片windows中的使用,也是亲身体验,配置因为window可能有点坑所以记录以便查阅很分享。

    了解nginx的功能推荐:https://blog.csdn.net/csdn265/article/details/58693594

    开启服务

    在当前目录运行nginx,第一种可以直接点击exe文件运行,第二种就是在当前目录启动shell命令行start nginx。

    无论使用那种都是没有成功窗口的,当时我因为一闪而过的现象纠结了一大会,老以为没有成功,哈哈。所以我们可以去任务管理的进程下查看是否开启成功:

    当然还有nginx告诉我们的成功信息,可以去日志文件夹下查看是否生成nginx.pid文件,此文件代表生成的线程pid值:

    最后在浏览器里访问127.0.0.1看到欢迎界面:

    然后记录下nginx的命令:

    • nginx -s stop:快速关机
    • nginx -s quit:退出
    • nginx -s reload:更改配置,使用新配置启动新工作进程,正常关闭旧工作进程
    • nginx -s reopen:重新打开日志文件

    开启不成功解决

    在这里有可能会不成功。出现问题我们就去解压目录下的logs文件夹下查看错误日志:

     

    大概的意思就是80端口绑定失败了,意思说白可能就是80端口被占用了。

    可通过以下代码查看是否某个端口被占用:

    netstat -an | find "0.0.0.0:80"

     

    然后在通过以下命令查看占用的pid:

    netstat –ano

     

    通过以上我们知道了pid=4的占用了,然后我们打开任务管理器=>详细信息:

     

    发现被一个 NT Kernael &System 占用。然后我就去查这个东西的资料。说是和IIS服务相关的。然后就是关闭这个服务。

    命令行关闭:

    使用如下命令关闭iis相关服务(管理员身份进入cmd)

    net stop http

     

    然后选择Y。

     

    然后继续运行以下命令,记得运行命令后重启电脑相当关键(可坑死我了)

    sc config http start= disabled

     

    若需要还原http服务使用以下命令即可(在管理员下):

    sc config http start= demand & net start http

    net start http

    nginx设置代理

    刚才我们已经成功开启了nginx服务,那么我们就可以使用它了,现在我用一个示例说明一下代理。毕竟我也是学习,可能这个配置也有说的不全以后在补充更详细的,这里只做一个简单的使用。

    我们的示例总体效果是这样的,假如我们有一个网站可以挂在80端口下然后直接访问127.0.0.1这样就可以了,我们现在做到挂到其他端口下还可以这样访问到。

    有些人会产生疑问,为什么要这样?其实很简单因为我又有了第二个网站我还想这样访问怎么办,所以我们分别把网站挂在801,802下然后nginx根据不同的访问域名代理到个字端口下。

    我在这里已经有了一个弄好的网站,已经挂在了8080端口,

    访问一下,这里如果你是本机就是127.0.0.1跟上面说的不冲突,因为我是这阿里云服务器下分配到的内网ip就是这个就当127.0.0.1来看就好了。

    现在我们有了一个挂到8080端口下的网站,然后我们使用nginx进行80端口的反向代理配置:

    首先找到nginx的文件目录:nginx根目录/conf/nginx.comfig文件

     打开文件找到HTTP节点下的server节点,配置listen 为80,server_name  为域名或者ip+端口如果是本机也可以填写localhost,

    因为我又域名所以我填写了域名,但是这里我为了给大家说明白还是改成了ip:172.16.104.184。

    然后在配置location 节点配置转发地址:http://172.16.104.184:8080;

    然后大致的nginx.config文件内容如下:

    配置好了以后打开命令行输入:nginx -s reload 重新加载配置文件即可生效。

    然后看我在浏览器输入:172.16.104.184不需要输入8080端口即可访问刚才的项目:

  • 相关阅读:
    22 element-ui之Form表单el-form标签
    21 Vue的section组件
    21 Vue2.0 的transition组件
    Spring注解之组件注册
    Mybatis自动提交失败:Setting autocommit to false on JDBC Connection
    用STM32定时器测量信号频率——测频法和测周法[原创cnblogs.com/helesheng]
    mac ssh 总是自动断开
    cmake 简易教程
    mac 安装 mongodb
    新手程序员一般有如下特点
  • 原文地址:https://www.cnblogs.com/yanbigfeg/p/9666949.html
Copyright © 2020-2023  润新知