一,首先安装本地开发项目用的的 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]\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'
然后安装对应的net core 运行时
sudo yum update
sudo yum install libunwind libicu
sudo yum install dotnet-runtime-2.0.

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】

.yum install python-setuptools
.easy_install supervisor
【配置Supervisor】
.mkdir /etc/supervisor
.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应用程序的守护即配置完成

 

Centos部署使用Jexus承载asp.net core2 web应用的更多相关文章

  1. Ubuntu下利用Mono,Jexus搭建Asp.Net(MVC) Web服务器

    最近在Ubuntu上搭建了Asp.Net的Web服务器,其中遇到很多问题,整理一下思路,以备后用. 搭建环境以及配套软件 Ubuntu: 11.10 Mono:3.0.6 下载地址(http://do ...

  2. 使用Jexus服务器运行Asp.Net Core2.0程序

    前段时间写了篇关于.net core跨平台部署的文章.https://my.oschina.net/lichaoqiang/blog/1861977 主要讲述了,利用Nginx+CentOS+Supe ...

  3. Centos7 编译安装 Nginx Mariadb Asp.net Core2 (实测 笔记 Centos 7.3 + Openssl 1.1.0h + Mariadb 10.3.7 + Nginx 1.14.0 + Asp.net. Core 2 )

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7-x86_64-Minimal-1611.iso 安装步骤: 1.准备 1.0 查看硬 ...

  4. 在阿里云Windows Server 上部署ASP .NET CORE2.0项目

    近期使用ASP.NET Core2.0对博客进行了重写,在部署到服务器时遇到了一些问题,来记录一下留用. 配置环境 安装 .Net Framework3.5 在IIS管理器上直接开启,这里总是失败,上 ...

  5. 深入剖析ASP.NET Core2.1部署模型,你会大吃一惊

    ----------------------------   以下内容针对 ASP.NET Core2.1版本,2.2推出windows IIS进程内寄宿 暂不展开讨论---------------- ...

  6. 深度理解IIS下部署ASP.NET Core2.1 Web应用拓扑图

    原文:深度理解IIS下部署ASP.NET Core2.1 Web应用拓扑图 IIS部署ASP.NET Core2.1 应用拓扑图 我们看到相比Asp.Net, 出现了3个新的组件:ASP.NET Co ...

  7. asp.net core2.1 部署centos7/linux系统 -- 安装部署(一)

    原文:asp.net core2.1 部署centos7/linux系统 -- 安装部署(一) 1.安装dotnet sdk(添加产品秘钥与yum源) 添加yum源:sudo rpm -Uvh htt ...

  8. asp.net core2.0 部署centos7/linux系统 --守护进程supervisor(二)

    原文:asp.net core2.0 部署centos7/linux系统 --守护进程supervisor(二) 续上一篇文章:asp.net core2.0 部署centos7/linux系统 -- ...

  9. 将asp.net core2.0项目部署在IIS上运行

    原文:将asp.net core2.0项目部署在IIS上运行 前言:  与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是独立运行的.它独立运行在控 ...

随机推荐

  1. 如何修改Linux的TTL值

    原文地址:http://www.linuxidc.com/Linux/2011-11/47701.htm 网络黑客如果用ping命令去探测  一个主机,根据TTL基数可以推测操作系统的类型.对于一个没 ...

  2. SQL中的全局变量和局部变量(@@/@)

    在SQL中,我们常常使用临时表来存储临时结果,对于结果是一个集合的情况,这种方法非常实用,但当结果仅仅是一个数据或者是几个数据时,还要去建一个表,显得就比较麻烦,另外,当一个SQL语句中的某些元素经常 ...

  3. 洛谷P2326 AKN’s PPAP

    https://www.luogu.org/problemnew/show/P2326 按位贪心 找到最高位&1的数,确定次高位的时候只从最高位&1的数里选 此次类推 #include ...

  4. pandas 实现通达信里的MFI

    pandas 实现通达信里的MFI 算法里的关键点: combine()和rolling().sum()方法 combine -- 综合运算, rolling().sum() -- 滚动求和 利用pd ...

  5. Python核心编程——Chapter16

    好吧,在拜读完<Python网络编程基础>之后,回头再搞一搞16章的网络编程吧. Let‘s go! 16.4.修改书上示例的TCP和UDP客户端,使得服务器的名字不要在代码里写死,要允许 ...

  6. 原生JS不到30行,实现类似javascript MVC的功能-minTemplate

    严格来讲不能说是MVC,应为模版里不能写逻辑语句. 灵感来源于我的上篇文字:<封装JSON数据转自定义HTML方法parseHTML>: 这里再封装一个简单方法,在保持原来的方便改变不大的 ...

  7. tclsh 用法

    set foo "a bc" # 定义变量 set b {$a}; # 转义 b的值为" $a " ,而不是变量结果 ; incr a ; # 数字的自增. 将 ...

  8. Manacher's Algorithm 马拉车算法

    作用:求一个字符串中的最长子串,同时还可以求所有子串的长度. 题目链接: https://vjudge.net/contest/254692#problem/B 代码: #include<bit ...

  9. 【SSH异常】InvalidDataAccessApiUsageException异常

    今天在整合SSH的时候,一开始我再测试的时候service层添加了注解事务调用DAO可以正常的保存,在环境中我在XML中采用了spring的OpenSessionInViewFilter解决hiber ...

  10. centos6.5环境DNS-本地DNS服务器bind的搭建

    centos6.5环境DNS-本地DNS服务器bind的搭建 域名系统(英文:Domain Name System,缩写:DNS)是因特网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库, ...