之前弄自己的网站流程是这样的
WIN+R -> 输入mstsc -> 连接到远程桌面 -> windows服务器 创网站,解析域名,去阿里云申请免费的ssl证书搞https,再回到IIS里添加443端口绑定
一开始只做了一两个网站,这样部署还不算太麻烦
到后台,自己业余弄的网站越来越多,种类也越来越多(自己做的.net core 一些api网站,网上找的hexo,vuepress生成的静态页面网站,wordpress,showdoc,等等一些基于php的网站)
为了让.net和php共同存在于IIS,又费了一番功夫
但是这也阻挡不住越来越繁琐的流程,众所周知ssl证书是会过期的,因为这个所以我要不断的去申请免费的sll证书,一次次又手动下载绑定。。。(阿里云有一件部署ssl证书,要钱)
*重点:
后来发现了宝塔这玩意,上了下手,方便啊,马不停蹄的安装到俺的iis服务器里
然后在它的控制面板安装了nginx
此时面临第一个问题:宝塔安装nginx会让iis相关的服务停止
解决方法:参考文章1 参考文章2 (两个是分别恢复不同服务)
(必须要先恢复iis 的这些鬼东西,因为我们要靠这些东西来运行俺自己的.net 相关网站程序)
恢复IIS服务之后(就是进入IIS面板能够随便启动其中某一个网站则视为恢复完成)
回顾一下我们的目的:让Nginx支持asp.net网站程序也支持php网站程序
再看看目前情况:宝塔里安装了nginx,同时也可以直接安装php,nginx本身在里面就支持php
所以目前就剩下一个目标,让nignx支持asp.net的网站程序
解决方法:参考文章3
主要就是在nginx下的配置文件server节点里放上这么一段 (根目录即root目录记得更改,还有那个本地地址最后的端口也要和网站一致,就你这个配置文件最头上那个端口一致)
#asp(aspx)支持,将客户端的请求转交给IIS location ~* .(asp|aspx|asa)<# WebPartBody #>nbsp;{ root D:/xxx; index index.asp index.aspx; proxy_pass http://127.0.0.1:80; proxy_set_header X-Real-IP $remote_addr; }
根据参考文章3,脑补如果要支持jsp 或者 各种奇奇怪怪的网站程序,应该也可以通过类似手法实现
这个配置大意就是将.net的东西交给会编译的人去编译
(记得,IIS要恢复成能使用的状态,但是不要启动其中的网站)
也不用转移网站,在宝塔面板新建网站,然后把对应之前部署在IIS下的网站目录分别复制过来启动就好了
而且部署SSL证书,也可以通过宝塔面板直接生成部署(免费,划重点)
还有其他一些便捷的操作(个人没咋用)总之,有更方便的东西一定要去使用,节省时间,时间是宝贵的
通过以上操作,我现在运维自己的网站流程是这样的
在自己的电脑上输入宝塔面板地址访问,新建网站,一键生成SLL证书并部署,完成