哭佛林

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

安装NetCore

1.1    安装dotnet sdk

1.1.1      添加dotnet产品Feed

说明:在安装.NET Core之前,您需要注册Microsoft产品Feed。这只需要做一次。首先,注册Microsoft签名密钥,然后添加Microsoft产品Feed

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc

sudo sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl=https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'

 

1.1.2      安装Net Core SDK

sudo yum install libunwind libicu

sudo yum install dotnet-sdk-2.1

 

如图效果:一路y下去就可以了

 

 

1.2    查看版本号

dotnet --version

 

1.3    新建Asp.net core项目

dotnet new mvc -o /usr/sftpdata/web/testweb

cd /usr/sftpdata/web/testweb

 

1.4    修改Startup.cs 文件

       说明:由于后面要用到nginx搭建反向代理,在此处修改一下Startup.cs文件中的代码,添加引用 using Microsoft.AspNetCore.HttpOverrides;并在方法体(public void Configure(IApplicationBuilder app, IHostingEnvironment env))添加以下代码:

    //添加下面的代码

            app.UseForwardedHeaders(new ForwardedHeadersOptions

            {

                ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto

            });

            app.UseAuthentication();

 

1.5    发布项目

dotnet publish -c Release -o /root/web/testweb

 

1.6    启动项目

dotnet /root/web/testweb/testweb.dll

 

 

       说明启动成功了!!!!

1.7    项目的开机自动运行(使用6. 守护进程supervisor后不能使用该方法,替换为:配置管理进程

接下来设置项目的开机自动启动,在 /etc/systemd/system/ 中新建一个服务文件

vi /etc/systemd/system/kestrel-testweb.service

 

内容如下:

[Unit]

Description=Example .NET Web MVC Application running on Centos7

 

[Service]

WorkingDirectory=/root/web/testweb/

ExecStart=/usr/bin/dotnet /root/web/testweb/testweb.dll

Restart=always

RestartSec=10  # Restart service after 10 seconds if dotnet service crashes

SyslogIdentifier=dotnet-example

User=root

Environment=ASPNETCORE_ENVIRONMENT=Production

 

[Install]

WantedBy=multi-user.target

 

之后保存,运行以下命令:

systemctl enable kestrel-testweb.service

systemctl start kestrel-testweb.service

systemctl status kestrel-testweb.service

 

注意:如果检查到错误,需要修改 kestrel-testweb.service 文件,修改正确之后,需要运行以下命令重新启动:

systemctl daemon-reload

systemctl restart kestrel-testweb.service

 

下面是正常运行后的结果

 

 

posted on 2018-11-10 09:33  哭佛林<Kufolin>  阅读(93)  评论(0)    收藏  举报