之前弄自己的網站流程是這樣的
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證書並部署,完成