在Linux上以服务的方式运行ASP.NET Core站点
Posted dudu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Linux上以服务的方式运行ASP.NET Core站点相关的知识,希望对你有一定的参考价值。
要在生成环境下在Linux服务器上跑ASP.NET Core站点,首先要解决的问题是以服务的方式运行ASP.NET Core站点,这样即使服务器重启,站点也能自动运行。
Node.js中有强大的pm2,而.NET Core目前一无所有,只能自己动手实现。摸索了一个晚上,终于使用initctl命令基于Linux的upstart实现了,在这篇博文中分享一下(试验所用的Linux服务器器是Ubuntu)。
首先在 /etc/init/ 目录中创建一个服务配置文件,比如这里是 /etc/init/dotnet-app.conf ,并在该文件中添加如下的内容:
description "set system dotnet-app" start on runlevel [2345] task script cd /data/AboutUs && sudo dotnet run end script
其中加粗的部分就是运行ASP.NET Core站点的命令。
接着用下面的命令启动服务:
initctl start dotnet-app
注:如果出现"initctl: Job failed to start"的错误,可以查看"/var/log/upstart/"目录中对应的错误日志,比如这里是 /var/log/upstart/dotnet-app.log 。
然后用下面的命令查看服务运行情况:
# initctl status dotnet-app dotnet-app start/running, process 862
"start/running"说明服务启动成功,这时ASP.NET Core站点就可以正常访问了。
最后重启Linux服务器验证一下,reboot命令重启服务器,服务器启动好之后,ASP.NET Core站点也随之能访问,搞定。
以上是关于在Linux上以服务的方式运行ASP.NET Core站点的主要内容,如果未能解决你的问题,请参考以下文章
.NET跨平台之旅:探秘 dotnet run 如何运行 .NET Core 应用程序
linux+apache能运行asp.net程序吗?应该如何设置?
在Linux环境下使用Apache部署ASP.NET Core