测试启动成功,上面输出的信息表示,我们的发布是没有问题的,先来了解一下上面的输出信息
// 主机环境:Production Hosting environment: Production // 根目录 Content root path: /data/sites/demo/publish // 侦听地址和端口 Now listening on: :80 // 提示关闭技巧,Ctrl+C 可以关闭此主机 Application started. Press Ctrl+C to shut down.没有太多的信息,同样的简单明了,实际上,现在我们已经通过 80 端口来访问该站点了,但是作为服务,必须要常驻内存中运行,而不是关闭窗口就停止了站点。
2.3 创建常驻服务所以,接下来我们就编写一个脚本文件,将该站点托管到 Linux 服务中,这个脚本文件官网有示例,我们可以直接拿过来用,但是首先,我们得先在系统中创建一个服务文件 kestrel-dotnet.service
定位到文件夹 /etc/systemd/system,输入命令
sudo vi kestrel-dotnet.service // 按 i 将编辑器转换为输入模式 // 将以下内容 copy 到当前编辑器中 [Unit] Description=Example .NET Web Site running on Centos [Service] WorkingDirectory=http://www.likecs.com/data/sites/demo/publish ExecStart=http://www.likecs.com/usr/bin/dotnet Deploy.Linux.dll Restart=always # Restart service after 10 seconds if the dotnet service crashes: RestartSec=10 KillSignal=SIGINT SyslogIdentifier=dotnet-example User=root Environment=ASPNETCORE_ENVIRONMENT=Production Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false [Install] WantedBy=multi-user.target // 按 esc 键推出编辑模式,输入命令 :wq! 保存并退出通过上面这波操作以后,你就得到了一个服务文件 kestrel-dotnet.service,这是一个标准的 Linux 服务配置文件
经过上面的一系列操作,对于还没有接触过 Linux 的同学来说,已经有点疲惫了,再坚持一下,马上就好
现在将创建好的服务文件注册到系统中,然后启动它,依次输入以下命令
// 注册服务 sudo systemctl enable kestrel-dotnet.service // 启动服务 sudo systemctl start kestrel-dotnet.service好了,现在访问我们的站点,目前我的站点是:
在服务没有到期之前,大家应该都是该地址应该是可以访问的
写到这里,发现文章居然有点长了,对于入门文章来说,这是不合适的,好吧,下一篇再继续介绍使用 Supervisor 进行托管部署 Asp.Net Core 应用程序
演示代码下载:
https://github.com/lianggx/EasyAspNetCoreDemo/tree/master/Deploy.Linux