Deploy ASP.NET website
Cấu hình website
Giả sử bạn có 1 website ASP.NET muốn chạy dưới domain domain.com
Vào kho ứng dụng, cài đặt ứng dụng
ASP.NET
Tạo trang web với cấu hình như sau
- Nhập domain
- Chọn Proxy Port
- Nhập port mà ứng dụng ASP.NET của bạn chạy, ví dụ 3000
Cài đặt mã nguồn cho trang web từ git hoặc tự tải lên
Update Database & Build & Publish
Mở terminal cho website lên
bashdotnet ef database update dotnet build dotnet publish
Tạo Service cho website
Sử dụng tính năng quản lý Service để tạo service
Tạo service có tên
domain_com
(bạn đặt domain_com hay gì tùy ý nhưng lưu ý là ngắn gọn, dễ nhớ, không có ký tự đặt biệt gì)Nội dung
domain_com
bạn tham khảo dưới đâyini[Unit] Description=ASP.NET - domain.com [Service] WorkingDirectory=/home/flashvps/domain.com ExecStart=/usr/bin/dotnet /home/flashvps/domain.com/bin/Debug/netcoreapp8.0/publish/domain_com.dll --urls "http://127.0.0.1:3000" Restart=always RestartSec=10 KillSignal=SIGINT SyslogIdentifier=domain_com User=flashvps Environment=ASPNETCORE_ENVIRONMENT=Production Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false [Install] WantedBy=multi-user.target
WARNING
- thay
3000
thành proxy port bạn đã khai báo lúc tạo website trước đó - Bạn hãy thay
domain.com
thành tên miền tương ứng với website của bạn flashvps
là user mà website đang chạy, hãy thayflashvps
tương ứng với user mà website đang chạy (chú ý không được đặt làroot
)bin/Debug/netcoreapp8.0/publish/domain_com.dll
là đường dẫn tới file dll màdotnet publish
tạo ra- Linux có hệ thống tệp phân biệt chữ hoa chữ thường. Việc đặt
ASPNETCORE_ENVIRONMENT
thànhProduction
sẽ dẫn đến tìm kiếm tệp cấu hìnhappsinstall.Production.json
, chứ không phảiappssettings.production.json
. - Dấu phân cách dấu hai chấm (😃 không được hỗ trợ trong tên biến môi trường. Hãy sử dụng dấu gạch dưới kép (__) thay cho dấu hai chấm. Hệ thống sẽ chuyển đổi dấu gạch dưới kép thành dấu hai chấm khi các biến môi trường được đọc vào cấu hình. Trong ví dụ sau , khóa chuỗi kết nối
ConnectionStrings:DefaultConnection
được đặt vào tệp định nghĩa dịch vụ làConnectionStrings__DefaultConnection
iniEnvironment=ConnectionStrings__DefaultConnection={Connection String}
- thay
Truy cập website để xem kết quả thành công nhé!