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]\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
mkdir /wwwroot/test
cd /wwwroot/test
上传网站文件到 test 目录,然后修改jexus站点配置,这里使用默认配置 default 修改配置如下图:
四:部署core站点
使用ftp等工具上传至服务器
这里我放在/wwwroot/animal
然后配置animal站点的config文件
一,AppHost中的 root 路径一定要写对,要写你那个程序的完整程径
二,AppHost中的 dotnet 命令建议写完整路径
三,AppHost中的 port=0 很好用,但有前提(前提是你没有在core web程序或它的配置文件中设置端口号)
AppHost的配置格式是:
AppHost={CmdLine=应用程序命令行; AppRoot=应用程序工作目录; Port=应用程序HTTP侦听端口},其中:
“CmdLine”表示启动应用程序的命令行,如:dotnet /var/www/site1/app.dll;
“AppRoot”表示应用程序工作目录,如:/var/www/site1;
“Port”表示这个HTTP应用程序所使用的侦听端口,如:5000(Asp.Core默认端口是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应用的更多相关文章
- Ubuntu下利用Mono,Jexus搭建Asp.Net(MVC) Web服务器
最近在Ubuntu上搭建了Asp.Net的Web服务器,其中遇到很多问题,整理一下思路,以备后用. 搭建环境以及配套软件 Ubuntu: 11.10 Mono:3.0.6 下载地址(http://do ...
- 使用Jexus服务器运行Asp.Net Core2.0程序
前段时间写了篇关于.net core跨平台部署的文章.https://my.oschina.net/lichaoqiang/blog/1861977 主要讲述了,利用Nginx+CentOS+Supe ...
- 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 查看硬 ...
- 在阿里云Windows Server 上部署ASP .NET CORE2.0项目
近期使用ASP.NET Core2.0对博客进行了重写,在部署到服务器时遇到了一些问题,来记录一下留用. 配置环境 安装 .Net Framework3.5 在IIS管理器上直接开启,这里总是失败,上 ...
- 深入剖析ASP.NET Core2.1部署模型,你会大吃一惊
---------------------------- 以下内容针对 ASP.NET Core2.1版本,2.2推出windows IIS进程内寄宿 暂不展开讨论---------------- ...
- 深度理解IIS下部署ASP.NET Core2.1 Web应用拓扑图
原文:深度理解IIS下部署ASP.NET Core2.1 Web应用拓扑图 IIS部署ASP.NET Core2.1 应用拓扑图 我们看到相比Asp.Net, 出现了3个新的组件:ASP.NET Co ...
- asp.net core2.1 部署centos7/linux系统 -- 安装部署(一)
原文:asp.net core2.1 部署centos7/linux系统 -- 安装部署(一) 1.安装dotnet sdk(添加产品秘钥与yum源) 添加yum源:sudo rpm -Uvh htt ...
- asp.net core2.0 部署centos7/linux系统 --守护进程supervisor(二)
原文:asp.net core2.0 部署centos7/linux系统 --守护进程supervisor(二) 续上一篇文章:asp.net core2.0 部署centos7/linux系统 -- ...
- 将asp.net core2.0项目部署在IIS上运行
原文:将asp.net core2.0项目部署在IIS上运行 前言: 与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是独立运行的.它独立运行在控 ...
随机推荐
- '增量赋值(augmented assignment)', 多么痛的领悟!
'增量赋值(augmented assignment)', 多么痛的领悟! 深刻理解x += a 与 x = x + a 的不同: 按理说上面的两条语句是等价的, 功能上完全一样的. 之所以说不同, ...
- 使用WebHelper调用Asp.net WebAPI
1.WebHelper using System; using System.Collections.Generic; using System.Collections.Specialized; us ...
- Anaconda+django写出第一个web app(十)
今天继续学习外键的使用. 当我们有了category.series和很多tutorials时,我们查看某个tutorial,可能需要这样的路径http://127.0.0.1:8000/categor ...
- 使用 scm-manager 搭建 git/svn 代码管理仓库(二)
主要介绍scm的配置. 1.配置为在Windows服务中启动scm-manager的启动方式有多种,可以在DOS(即命令行CMD模式)中启动,也可以在Windows服务中启动. 下面我们采用Windo ...
- Three.js基础探寻三——透视投影照相机
本篇主要介绍Three.js照相机中的透视投影照相机. 上一篇:正交投影照相机 5.透视投影照相机构造函数 透视投影照相机(Perspective Camera)的构造函数是: THREE.Persp ...
- Paint House
There are a row of n houses, each house can be painted with one of the k colors. The cost of paintin ...
- Linux内存管理 【转】
转自:http://blog.chinaunix.net/uid-25909619-id-4491368.html Linux内存管理 摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理 ...
- free vmstat查看内存及系统调优【转】
内存查看 查看内存是否存在瓶颈,使用top指令看比较麻烦,而free命令更为直观: [/home/weber#]free total used free shared buffers cached M ...
- 四、vue语法补充
1.自定义过滤器 格式: {{ msg | filters}} 2.computed 属性默认只有 getter ,不过在需要时你也可以提供一个 setter <!DOCTYPE html> ...
- css-实现图标在输入框中显示
一:JavaScript 是脚本语言 JavaScript 是一种轻量级的编程语言. JavaScript 是可插入 HTML 页面的编程代码. JavaScript 插入 HTML 页面后,可由所有 ...
