博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DotNetCore 结合 Nginx 将网站部署到阿里云
阅读量:4614 次
发布时间:2019-06-09

本文共 2153 字,大约阅读时间需要 7 分钟。

基础环境配置

域名和服务器请先自行购买

基于 云服务器ECS 创建一个应用实例,选择系统镜像为 Ubuntu 16.04,在本机通过 SSH 进行远程连接,并进行相关配置

ssh root@http://39.108.48.203/...sudo apt-get updatesudp apt-get upgradesudo apt-get autoremovesudo apt-get clean

安装并配置 Nginx

sudo apt-get install nginxsudo service nginx startsudo gedit /etc/nginx/sites-available/default

配置 default 文件,在文件末尾配置如下节点信息

# 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;    }}

检测配置并更新

sudo nginx -tsudo nginx -s reload

安装 DotNetCore

请参考官网最新安装说明:

部署流程

打开 VisualStudio2017 右键要发布的项目,点击 publish,并参考下图进行相关配置。

749711-20181016181322591-598229590.png
749711-20181016181342214-1666292643.png

点击 Save 按钮并执行发布操作。然后将 publish 文件夹上传至服务器相应位置,上传成功后执行

dotnet run app.dll

如果不出意外的,这个时候,你就可以通过 IP 或者 你的网站域名来进行访问了。

创建守护进程

执行上述操作之后,我们的程序还是不能正在长时间运行,因此我们需要通过守护进程来管理我们的网站

sudo apt-get install supervisorsudo vim /ect/supervisor/conf.d/website.conf

配置 website.conf 文件

[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

这个时候,我们执行下述命令启动守护进程

sudo supervisorctl shutdown && sudo supervisord -c /etc/supervisor/supervisord.confsupervisorctl shutdown sudo service supervisor start

好了,这个时候你可以尝试关闭远程连接进行网站访问,如果能正常访问的话,说明你的配置已经起作用了.

补充

在正常的生产环境中,我们还需要配置 HTTPS,关于这一部分,小伙伴们可以参考博客园中其余大神的博客。

彩蛋

安利一个我的个人图片网站,图片资源来自于必应,感兴趣的小伙伴欢迎体验:

749711-20181028155550426-1565436427.png

相关参考

转载于:https://www.cnblogs.com/hippieZhou/p/9799292.html

你可能感兴趣的文章
小程序丨嵌套循环
查看>>
基础 - arguments
查看>>
Linux的基本命令+深入一点的网址分享
查看>>
(C#) Encoding.
查看>>
BZOJ 2154: Crash的数字表格 [莫比乌斯反演]
查看>>
nrf51 SDK自带例程的解读
查看>>
SESSION技术
查看>>
数据结构(五)之直接插入排序
查看>>
SQL函数——LENGTH()和LENGTHB()
查看>>
vim - manual -个人笔记
查看>>
详解Javascript中prototype属性(推荐)
查看>>
angularjs实现首页轮播图
查看>>
Git 对象 和checkout 和stash的笔记
查看>>
团队项目总结2-服务器通信模型和顺序图
查看>>
hdu 1085 Holding Bin-Laden Captive!
查看>>
[周记]8.7~8.16
查看>>
递归定义
查看>>
kindeditor 代码高亮设置
查看>>
互联网产品的商业模式
查看>>
图的邻接表存储
查看>>