Rootop 服务器运维与web架构

搭建Linux+Jexus+MariaDB+ASP.NET(LJMA环境)

| 暂无评论

系统环境:centos6.5_x64

LJMA 是Linux+Jexus+MariaDB+ASP.NET的简写,其实就是把Jexus, MariaDB以及ASP.NET安装在Linux系统上,组成一个环境来运行ASP.NET的应用。Jexus是Linux下的基于Mono编写的WEB服务软件,而MariaDB是比较小型的数据库软件,ASP.NET是由微软在.NET Framework框架中所提供,开发Web应用程序的类库,通过Mono我们可以让他在Linux下运行。

Jexus相比其它Linux系统的WEB服务器的优势
一、Jexus直接支持跨平台的ASP.NET网站和PHP网站,中间无需第三方插件。
二、Jexus在静态文件处理方面同样拥有非常优秀的性能。
三、Jexus专们针对应用服务器的需求进行了优化,具有超强的稳定性和不间断运行能力,其稳健度,绝不亚于其它任何WEB服务器。
四、Jexus拥有最基础而关键的入侵检测能力,这是所有其它WEB服务器所不具备的。

Mono是一个由Novell公司(由Ximian发起,并由Miguel de lcaza领导的,一个致力于开创.NET在Linux上使用的开源工程。它包含了一个C#语言的编译器, 一个CLR的运行时,和一组类库,并实现了 ADO NET和ASP NET。能够使得开发人员在Linux用C#开发程序。)主持的项目.该项目的目标是创建一系列符合标准ECMA (Ecma-334和Ecma-335)的.Net 工具, 包括C #编译器和共同语言(CL 即 Common Language)执行平台(Platform).与微软的.Net不同, Mono项目不仅可以运行于Windows系统内,还可以运行于Linux, FreeBSD, Unix, Mac OS X和Solaris。

[root@centos-6.5-x64 ~]#yum -y install gcc gcc-c++ bison pkgconfig glib2-devel gettext make libpng-devel libjpeg-devel libtiff-devel libexif-devel giflib-devel libX11-devel freetype-devel fontconfig-devel cairo-devel

Mono需要的GDI+兼容API的库Libgdiplus 支持System.Drawing

[root@centos-6.5-x64 ~]#wget -c http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.tar.bz2
[root@centos-6.5-x64 ~]#tar jxvf libgdiplus-2.10.tar.bz2
[root@centos-6.5-x64 libgdiplus-2.10]#./configure --prefix=/usr
[root@centos-6.5-x64 libgdiplus-2.10]#make && make install

下载mono,安装:

[root@centos-6.5-x64 ~]#wget -c http://download.mono-project.com/sources/mono/mono-3.2.3.tar.bz2
[root@centos-6.5-x64 ~]#tar jxvf mono-3.2.3.tar.bz2
[root@centos-6.5-x64 ~]#cd mono-3.2.3
[root@centos-6.5-x64 mono-3.2.3]#./configure --prefix=/usr/local/mono
[root@centos-6.5-x64 mono-3.2.3]#make && make install

测试安装:
[root@centos-6.5-x64 mono-3.2.3]#/usr/local/mono/bin/mono -V
Mono JIT compiler version 3.2.3 (tarball 2014年 03月 20日 星期四 05:25:29 CST)
Copyright (C) 2002-2012 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: altstack
Notifications: epoll
Architecture: amd64
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: sgen

[root@centos-6.5-x64 ~]#ldconfig

测试mono:

[root@centos-6.5-x64 ~]#echo 'class X { static void Main () { System.Console.Write("My first mono app worked!\n");} }' > example.cs
[root@centos-6.5-x64 ~]#/usr/local/mono/bin/mcs example.cs
[root@centos-6.5-x64 ~]#ll
总用量 82008
-rw-r--r-- 1 root root 88 3月 19 22:28 example.cs
-rwxr-xr-x 1 root root 3072 3月 19 22:28 example.exe
drwxr-xr-x 3 root root 4096 8月 3 2013 jexus-5.4.3
-rw-r--r-- 1 root root 179047 8月 6 2013 jexus-5.4.3.tar.gz
-rw-r--r-- 1 root root 1962898 2月 15 2011 libgdiplus-2.10.tar.bz2
drwxr-xr-x 19 1000 users 4096 3月 20 2014 mono-3.2.3
-rw-r--r-- 1 root root 81810387 3月 20 2014 mono-3.2.3.tar.bz2
[root@centos-6.5-x64 ~]#/usr/local/mono/bin/mono example.exe
My first mono app worked!

Jexus Web Server for nux 是一款基于.NET兼容环境,运行于Linux/unix操作系统之上,以支持ASP.NET为核心功能的高性能WEB服务器,用于替换Apache+mod_mono、Nginx+FastCgi 方案运行ASP.NET。Jexus不但具有跨平台ASP.NET服务器这样的标志性特征,同时还拥有内核级的安全监控、入侵检测、URL重写、无文件路由等一系列重要功能和专有特性。

从5.3.1版本开始,Jexus的安装过程简化了,内置了两个新的脚本,它们分别是“install”和“upgrade”,对应原来的“安装”和“升级”,将Jexus的安装过程自动化了。jexus本身的安装和升级方式并没有发生更多的变化,因此对于已经习惯于5.3.1之前版本的使用方式的用户仍然可以采用之前的安装方式。

[root@centos-6.5-x64 ~]#wget -c http://linuxdot.net/down/jexus-5.4.3.tar.gz
[root@centos-6.5-x64 ~]#tar zxvf jexus-5.4.3.tar.gz
[root@centos-6.5-x64 ~]#cd jexus-5.4.3
[root@centos-6.5-x64 jexus-5.4.3]#ll
总用量 28
drwxr-xr-x 5 root root 4096 8月 6 2013 data
-rwxr-xr-x 1 root root 611 8月 3 2013 install
-rw-r--r-- 1 root root 16111 8月 5 2013 readme.cn.txt
-rwxr-xr-x 1 root root 758 8月 3 2013 upgrade
[root@centos-6.5-x64 jexus-5.4.3]#sh install
Installed /usr/jexus/jxAspx.dll into the gac (/usr/local/mono/lib/mono/gac)
Installed /usr/jexus/jxHost.dll into the gac (/usr/local/mono/lib/mono/gac)
OK, Jexus web server has been installed to '/usr/jexus'.

执行install脚本时,jexus默认是安装到/usr/jexus/中,如果想安装到其他目录,可以在执行该脚本时增加一个目录的参数(如 sh install /usr/local/jexus)。对于升级就是执行upgrade脚本。

启动jexus:
[root@centos-6.5-x64 ~]#/usr/jexus/jws start
Start … OK
[root@centos-6.5-x64 ~]#lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mono 1093 root 4u IPv4 113800 0t0 TCP *:http (LISTEN)
mono 1100 root 9u IPv4 113800 0t0 TCP *:http (LISTEN)
[root@centos-6.5-x64 ~]#echo “/usr/jexus/jws start” >> /etc/rc.local 加入开机自启动
通过浏览器打开:http://192.168.1.102/info 即可看到欢迎页面。至此.net环境完成。至于mariadb过程就不做列出了。

jexus主配置文件:
[root@centos-6.5-x64 ~]#vi /usr/jexus/siteconf/default
port=80 //指定端口
root=/ /var/www/default //根目录
hosts=* #OR your.com,*.your.com //绑定域名
indexs=index.aspx //定义默认页

关于mariadb安装参考 http://www.rootop.org/pages/2343.html

ps:
在/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务,这时已设置不区分表名的大小写;

lower_case_table_names = 0

其中 0:区分大小写,1:不区分大小写

原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/2214.html

作者:Venus

专注于 服务器运维与web架构 E-mail:venus#rootop.org

发表评论