第一次接触安装Jexus,原因是公司要在Linux系统上部署asp.net项目,所以从无到有,从慢慢学习怎么安装部署环境开始

官方网站推荐安装使用独立版,这样就不用单独安装mono。安装独立版的时候mono就已经包含在里面了,安装显示细节的时候就可以看到mono也在被安装。

Jexus官方网站:https://www.jexus.org/

mono官方网站:https://www.mono-project.com/download/#download-line-centos

系统版本号:CentOS Linux release 7.6.1810 (Core)

如果想单独安装mono,可以参考这位博主的分享笔记:https://www.cnblogs.com/stulzq/p/7324616.html

开始安装Jexus

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

上面的命令是官网提供的下载安装方式

下载完成并保存之后,就会执行一系列的解压操作,可以看到显示细节里面包含mono

最后显示操作完成,已经成功安装到/usr/jexus

安装完成之后可以我们可以试着启动一下jexus:   /usr/jexus/jws start

启动:/usr/jexus/jws start

停止:/usr/jexus/jws stop

重启:/usr/jexus/jws restart

创建站点:

首先得建“网站配置文件”,在/usr/jexus/siteconf中的每一个文件都是一个网站的配置文件,每一个配置文件就代表一个网站。

安装jexus后,在/usr/jexus/siteocnf中,就已经有一个默认的网站配置文件,文件名叫“default”。

你可以修改这个配置文件,也可以将这个配置文件复制并修改为一个新站。

配置文件中,有关键的三项是必填项:

port:端口号定义

root:虚拟根路径和物理根路径的定义

hosts:域名定义

端口号(port)是一个整数,一般是80,也可以是65535以下的其它整数,但这个端口号必须没有其它服务程序占用。

根路径(root)由两部分组成,中间用空格分开。空格前表示这个网站访问时的虚拟根路径(一般都是“/”),空格后是存放这个网站内容的文件夹的物理路径(比如“/var/www/default”)。

域名(hosts),填写访问这个网站的域名,如果有多个域名,域名间就英文逗号分开,同时还可以用“泛域名”,比如“*.mysite.com”。

网站名:jexus把网站配置文件的名称,作为网站名。

** 强调,网站配置文件名,不能有空格,第一个字符不能是“~”。

详细说明:https://www.linuxdot.net/bbsfile-3500

执行以下命令,创建网站目录:

mkdir /wwwroot/test

cd /wwwroot/test

上传网站文件到 test 目录,然后修改jexus站点配置,这里使用默认配置 default

cd /usr/jexus/siteconf

vim defalut

修改配置,如下图:

修改完成,保存退出!

执行命令重启jexus:

/usr/jexus/jws restart

然后输入ip即可正常访问,这里我传的是一个简单的html网页

如果访问显示404,bad request

如果访问不成功,判断80端口是否开启(我刚刚安装的Centos操作系统,所以80端口没有打开,包括后面的5000端口也是需要打开的)

查看80端口是否开启

1

firewall-cmd --query-port=80/tcp

开启80端口

1

firewall-cmd --add-port=80/tcp --permanent

关闭80端口

1

firewall-cmd --remove-port=80/tcp --permanent   # --permanent 永久生效,没有此参数重启后失效

设置Jexus开机自动启动

1.新建 jexus.service

cd /lib/systemd/system

vim jexus.service

  向文件 jexus.service 粘贴下面的内容并保存:

[Unit]

Description=jexus

After=network.target

[Service]

Type=forking

ExecStart=/usr/jexus/jws start

ExecReload=/usr/jexus/jws restart

ExecStop=/usr/jexus/jws stop

PrivateTmp=true

[Install]

WantedBy=multi-user.target

  执行命令,加入服务:

systemctl enable jexus.service

  启动服务:

systemctl start jexus.service

  查看服务状态:

systemctl status jexus.service

重启设置 :reboot

等待重启完成,执行命令查看服务状态,若启动则为设置成功!

至此,Jexus的安装和配置全部结束了,还是很简单的,下面为大家带来使用Jexus运行Asp.net core程序。

安装 .net core

