centos7下.netcore环境搭建

介绍centos7下.netcore环境搭建、创建并.netcore程序、设置开机自动启动.netcore程序(注册为服务运行)

一:.netcore环境搭建

1、执行命令

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

2、更新yum

sudo yum update

3、安装.netcore 

sudo yum install dotnet-sdk-2.2 -y

4、检测是否安装成功:

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

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

cd /home
dotnet new webApp -o testApp --no-https

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

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

3、测试运行.netcore程序

扫描二维码关注公众号,回复: 7069222 查看本文章
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>();
        }
View Code

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

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

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

如何通过nginx作为web服务器访问.net core程序,并解决端口无法转发的问题

猜你喜欢

转载自www.cnblogs.com/hanfeige/p/11389158.html