.net core centos 7部署踩坑大全

一:.netcore环境搭建

1、执行命令

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

2、更新yum

1
sudo yum update

3、安装.netcore 

1
sudo yum install dotnet-sdk-2.2 -y

Error:GPG check FAILED。这由于源key错误导致的dnf或者yum(软件包管理器)安装软件失败。

解决的方法很简单,有些傻逼博客在那边坑人,写的一长串解决办法都不能用,其实用一个命令就能解决。

yum/dnf install packagemame --nogpgcheck
没错,添加 --nogpgcheck 选项就能部分解决此问题。
————————————————
版权声明:本文为CSDN博主「Yellow0523」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sinat_38079265/article/details/110926606

4、检测是否安装成功:

二:创建.netcore web程序并运行

1、定位到你想放置项目的位置,创建项目

1
cd /home<br>dotnet new webApp -o testApp --no-https

2、直接发布项目到项目文件夹

1
2
cd testApp
dotnet publish -o /home/testApp/Release

3、测试运行.netcore程序

1
2
cd release
dotnet testApp.dll

4、如需通过宿主机访问,需修改Program.cs代码,方式多种,这里采用添加host.json方式

首先更改CreateWebHostBuilder方法代码如下

public static IWebHostBuilder CreateWebHostBuilder(string[] args)
        {
            var configuration = new ConfigurationBuilder().SetBasePath(Environment.CurrentDirectory)
                              .AddJsonFile("host.json")
                              .Build();
            return WebHost.CreateDefaultBuilder(args).UseConfiguration(configuration)
                                                     .UseStartup<Startup>()
                                .UseUrls("http://*:5000,https://*:5001"); }

或在项目根目录添加host.json文件或直接 

{
  "urls": "http://*:5000"
}

 5、通过浏览器访问 http://虚拟机ip:5000,注意如果是虚拟机要与主机在同一个网段,否则要路由才能访问,另外 要将端口打开:

三:设置.netcore程序开机启动

1、创建服务文件

vim /etc/systemd/system/testApp.service

  写入如下内容:

复制代码
[Unit]
Description=testApp for centos7

[Service]
WorkingDirectory=/home/testApp/Release
ExecStart=/usr/bin/dotnet /home/testApp/Release/testApp.dll
Restart=always
RestartSec=10  # Restart service after 10 seconds if dotnet service crashes
SyslogIdentifier=dotnet-testApp
User=root
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false

[Install]
WantedBy=multi-user.target
复制代码

2、设置开机自动启动testApp.service服务

systemctl enable testApp.service

3、开启服务,并查询状态

systemctl start testApp.service
systemctl status testApp.service
posted @ 2021-11-29 22:07  CqMagic  阅读(332)  评论(0编辑  收藏  举报