这里使用的是centos版本的,其他版本请查看:https://www.microsoft.com/net/download/linux

1.执行命令安装

1

2

3

4

5

6

7

sudo yum install libunwind libicu

curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?linkid=848821

sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet

sudo ln -s /opt/dotnet/dotnet /usr/local/bin

2.验证安装

  (1)输入命令  dotnet --info 可以查看信息

我们可以看到下载安装的版本是:1.0.4   相比较目前的最新版本2.0,会对在后来的上传部署项目上报错。会出现以下的报错:

[root@localhost Application]# dotnet ZKEACMS.dll 
A fatal error was encountered. The library 'libhostpolicy.so' required to execute the application was not found in '/var/www/Application'.

上面的安装方法是我第一次安装踩的坑,我们不用上面的方式安装,采用另一种方式:

Centos7安装net core

官方文档:https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/install

第一步:rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

第二步:yum update   我安装的时候省略了,因为我的系统刚安装yum源也是刚刚配的

第三步:yum install dotnet-sdk-2.2   (可以到官网查看最新的版本号)

安装完成之后输入:dotnet --info 查看具体信息

(2)创建一个hello word程序来验证

dotnet new console -o hwapp

cd hwapp

dotnet restore

dotnet run

如果输出 Hello Word!即代表.net core 安装成功!

部署 aspx.net core 程序

1、使用命令发布 aspx.net core 程序

dotnet publish

2、使用工具ftp等上传服务器,我开始是测试阶段,没有现成的项目上传,是在github找的项目上传的

http://www.zkea.net/zkeacms/zkeacmscore/download  我是在这上面下载在来的.zip压缩包

然后把它解压 unzip,再把解压之后的目录mv到配置文件 siteconf 中指定的路径下 /wwwroot/test/

3、测试执行dotnet命令运行程序,.确保程序可以正确运行

4、到Jexus里面配置网站配置文件

cd /usr/jexus/siteconf/

vim default

配置如下图:

主要是: AppHost={cmd=dotnet /wwwroot/student/xxxxx.dll; root=/wwwroot/student; port=5000}

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 }

更多请查看:http://www.cnblogs.com/yunei/p/5662642.html

  4.启动jexus服务,并查看网站

使用Jexus运行 aspx.net core 的好处

1,配置简便:在Jexus上,Asp.net core只是Jexus上的一个“站点”,因此,只需在Jexus上配置这个站点就行,无需其它配置;

2,操作统一:Jexus停止这个站点就自动停止asp.net core应用,同样地,启动这个站点就自动启动对应的core应用程序,无需多头操作;

3,高性能:Jexus本身是一款与nginx性能相当的高性能Web服务器,而Jexus与Asp.net core之间,是TCP转发,不是反向代理之类的HTTP转发,没有Http协议解析和重组的性能消耗,因此,Jexus能更好的呈现Asp.net Core的高性能优势;

4,端口自适应:在Jexus上,asp.net core不需要设置任何端口号,从而有效避免了多个asp.net core应用程序很可能出现的端口冲突这个让运维人员头疼的难题;

5,高度可靠性:如果core应用程序意外崩溃,Jexus会立即把它拉起来,从而做到7*24不间断运行;

6,支持WebSocket:因为是TCP转发,所以,对应用层协议没有限制。

7,AppHost的port值设为0,得到端口自适应的优势。

mono安装过于麻烦,且等待时间长,使用jexus“独立版”,避免安装mono的麻烦。官方网站:https://www.jexus.org/

参考链接:https://www.cnblogs.com/stulzq/p/7324616.html

Centos下安装Jexus、.net,上传部署运行asp.net项目相关推荐

  1. [CentOS Python系列] 二.pscp上传下载服务器文件及phantomjs安装详解

    从2014年开始,作者主要写了三个Python系列文章,分别是基础知识.网络爬虫和数据分析. Python基础知识系列:Pythonj基础知识学习与提升 Python网络爬虫系列:Python爬虫之S ...

  2. Centos下安装mysql 总结

    一.MySQL安装 Centos下安装mysql 请点开:http://www.centoscn.com/CentosServer/sql/2013/0817/1285.html 二.MySQL的几个 ...

  3. CentOS下安装Memcached,Linux下安装Memcached,centos下安装memcached,linux下安装memcached...

    摘要:最近在看<大型分布式网站架构设计与实践>这本书,把其中的学习过程记录一下,以便日后复习. 一:Memcached简单介绍和描述: Memcached 是一个高性能的分布式内存对象缓存 ...

  4. linux的常用操作——基于ftp的windows10和腾讯云centos操作系统之间的文件上传和下载

    \qquad在腾讯云服务器的centos操作系统上,安装vsftpd并进行配置,然后基于ftp实现windows10操作系统和腾讯云centos系统之间的文件上传和下载. 文章目录 1.基于腾讯云服务 ...

  5. CentOS下安装7-zip

    CentOS下安装7-zip 不知道什么原因,我的xp系统下的右键菜单没有winrar的命令.按照网上说的方法看了看设置,对应项目上打过勾了,我就卸载了winrar.用360软件管理工具安装压缩软件时 ...

  6. centos下安装fastdfs(笔记系列)

    为什么80%的码农都做不了架构师?>>>    前言 本文只用于记录在centos下安装fastdfs的过程,仅用于笔记. 步骤 环境 笔者系统Cent OS6.8 x86_64,f ...

  7. linux slf4j.rpm,Centos下安装nginx rpm包

    1 在nginx官方网站下载一个rpm包,下载地址是:http://nginx.org/en/download.html wget http://nginx.org/packages/centos/6 ...

  8. linux nginx rpm 安装配置,Centos下安装nginx rpm包

    1 在nginx官方网站下载一个rpm包,下载地址是:http://nginx.org/en/download.html wget http://nginx.org/packages/centos/6 ...

  9. 版本管理工具:CentOS下安装配置Subversion Edge 5.2.4(svn 1.8)

    这篇文章介绍一下使用官方的Subversion Edge在CentOS下安装和设定的方法. CollabNet + VersionOne 强强联合 2017年8月7日,CollabNet和Versio ...

最新文章

  1. 轻量级简单队列服务HTTPSQS安装与使用
  2. NLP新秀prompt跨界出圈,清华刘知远最新论文将它应用到VLM图像端
  3. TBtools - 超过一万人在使用的生信小工具
  4. cacti由cmd.php更换成spine后无法绘图
  5. 10.1 分别通过函数和重载运算符来实现复数相加
  6. Floyd算法的动态规划本质
  7. boost::mp11::mp_all_of相关用法的测试程序
  8. CodeForces - 1368F Lamps on a Circle(交互+贪心)
  9. 《软件需求分析(第二版)》第 10 章——编写需求文档 重点部分总结
  10. mybatis 多数据源_Spring Boot 整合Mybatis实现多数据源配置及踩过的坑
  11. 电脑安装最新silverlight版本后依旧提示“Silverlight已被阻止,因为它过时且需要被更新”
  12. 丁向荣单片机pdf_STC系列增强型8051单片机原理与应用
  13. 两相四线步进电机的驱动
  14. w3c离线手册2019
  15. css样式代码的基本格式
  16. 级差公排php如何_矩阵,双轨,级差三种制度的对话
  17. 【云栖大会】2016 杭州云栖大会随笔
  18. 陈省身文集51——闭黎曼流形高斯-博内公式的一个简单的内蕴证明
  19. TI DM36X 名词
  20. IOS开发协议使用之──非正式协议和正式协议

热门文章

  1. 8个步骤让你远离服务器被黑
  2. 鲸会务为企业发布会提供创意升级方案
  3. 惊了,webots自带视觉识别
  4. 7月第2周榜单丨飞瓜数据B站UP主排行榜(哔哩哔哩)发布!
  5. CSGO连接到任意服务器失败问题的解决方案(超详细)
  6. samtools小记
  7. 无法连接wifi或找不到wifi信息
  8. 计算机软件专业全球排名,全国高校按计算机软件专业排名列表
  9. ansible 快速部署 kubeadm 离线安装集群
  10. 202209-2-何以包邮?