原本工作上就是寫C#,但是ASP.NET很久沒碰了,最近有需求要做Web後台所以就評估用ASP.NET適用性,發現.Net Core可以運作在Linux主機後,就寫了一個測試的WebAPI做測試
1.微軟說純運行.net core不需要安裝SDK只需要安裝runtime即可,幾乎主流的發行版都有支援
https://docs.microsoft.com/zh-tw/dotnet/core/linux-prerequisites?tabs=netcore2x
2.安裝套件,CentOS 7直接用yum安裝十分方便
https://dotnet.microsoft.com/download/linux-package-manager/centos/runtime-2.1.2
3.運行背景服務
可以搭配Apache使用或者使用內建的Kestrel WebServer
https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-apache?view=aspnetcore-2.1
範本Service Script要修改dotnet路徑為/usr/bin/以及執行身分
[Unit]
Description=Example .NET Web API App running on CentOS 7
[Service]
WorkingDirectory=/var/www/helloapp
ExecStart=/usr/local/bin/dotnet /var/www/helloapp/helloapp.dll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dotnet-example
User=apache
Environment=ASPNETCORE_ENVIRONMENT=Production
[Install]
WantedBy=multi-user.target
P.S 一直以為Kestrel是獨立的軟體(傳統LAMP觀念),實際做一次才發現他是整合在.Net Core的核心組建中
要調整Kestrel參數要在主程式中帶入參數
https://blog.johnwu.cc/article/ironman-day30-asp-net-core-kestrel-web-server.html
沒有留言:
張貼留言