zoukankan      html  css  js  c++  java
  • Centos部署使用Jexus承载asp.net core2 web应用

    一,首先安装本地开发项目用的的 core对应版本运行时:

    https://www.microsoft.com/net/download/linux-package-manager/centos/runtime-2.0.5

        首先在部署服务器注册微软签名秘钥, 只需要执行一次

    sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    sudo sh -c 'echo -e "[packages-microsoft-com-prod]
    name=packages-microsoft-com-prod 
    baseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod
    enabled=1
    gpgcheck=1
    gpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'
    然后安装对应的net core 运行时
    sudo yum update
    sudo yum install libunwind libicu
    sudo yum install dotnet-runtime-2.0.5


    2,安装jexus作为承载服务器

    二:Jexus独立版的安装

    Jexus“独立版”指的是自带.net运行时(mono),不需要在客户服务器安装mono就能正常运行的Jexus版本,该版本只支持 64位Linux操作系统。

    安装jexus独立版的命令是:
    curl https://jexus.org/release/x64/install.sh|sh

    注:运行安装命令,需要操作者有root权限。

    常用命令:

    Jexus包括如下操作命令(首先 cd /usr/jexus):
    启动:sudo ./jws start 
    停止:sudo ./jws stop 
    重启:sudo ./jws restart 

    三:创建站点

    https://www.cnblogs.com/stulzq/p/7324616.html

    首先得建“网站配置文件”,在/usr/jexus/siteconf中的每一个文件都是一个网站的配置文件,每一个配置文件就代表一个网站。
    安装jexus后,在/usr/jexus/siteocnf中,就已经有一个默认的网站配置文件,文件名叫“default”。
    你可以修改这个配置文件,也可以将这个配置文件复制并修改为一个新站。
    配置文件中,有关键的三项是必填项:
    port:端口号定义
    root:虚拟根路径和物理根路径的定义
    hosts:域名定义
     
    端口号(port)是一个整数,一般是80,也可以是65535以下的其它整数,但这个端口号必须没有其它服务程序占用。
    根路径(root)由两部分组成,中间用空格分开。空格前表示这个网站访问时的虚拟根路径(一般都是“/”),空格后是存放这个网站内容的文件夹的物理路径(比如“/var/www/default”)。
    域名(hosts),填写访问这个网站的域名,如果有多个域名,域名间就英文逗号分开,同时还可以用“泛域名”,比如“*.mysite.com”。
    网站名:jexus把网站配置文件的名称,作为网站名。
    ** 强调,网站配置文件名,不能有空格,第一个字符不能是“~”。
     
     
    执行以下命令,创建网站目录:
    mkdir /wwwroot/test
    cd /wwwroot/test
    上传网站文件到 test 目录,然后修改jexus站点配置,这里使用默认配置 default

    修改配置如下图:


    修改完成,保存退出!
    执行命令重启jexus:
    /usr/jexus/jws restart


    四:部署core站点

    使用ftp等工具上传至服务器

    这里我放在/wwwroot/animal
    然后配置animal站点的config文件
    主要是: AppHost={cmd=dotnet /wwwroot/animal/xxxxx.dll; root=/wwwroot/student; port=5000}
     AppHost配置要点:
    一,AppHost中的 root 路径一定要写对,要写你那个程序的完整程径
    二,AppHost中的 dotnet 命令建议写完整路径
    三,AppHost中的 port=0 很好用,但有前提(前提是你没有在core web程序或它的配置文件中设置端口号)
     Jexus自带进程守护 ,所以只要把jexus设置为系统服务即可

    AppHost的配置格式是:
    AppHost={CmdLine=应用程序命令行; AppRoot=应用程序工作目录; Port=应用程序HTTP侦听端口},其中:
    “CmdLine”表示启动应用程序的命令行,如:dotnet /var/www/site1/app.dll;
    “AppRoot”表示应用程序工作目录,如:/var/www/site1;
    “Port”表示这个HTTP应用程序所使用的侦听端口,如:5000(Asp.Core默认端口是5000)。

    例如,假设Asp.Net Core应用程序存放的路径在“/var/www/mysite”,其启动程序存放在该文件夹中,名称是“webapp”,程序启动后的侦听端口是5000,那么,AppHost配置应为: 
    AppHost={CmdLine=/var/www/mysite/webapp;AppRoot=/var/www/mysite; port=5000 }
    重启某个站点:
    sudo /usr/jexus/jws restart siteName格式五:安装守护进程

    五:安装守护进程

    http://www.cnblogs.com/savorboard/p/dotnetcore-supervisor.html

    【安装Supervisor】

    1.yum install python-setuptools
    2.easy_install supervisor

    【配置Supervisor】
    1.mkdir /etc/supervisor
    2.echo_supervisord_conf > /etc/supervisor/supervisord.conf

    修改supervisord.conf文件,将文件尾部的配置
    ;[include]
    ;files = relative/directory/*.ini
    改成
    [include]
    files = conf.d/*.conf

    【配置对ASP.NET Core应用的守护】
    在/etc/supervisor/conf.d/目录下创建一个DotNetCoreWeb.conf文件,内容大致如下:

    创建语法 touch DotNetCoreWeb.conf

    [program:DotNetCoreWeb]
    command=dotnet Portal.dll ; 运行程序的命令
    directory=/home/wwwroot/DotNetCoreWeb/ ; 命令执行的目录
    autorestart=true ; 程序意外退出是否自动重启
    stderr_logfile=/var/log/DotNetCoreWeb.err.log ; 错误日志文件
    stdout_logfile=/var/log/DotNetCoreWeb.out.log ; 输出日志文件
    environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
    user=root ; 进程执行的用户身份
    stopsignal=INT
    
    作者:StrongAndyZhang
    链接:https://www.jianshu.com/p/e1b5ee442a70
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    运行supervisord,查看是否生效:

    supervisord -c /etc/supervisor/supervisord.conf
    ps -ef | grep DotNetCoreWeb

    至此关于ASP.NET Core应用程序的守护即配置完成

     
  • 相关阅读:
    lvs+keepalived集群架构服务
    GlusterFS分布式存储系统
    Zabbix监控平台(三)生产环境案例
    Zabbix监控平台(二)深入了解
    Zabbix监控平台(一)搭建部署与概述
    Memcached数据库缓存
    Mariadb 基于Mycat实现读写分离
    基于mysqld_multi实现MySQL多实例配置
    tomcat-APR配置及三种工作模式简介
    Session服务器之Memcached与Redis
  • 原文地址:https://www.cnblogs.com/yushuo/p/8522595.html
Copyright © 2011-2022 走看看