部署.NET Core运行时

必要前提

在安装.NET Core前,需要注册Microsoft签名秘钥并添加Microsoft产品提要,每台机器只需要注册一次,执行如下命令:

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

安装.NET Core Runtime

sudo yum install aspnetcore-runtime-3.1

# 验证dotnet core runtime是否安装成功
dotnet #查看系统中包含的.net core runtime版本
dotnet --list-runtimes

部署Asp.Net Core应用程序

在CentOS系统中,创建/home/publish/demo文件夹

mkdir /home/publish /home/publish/demo

在Visual Studio 2019中创建Web应用Linux.Web,发布为文件夹,并通过FXTP上传到publish/demo文件夹下

Nginx安装与配置

安装nginx

# 安装nginx
yum install nginx # 启动nginx
systemctl start nginx # 设为开机启动
systemctl enable nginx

可以通过浏览器访问服务器地址 http://ip:80 来看看nginx运行情况

配置nginx.conf

使用XFTP修改 /etc/nginx/conf.d/default.conf 文件,添加如下配置

server {
listen 8000; 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;
} error_page 404 /404.html;
location = /40x.html {
} error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}

重启Nginx

nginx -s reload

运行ASP.NET Core应用程序

cd /home/publish/demo
dotnet Linux.Web.dll

通过浏览器访问 http://ip:8000 此时已经可以访问在CentOS上部署的站点了!

设置 .NET Core 开机启动

创建服务文件

vim /etc/systemd/system/demoapp.service

写入如下内容

[Unit]
Description=Demo .NET Web Application running on CentOS 7 [Service]
WorkingDirectory=/home/publish/demo
ExecStart=/usr/bin/dotnet /home/publish/demo/Linux.Web.dll
Restart=always
RestartSec=20
SyslogIdentifier=dotnet-demo
User=nginx
Environment=ASPNETCORE_ENVIRONMENT=Production [Install]
WantedBy=multi-user.target

设置开机启动

systemctl enable demoapp.service

开启服务,并查询状态

systemctl start demoapp.service
systemctl status demoapp.service

最新文章

  1. ASP.NET Core 中文文档 第四章 MVC(4.2)控制器操作的路由
  2. BZOJ4698: Sdoi2008 Sandy的卡片
  3. cocos2d-x 制作系统公告
  4. HTML的表单元素
  5. 线程池的应用及Callable接口的使用
  6. 12.iscsi-target
  7. log4cplus配置文件使用
  8. NDEF-NFC数据交换格式
  9. Thrift使用实例
  10. MYSQL事务和锁
  11. C# 跨线程呼叫控制
  12. cscope
  13. 隐马尔可夫模型(HMM)攻略
  14. 图像处理与matlab实例之图像平滑(一)
  15. cookie session token
  16. 快速安装Java环境
  17. javascript里文字选中/选中文字
  18. Fast R-CNN论文阅读笔记
  19. 2018.08.21 bzoj4668: 冷战(并查集+启发式合并)
  20. Mysql中truncate table和delete语句的区别

热门文章

  1. spring boot跨域请求访问配置以及spring security中配置失效的原理解析
  2. 详解PHP中的三大经典模式
  3. MySQL查询-分组取组中某字段最大(小)值所有记录
  4. OI 经典诗歌
  5. 表格可拖拉列改变列大小(使用的时候将youElement全部替换称你要添加这个效果的元素,需是jqery的选择器格式,如:$("table th/td"))
  6. NLP-BM25算法理解
  7. lenovo ubuntu18.04 找不到网络适配器
  8. SqlServer2005 查询 第三讲 between
  9. CGI、FastCGI、CLI、Apache、ISAPI之PHP运行环境对比
  10. lqb 基础练习 数列排序 (sort的使用)