Xin chào các bạn trong series Hướng dẫn deploy website lên VPS/Server có auto deploy cực kỳ đơn giản
Lần này mình sẽ hướng dẫn bạn deploy web app ASP.NET
Trong bài viết Hướng dẫn deploy website Laravel lên VPS/Server có auto deploy cực kỳ đơn giản mình đã có hướng dẫn chi tiết cách
Kết nối máy chủ
Database
Cấu hình website ASP.NET
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
-
Update Database & Build & Publish
Mở terminal cho website lên
dotnet 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 đây[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
Environment=ConnectionStrings__DefaultConnection={Connection String}
:::
- thay
Truy cập website để xem kết quả thành công nhé!