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

下载版本:   官网地址:http://nginx.org/en/download.html 我使用了稳定版本。下载完成之后进行目录解压,解压之后大概就是这个样子:网上很多人写这些了想了解概念的百度一下一搜一大把,所以就不唠叨了。只是记录一片windows中的使用,也是亲身体验,配置因为window可能有点坑所以记录以便查阅很分享。开启服务在当前目录运行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 httpnet start httpnginx设置代理刚才我们已经成功开启了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端口即可访问刚才的项目: 

    相关内容推荐