4️⃣ Chạy ứng dụng trên CentOS
Chạy trực tiếp
dotnet run
- Mặc định ứng dụng sẽ chạy trên
http://localhost:5000vàhttps://localhost:5001. - Bạn có thể mở firewall để truy cập từ bên ngoài:
sudo firewall-cmd --add-port=5000/tcp --permanent
sudo firewall-cmd --reload
Chạy ở chế độ production
dotnet publish -c Release -o /var/www/mywebapp
cd /var/www/mywebapp
dotnet MyWebApp.dll
5️⃣ Cài đặt dịch vụ systemd để chạy tự động
Tạo file dịch vụ:
sudo nano /etc/systemd/system/mywebapp.service
Nội dung ví dụ:
[Unit]
Description=My .NET WebApp
[Service]
WorkingDirectory=/var/www/mywebapp
ExecStart=/usr/bin/dotnet /var/www/mywebapp/MyWebApp.dll --urls "http://0.0.0.0:5000"
Restart=always
RestartSec=10
SyslogIdentifier=dotnet-mywebapp
User=www-data
Environment=ASPNETCORE_ENVIRONMENT=Production
[Install]
WantedBy=multi-user.target
Sau đó kích hoạt:
sudo systemctl daemon-reload
sudo systemctl enable mywebapp.service
sudo systemctl start mywebapp.service
sudo systemctl status mywebapp.service
Ứng dụng của bạn bây giờ sẽ chạy như một service, tự khởi động cùng máy chủ.
Reload và restart service nếu cần:
sudo systemctl daemon-reload
sudo systemctl restart mywebapp.service
✅ 6. Xem log dịch vụ (rất quan trọng khi debug)
sudo journalctl -fu mywebapp.service
✅ 7. Các lệnh quản lý dịch vụ khác
Dừng dịch vụ:
sudo systemctl stop mywebapp.service
Khởi động lại:
sudo systemctl restart mywebapp.service
Xóa tự chạy:
sudo systemctl disable mywebapp.service
6️⃣ (Tuỳ chọn) Dùng Nginx làm reverse proxy
- Cài Nginx:
sudo dnf install nginx -y
sudo systemctl enable --now nginx
- Cấu hình reverse proxy cho .NET:
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://127.0.0.1:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
- Reload Nginx:
sudo nginx -s reload
Để lại một phản hồi