各位前輩大家好
最近在思考一個問題但是沒有查找到相關的文章
主要的問題就是:
IIS 站台內的「啟動」是否與 cmd 下命令 donet 網站 .dll 做的事情是一樣的?
會觸發這件事情是因為在使用 Nginx 當作伺服器想要把 web api 架起來時
把root設定為資料夾目錄後啟動Nginx,直接在瀏覽器列輸入 localhost 不會有反應
原先的預想是指定完 root 之後啟動 Nginx,Nginx 就會自動啟動 dll
不曉得是:
A. 設定錯誤 → 是可以讓 Nginx 啟動時 Run .Net 5.0 的dll (如同IIS在站台下點選啟動時不需要額外設定或是操作,就可以把web run起來)
B. 理解錯誤 → Nginx 無法自己啟動網站或是服務,需要手動進入命令提示自元把dll run起來
作業系統: Windows
程式框架: .Net 5.0
Nginx: 1.21.4
Nginx不會自動啟動.Net app
要額外寫一個Service
這個是別處的問答
https://stackoverflow.com/questions/51354868/run-asp-net-core-app-under-linux-on-startup
這個是官方文件,也是說要寫Service
https://docs.microsoft.com/zh-tw/troubleshoot/aspnetcore/2-3-configure-aspnet-core-application-start-automatically
To mathewkl
首先謝謝你的回答,文章是run在CentOS上
也有看到黑暗執行緒大大的佈署文章內也有"啟動網站"這個步驟
但挪到Windows我就有點疑惑是否是一樣的步驟...
windows怎麼可能一樣的步驟。
windows可以用nssm去註冊成service,應該可以設定相依性,相依iis啟動。
https://nssm.cc/usage
不過其實也不需要,註冊成系統重開機等幾分鐘應該都會開起來。
我自己是windows就乾脆用iis做reverse proxy,所以沒實際弄過。
To force
應該是我描述不清楚,我的意思是說
都要有「啟動網站」這個步驟,不論是雙擊發布出來的exe檔或是cmd → dotnet 網站.dll
做成一個開機自動執行的windows service,Nginx啟動後不管有沒有call都應該能開網頁?
To mathewkl
既然確定了Nginx無法啟動的時候如iis一樣啟動網頁
那之後會參考您說的方式,或是使用工作排程器的方式來定時啟動以及重啟,感謝!