Linux 使用 Apache 部屬 ASP.NET Core MVC 網站
今天想要轉換一下linux平台部屬程式,剛好來記錄一下部署流程:
1. 安裝 Apache
sudo apt update
sudo apt install apache2 -y
確認 Apache 運行:
打開瀏覽器輸入 http://伺服器IP
,應該可以看到 Apache 的預設頁面。
2. 測試靜態網頁
在 /var/www/html
放置一個 index.html
:
echo "<h1>Hello Apache!</h1>" | sudo tee /var/www/html/index.html
3. 安裝 .NET SDK
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
sudo apt-get install -y dotnet-sdk-8.0
檢查是否安裝成功:
dotnet --version
4. 建立 ASP.NET Core MVC 專案
dotnet new mvc -o MyWebApp
cd MyWebApp
dotnet run
5. 配置 Apache 反向代理
sudo a2enmod proxy
sudo a2enmod proxy_http
6. 測試網站
靜態網頁 → http://你的ip
ASP.NET Core 網頁 → http://你的ip:8080/
7. 進階:使用 systemd 管理 .NET 應用程式
要讓 .NET App 在背景執行並隨開機啟動,可以建立一個 systemd service
建立檔案 /etc/systemd/system/mywebapp.service
:
[Unit]
Description=ASP.NET Core Web App
After=network.target
[Service]
WorkingDirectory=/var/www/MyWebApp
ExecStart=/usr/bin/dotnet /var/www/MyWebApp/MyWebApp.dll
Restart=always
RestartSec=10
SyslogIdentifier=mywebapp
User=www-data
Environment=ASPNETCORE_ENVIRONMENT=Production
[Install]
WantedBy=multi-user.target
留言
張貼留言