ASP .Net Core系統部署到Ubuntu 16.04 具體方案
.Net Core 部署到Ubuntu 16.04 中的步驟
1、安裝工具
1、apache
2、.Net Core(dotnet-sdk-2.0)
3、Supervisor(進程管理工具,目的是伺服器一開機就啟動伺服器 上發布的ASP.NET Core Web網站)
2、安裝apache
安裝apache,在命令列終端中輸入一下命令:
sudo apt-get install apache2
(註:查看apache 版本 sudo apachectl -v)
重啟apache服務 sudo /etc/init.d/apache2 restart
在瀏覽器裡輸入http://localhost或者是http://127.0.0.1,如果看 到了It works!,那就說明Apache就成功的安裝了,Apache的預設 安裝,會在/var下建立一個名為www的目錄,這個就是Web目 錄了,所有要能過瀏覽器訪問的Web檔案都要放到這個目錄裡。
3、安裝.NET Core 2.0
1、安裝.NET Core 2.0 到Linux系統,如果安裝的預覽版本的話, 要先卸載原來的預覽版本。
A、查看方法,Linux系統中,右鍵運行終,輸入dotnet --version 結果帶有preview即為預覽版本。
B、卸載方法,Linux系統中,右鍵運行終,輸入sudo apt remove dotnet-sdk-2.0.0-preview3-006729(含preview即為預覽版) 進行卸載預覽版本。
2、註冊Linux系統(Ubuntu and Debian based systems,不同的系統 操作不一樣)
a、Ubuntu 17.10
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-artful-prod artful main" > /etc/apt/sources.list.d/dotnetdev.list'
b、Ubuntu 17.04 (Planned EOL by Ubuntu, January 2018)
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-zesty-prod zesty main" > /etc/apt/sources.list.d/dotnetdev.list'
c、Ubuntu 16.04(本系統)
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > /etc/apt/sources.list.d/dotnetdev.list'
3、更新安裝包,安裝.NET Core
sudo apt-get update
sudo apt-get install dotnet-sdk-2.1.4
註:上面的註冊和安裝可以參考 https://www.microsoft.com/net/learn/get-started/linux/ubuntu16-04
4、查看一下 dotnet --version 結果是 2.1.4 則說明安裝成功。
(註:簡單的應用程式專案檔夾,使用以下命令啟動網站,只要開啟發布網站的檔案,右鍵終端中開啟dotnet run或者dotnet xx.dll,即可運,xx為網站的名稱)
sudo dotnet xxx.dll
然後就可以在瀏覽器開啟localhost:5000(5000為預設連接埠,如果有修改,請使用實際IP和連接埠訪問)
這樣就實現了通過IP訪問,然而,重啟後我們會發現網站並沒有開機啟動,這個時候就需要Supervisor了
3、安裝Supervisor(設定開機自動化佈建網站)
1、右鍵在終端中開啟,輸入安裝命令:
sudo apt-get install supervisor
2、安裝完成之後,在 /ect/supervisor/confg.d/ 目錄下建立一個配 置檔案,取名為 MmPSCore.conf (個人取的是當前項目的名稱)
3、使用命令建立檔案:
sudo touch MmPSCore.conf
開啟MmPSCore.conf,寫入如下命令(如果沒有許可權,請如下方法 sudo gedit /ect/supervisor/confg.d/MmPSCore.conf #編輯命令
):
命令內容如下:
[program:MmPSCore]
command=dotnet MmPSCore.dll #要執行的命令(發布網站執行檔案)
directory=/home/xx/MmPSCore#命令執行的目錄(發布網站檔案路徑)environment=ASPNETCORE__ENVIRONMENT=Production #環境變數
user=www-data #進程執行的使用者身份
stopsignal=INT
autostart=true #是否自動啟動
autorestart=true #是否自動重啟
startsecs=1 #自動重啟間隔
stderr_logfile=/var/log/TestCore.err.log #標準錯誤日誌
stdout_logfile=/var/log/TestCore.out.log #標準輸出日誌
//註:#後面的內容為注釋,在儲存上面的檔案代碼時,記得刪除
4、配置好以後,需要重新載入一下配置
重新載入配置以後的設定
sudo supervisord -c /etc/supervisor/supervisord.conf 服務端
sudo supervisorctl -c /etc/supervisor/supervisord.conf 用戶端
重啟
supervisor服務
sudo service supervisor stop
sudo service supervisor start
5、接下來重啟機器,在瀏覽器中輸入localhost:5000,看看網 站是否跟隨開機自動運行。
補充:
apt-get install curl 提示沒有這個軟體源
解決方案:
sudo add-apt-repository ppa:costamagnagianfranco/ettercap-stable-backports
sudo apt-get update
sudo apt-get install curl