Hello Jexus(转并修改)
一、关于 CentOS
CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件。目前最新版本为 6.4。
CentOS 有如下特点:
- 可以把CentOS理解为Red Hat AS系列!它完全就是对Red Hat AS进行改进后发布的!各种操作、使用和RED HAT没有区别!
- CentOS完全免费,不存在RED HAT AS4需要序列号的问题。
- CentOS独有的yum命令支持在线升级,可以即时更新系统,不像RED HAT那样需要花钱购买支持服务!
下载地址请戳 http://mirror.bit.edu.cn/centos/6.4/isos/x86_64/。
其中,LiveCD 为体验版,netinstall 为网络安装,minimal 为最小化安装,bin-DVD1/bin-DVD2 为完整版。
二、关于 Mono
Mono 是一个由 Xamarin 公司主持的项目。该项目的目标是创建一系列符合 ECMA 标准(Ecma-334 和 Ecma-335)的 .NET 工具,包括 C# 编译器和共通语言运行平台。。目前最新版本为 3.2。(更多请戳http://zh.wikipedia.org/wiki/Mono)
下载地址为 http://download.mono-project.com/sources/mono/。
三、关于 Jexus
Jexus web server for linux 是一款基于.NET兼容环境,运行于Linux/unix操作系统之上,以支持ASP.NET为核心功能的高性能WEB服务器。目前最新版本为 5.4。
Jexus 有如下功能特点:
- 支持ASP.NET。这是Jexus的核心功能。无论是稳定性、易用性还是并发承载能力、并行处理速度,Jexus对ASP.NET的支持都是非常优秀的;
- 支持Fast-CGI。通Fast-CGI,Jexus能支持包括PHP在内的所有拥有Fast-CGI服务功能的WEB应用;
- 具备基于正则表达式的强大的URL重写功能;
- 具有强劲的反向代理功能。支持多目标负载均衡,支持本地网站与远程网站无缝整合;
- 拥有强大的流媒体支持能力,支持FLV/F4V视频文件拖动播放,支持微软平滑流媒体技术;
- 支持“服务器推送”技术,配备了相应的服务器端、客户端开发接口,是开发现代WEB应用的利器;
- 具备可控的“ASP.NET前置缓存”,能最大限度地提高ASP.NET网站的承载能力和响应速度;
- 支持Https,具有SSL加密数据安全传输能力;
- 具有基础而实用的入侵检测功能,能自动终止已被识别的非法请求;
- 安装部署非常简便,操作使用极为简单。
更多请戳http://www.linuxdot.net/bbsfile-3084。
四、环境准备
1.安装 CentOS
在虚拟机中搭建一个干净的 CentOS 环境。这里选择 CentOS 6.4 Minimal 清爽版本,安装后用 yum update 命令更新系统。
2.安装依赖的库
(1)编译与配置环境
build-essential (或gcc和gcc-c++)
make
automake
autoconf
pkgconfig
yum install gcc gcc-c++ make automake autoconf pkgconfig libstdc++-devel
(2)Libgdiplus所需要的支持库:
giflib-devel
libpng-devel
libjpeg-devel
libtiff-devel
libX11-devel
libexif-devel
libXft-devel
yum install giflib-devel libpng-devel libjpeg-devel libtiff-devel libexif-devel libX11-devel libXft-devel
(3)Mono所需要的支持库:
bison
gettext
glib2-devel
freetype-devel
fontconfig-devel
yum install bison gettext glib2-devel freetype-devel fontconfig-devel
(4)安装 wget
CentOS minimal 没有 wget,需要自己安装
yum install wget
3.安装 libgdiplus(GDI+ 兼容库)
4.源码安装Mono
cd /usr/local/src/
wget http://download.mono-project.com/sources/mono/mono-3.2.1.tar.bz2
tar -jxvf mono-3.2.1.tar.bz2
cd mono-3.2.1
./configure --prefix=/usr
make
make install
输入 mono -V 如有mono版本信息,则安装成功.
4.安装 mono-3.0.7
(1)安装 mono-3.0.7(“git安装mono,常常需要系统中已经安装了mono 2.4以上版本。所以,git全新安装前,应该用源码安装一个低版本mono,并注意目标文件夹,一定要指定同一个地方,强烈建议用 --prefix=/usr 参数。”http://linuxdot.net/bbsfile-3304)
下载压缩包,解压
编译,安装 mono-3.0.7
mono -V 命令查看 mono-3.0.7 已经成功安装
5.安装 git
先安装git依赖的包
安装autoconf
安装git
6.通过 git 更新 mono 到 3.2.0 版本
git clone 下载 mono 最新版本
编译 mono-3.2.0,覆盖安装
mono -V 命令查看 mono-3.2.0(git 下载源码编译后,版本变成 3.3.0) 已经成功安装
mono-3.2.0 增加以下新特性(更多请戳:http://www.oschina.net/news/42616/mono-3-2-released):
- LLVM 更新到 3.2 版本,带来更多的编译优化
- 默认使用 SGen Garbage Collector 垃圾收集器
- Low pause mode
- Low promotion nursery
- 高精度的堆栈扫描 Mostly precise stack scanning
- Mono 3.2 基础类库可完整构建 Xamarin 的移动 profile
- 降低编译后的文件包大小
- 性能提升
五.安装 jexus
1.安装 Jexus
下载 Jexus 源码,解压
Jexus 的安装已经简化,只需要 ./install 一个命令
启动Jexus
2.配置Jexus自动启动
打开 /etc/rc.local 文件,在最后一行添加 /usr/jexus/jws start(5.2 及之前版本为 /usr/jexus/jws.start)
/usr/jexus/jws start
按 esc,:wq! 命令保存退出。
3.配置防火墙开放 80 端口
用 iptables 命令修改防火墙配置,开放80端口(需要重启虚拟机)
4.测试
curl 访问 http://localhost/info ,返回“ welcome to jexus!”
ifconfig 查的虚拟机 ip 为 192.168.10.198
浏览器输入:http://192.168.10.198/info
六、部署 wcf 服务到 Jexus
1.部署 wcfservcie
这里把网站目录放在 /var/www 下。系统没有 www 文件夹,用 mkdir 命令创建
这里用 上一篇文章 编译得到的 wcf 服务,wget 下载并解压
ls -l 命令查看 wcfservice 目录
2.配置 jexus siteconf
jexus 网站配置文件为 /usr/jexus/siteconf/default
root 可以指定多个,以下为默认值
把 /var/www/default 修改为 wcfservcie 的路径,:wq! 命令保存退出。
restart 命令重启 jexus
通过浏览器访问 http://192.168.10.198/Service.svc 及 http://192.168.10.198/Service.svc?wsdl
至此,wcfservice 已经部署完毕
3.测试 wcfservice
测试逻辑如下
修改服务引用到 jexus 上的 wcfservice 地址
测试成功!
七、结语
对 jexus 的关注差不多四年,从 3.x 版本到现在 5.4 版本,jexus 已经趋于成熟。
这是一个 Hello world。感谢Jexus作者宇内流云对吾小白的耐心指导。
Hello Jexus(转并修改)的更多相关文章
- Jexus使用的相关记录
前言 本文是零零散散的记录,部分内容是我在平时工作中用到的,部分是从群里"偷"来的,所以难免会有一些错误. 主要还是希望能帮到部分使用Jexus的朋友. 安装 curl https ...
- .NET Core部署到linux(CentOS)最全解决方案,高阶篇(Docker+Nginx 或 Jexus)
在前两篇: .NET Core部署到linux(CentOS)最全解决方案,常规篇 .NET Core部署到linux(CentOS)最全解决方案,进阶篇(Supervisor+Nginx) 我们对. ...
- Linux上用Jexus部署Asp.Net网站:常规部署与Docker部署
(一)常规部署 一.把 jexus压缩包下载到linux临时文件夹中. cd /tmp wget linuxdot.net/down/jexus-6.2.x-arm64.tar.gz (不同的操作系统 ...
- ASP.NET跨平台最佳实践
前言 八年的坚持敌不过领导的固执,最终还是不得不阔别已经成为我第二语言的C#,转战Java阵营.有过短暂的失落和迷茫,但技术转型真的没有想象中那么难.回头审视,其实单从语言本身来看,C#确实比Java ...
- ASP.NET跨平台
ASP.NET跨平台最佳实践 前言 八年的坚持敌不过领导的固执,最终还是不得不阔别已经成为我第二语言的C#,转战Java阵营.有过短暂的失落和迷茫,但技术转型真的没有想象中那么难.回头审视,其实单从语 ...
- CentOS7+Mono5.2.0.224 +Jexus5.8.3.0 布署 Asp.Net MVC (vs2017)
背景: 比起大神我们只是差远了,只知道一味的找找看,找的资料不少,但真不知道哪一个是正确的. 之前一个文章也写了怎么安装 Jexus 但始终只有是html的静态页面可以asp.net 都不行(http ...
- .NET5都来了,你还不知道怎么部署到linux?最全部署方案,总有一款适合你
随着2020进入4季度,.NET5正式版也已经与大家见面了.不过,尽管 .NET Core发布已经有四五年的时间,但到目前为止,依旧有很多.NET开发者在坚守者.NET4,原因不尽相同,但最大的问题可 ...
- Jexus 5.8.2 正式发布为Asp.Net Core进入生产环境提供平台支持
Jexus 是一款运行于 Linux 平台,以支持 ASP.NET.PHP 为特色的集高安全性和高性能为一体的 WEB 服务器和反向代理服务器.最新版 5.8.2 已经发布,有如下更新: 1,现在大 ...
- 在.NET Core之前,实现.Net跨平台之Mono+CentOS+Jexus初体验
准备工作 本篇文章采用Mono+CentOS+Jexus的方式实现部署.Net的Web应用程序(实战,上线项目). 不懂Mono的请移步张善友大神的:国内 Mono 相关文章汇总 不懂Jexus为何物 ...
随机推荐
- Windows 环境下分布式跨域Session共享(转)
出处:http://www.cnblogs.com/stangray/p/3328092.html 为什么还是那句话,在网上找了N篇Session共享,但真正可以直接解决问题的还是没有找到. 一.以下 ...
- IntelliJ IDEA建立source同级的文件夹
1.项目中一般都是将配置文档放入到config的source文件夹下,但是IDE没有直接建立source文件夹的方式,所以我们只做文件夹需要如下操作: 选中项目--->右键,选择new ---& ...
- 解决部分版本kali升级后w3af无法运行的问题
1,w3af简介 w3af是一个Web应用程序攻击和检查框架.该项目已超过130个插件,其中包括检查网站爬虫,SQL注入(SQL Injection),跨站(XSS),本地文件包含(LFI),远程文件 ...
- CGLIB实现动态代理
JDK动态代理和CGLIB字节码生成的区别? * JDK动态代理只能对实现了接口的类生成代理,而不能针对类 * CGLIB是针对类实现代理,主要是对指定的类生成一个子类,覆盖其中的方法 因为是继承 ...
- LINQ to Entities 查询中的标准查询运算符
投影和筛选方法 投影指的是转换的结果集到所需的窗体中的元素. 例如,可以从结果集中的每个对象投影所需的属性子集,可以投影一个属性并对其执行数学计算,也可以从结果集投影整个对象. 投影方法有 Selec ...
- C#——Winform 无边框随意拖动【转载】
本篇技术内容转载自:http://www.cnblogs.com/ap0606122/archive/2012/10/23/2734964.html using System; using Syste ...
- C#获取枚举的描述
public enum StatusEnum { /// <summary> /// 运行中 /// </summary> [Description("运行中&quo ...
- netcore中使用bower还原出错的解决方法
近期BitAdminCore框架在创建时,还原bower包出现502错 打开地址,发现原为是因为bower服务调整导致的. 果断处理: 1.通过管理员模式,启动命令行 2.进入npm所在目录 3.执行 ...
- Redis数据库结构与读写原理
此文已由作者赵计刚薪授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 1.数据库结构 每一个redis服务器内部的数据结构都是一个redisDb[],该数组的大小可以在redi ...
- java—过虑器基础(47)
在web项目中就只有三大组件: Filter过虑器 监听器. Servlet 在web中过虑器就是一个类javax.servlet.Filter. 过虑器是用于在执行时,过虑用户的请求(request ...