Basic environment configuration
Please purchase the domain name and server by yourself first
Create an application instance based on cloud server ecs, select the system image as ubuntu 16.04, and run it on this machine Connect remotely through ssh and perform related configurations
ssh
... sudo apt-get update sudp apt-get upgrade sudo apt-get autoremove sudo apt-get clean
Install and configure nginx
sudo apt-get install nginx sudo service nginx start sudo gedit /etc/nginx/sites-available/default
Configure the default file and configure the following node information at the end of the file
# virtual host configuration for example.com # # you can move that to a different file under sites-available/ and symlink that # to sites-enabled/ to enable it. # server { listen 80; # 网站文件的目标位置 root /home/hippie/website/wwwroot; # 网站域名 server_name your website name; location / { proxy_pass http://localhost: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; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; proxy_set_header x-forwarded-proto $scheme; } }
Detect configuration and update
sudo nginx -t sudo nginx -s reload
Install dotnetcore
Please refer to the official website for the latest installation instructions: .netcore download
Deployment process
Open visualstudio2017, right-click the project to be published, click publish, and refer to the figure below for relevant configuration.
Click the save button and perform the publish operation. Then upload the publish folder to the corresponding location on the server. After the upload is successful, execute dotnet run app.dll
If nothing unexpected happens, at this time, you can use ip or Your website domain name is used for access.
Create a daemon process
After performing the above operations, our program still cannot run for a long time, so we need to manage our website through a daemon process
sudo apt-get install supervisor sudo vim /ect/supervisor/conf.d/website.conf
Configure website.conf file
[program:website] #要执行的命令 command=/usr/bin/dotnet attention.dll #命令执行的目录 directory=/home/hippie/website #环境变量 environment=aspnetcore__environment=production #进程执行的用户身份 user=www-data stopsignal=int #是否自动启动 autostart=true #是否自动重启 autorestart=true #自动重启间隔 startsecs=1 #标准错误日志 stderr_logfile=/var/log/website.err.log #标准输出日志 stdout_logfile=/var/log/website.out.log
At this time, we execute the following command to start the daemon process
sudo supervisorctl shutdown && sudo supervisord -c /etc/supervisor/supervisord.conf supervisorctl shutdown sudo service supervisor start
Okay, at this time you can try to close the remote connection for website access. If If you can access it normally, it means your configuration has taken effect.
The above is the detailed content of How to deploy DoNetCore to Alibaba Cloud with Nginx. For more information, please follow other related articles on the PHP Chinese website!