I have listed items with references which will help you in deploying your ASP.NET Core site from scratch in a fresh VM for a production environment.
- Install and Setup Supervisor - It is a tool which will help in the auto-start of your site on server restart, otherwise, on server restart, you might need to manually start site.
- Install and Setup Nginx - For Reverse Proxying to your .NET app
- Install DotNet Core https://dotnet.microsoft.com/download/linux-package-manager/ubuntu16-04/sdk-current
- Get a domain - Can get from GoDaddy or any other vendor.
- Setup and Install Lets Encrypt - To Obtain Free SSL Certification or if you have own certificate purchased you can also use it.
- Enable Firewall to allow port 80, 443 - or any other port based on your requirement.
- Enable https redirect in your Ngnix Configuration
- After Hosting ensure you have enabled basic Security Headers for the site - Can test Using Security Headers site- https://securityheaders.com/
- Can test your site for SEO if your site needs it - https://sharetechlinks.com/post/detail/101/free-seo-checker
You can get a cheap Digital Ocean Server for $5–$10 which is more than enough to run a simple site.
This site runs on same - https://sharetechlinks.com
Enabling Remote Desktop - XRDP
Installing Ubuntu Mate OS
Usually, when you purchase Linux VM from Digital Ocean or any other Vendor you won't get OS. To install a lightweight Ubuntu Mate Linux OS
Supervisor, Nginx Configuration
Nginx - In-Depth configurations
Installing Putty in Windows
Transferring file from windows to Linux using Putty
Refer this for Unzip file in Ubuntu
Installing My SQL In Linux
The above-mentioned checklist is more than enough to host your ASP.NET Core site in a fresh Linux VM starting from Scratch.