after few days research i found a solution so i'll share it for other people having same problem:
first, there is no open source control panel that supports asp.net core directly yet but you can use ajenti-v to easily config your asp.net core websites in few simple steps ...
1- install manually dotnet core runtime and ajenti with nginx plugin on your server
2- login to ajenti panel and create website
3- in the website manage panel go to the Content tab
4- select Reverse proxy from dropdown and paste below configuration to the
Custom configuration textbox :
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
5- select Use only custom configuration and don't include standard parameters option
*we almost done. now every call in your domain/ip:port will redirect to dotnet core application with nginx reverse proxy but we need to run our application in background using our control panel.
6- go to the Processes tab and Add new process with following example configuration:
Name : MyDotnetApp
Command : dotnet MyDotNetEntryPoint.Dll
Working directory: /srv/MyWebsiteFolderName
username : root (or any linux user with r/w access)
Enviroment : ASPNETCORE_ENVIROMENT=Production
click apply..... Done.
your site is ready to use.
more information about ajenti control panel
more information about config asp.net core and nginx
more information about supervisord option in ajenti