最近裝了個Linux Server想來玩玩看NET Core並佈署到上面,結果發現好多眉眉角角,網路上的文件似乎有點舊讓我一直撞牆撞不停,經過了幾個小時的煎熬最後終於成功了,這裡筆記一下方便下次使用…
首先按照 官網 提供的步驟進行安裝如下:
- 加入apt-get來源
123sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list'sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893sudo apt-get update - 開始安裝
1sudo apt-get install dotnet-dev-1.0.4 - 建立一個空資料夾
12mkdir HelloWebAppcd HelloWebApp - 初始化MVC專案
1dotnet new mvc
Templates清單:
12345678910Templates Short Name Language Tags----------------------------------------------------------------------Console Application console [C#], F# Common/ConsoleClass library classlib [C#], F# Common/LibraryUnit Test Project mstest [C#], F# Test/MSTestxUnit Test Project xunit [C#], F# Test/xUnitASP.NET Core Empty web [C#] Web/EmptyASP.NET Core Web App mvc [C#], F# Web/MVCASP.NET Core Web API webapi [C#] Web/WebAPISolution File sln Solution - 檢查套件是否遺失並安裝
1dotnet restore - 安裝Apache反向代理(Reverse-Proxy)
123456789sudo a2enmod proxysudo a2enmod proxy_httpsudo a2enmod proxy_ajpsudo a2enmod rewritesudo a2enmod deflatesudo a2enmod headerssudo a2enmod proxy_balancersudo a2enmod proxy_connectsudo a2enmod proxy_html - 設定000-default.conf
12345<VirtualHost *:80>ProxyPreserveHost OnProxyPass / http://127.0.0.1:5000/ProxyPassReverse / http://127.0.0.1:5000/</VirtualHost> - 重新啟動Apach並啟動.NET Core專案
12sudo service apache2 restartdotnet run - 完成 !!
- 2017/05/24 開啟啟動&背景執行
新增:/etc/systemd/system/kestrel-hellomvc.service
123456789101112131415[Unit]Description = https://blog.exfast.me/[Service]WorkingDirectory = /home/user/HelloWebApp/ExecStart = /usr/bin/dotnet run /home/user/HelloWebApp/HelloWebApp.dllRestart = always# Restart service after 10 seconds if dotnet service crashesRestartSec = 10SyslogIdentifier = dotnet-exampleUser = userEnvironment = ASPNETCORE_ENVIRONMENT = Production[Install]WantedBy = multi-user.target
指令:
12345sudo systemctl stop kestrel-hellomvcsudo systemctl disable kestrel-hellomvcsudo systemctl enable kestrel-hellomvcsudo systemctl start kestrel-hellomvcsudo systemctl status kestrel-hellomvc
來源: