.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