zoukankan      html  css  js  c++  java
  • 在Linux上以服务的方式运行ASP.NET Core站点

    更新:用supervisor是更好的解决方法,详见 Linux下为 dotnet 创建守护进程

    要在生成环境下在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站点也随之能访问,搞定。

    [更新]

    还有一种解决方法就是借助supervisor,详见 ASP.NET Core 帮助文档中的 Publish to a Linux Production Environment

  • 相关阅读:
    CSS选择器
    python——前端常用的标签
    用socket发送信息在浏览器上显示出来
    Python并发编程-事件驱动模型
    python中的协程
    controller中两个方法之间共享一个变量LinkedHashMap
    分布式缓存和本地缓存
    Java基础方法
    log4j2配置日志大小,个数等
    开发一个根据xml创建代理类的小框架
  • 原文地址:https://www.cnblogs.com/dudu/p/run-aspnet-core-website-as-service-on-linux.html
Copyright © 2011-2022 走看看