CentOS Mono Nginx 部署 MVC4+WebApi
CentOS Mono Nginx 部署 MVC4+WebApi
经过几天的折磨,终于在CentOS上成功部署了MVC4+WebApi。Mono上的服务器推荐两种:Jexus(国产高人写的一款很牛的服务器)和Nginx(Fastcgi方式)。本文介绍Nginx如何部署MVC4+WebApi。
环境:
CentOS 6.4(32、64位)
Mono-3.2.1
Nginx 1.5.4
ASP.NET MVC 4
WebApi 1.0
一、首先安装一些需要的软件包
1、 首先更新CentOS上的软件包:yum –y update。
2、 安装一些需要的库:
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-@H_502_31@devel yum –y install build-essential automake autoconf libtool bison libglib2.0-dev libfreetype6-dev libfontconfig-dev gettext libgif-dev libtiff4-dev libpng12-dev libexif-dev libx11-dev libxft-dev libjpeg-dev
以上的包挺多的,但是为了保险起见,还是全部安装吧,有可能还会有缺少包的情况,就使用yum自己安装吧。
二、下载所需要的软件包
我把所有的软件包都下载在/usr/local/src中了,你也可以选择其他的位置。
首先在命令行执行:cd /usr/local/src,然后开始下载以下软件包。
1、 Mono:由于从Mono3.0之后编译源代码需要原来有一个老的Mono环境,所以必须要下载两个版本的Mono:Mono-2.11.4和Mono-3.2.1。
Mono-2.11.4@H_502_31@: wget http://origin-download.mono-project.com/sources/mono/mono-2.11.4.tar.bz2 @H_502_31@ Mono-3.2.1@H_502_31@: wget http:origin-download.mono-project.com/sources/mono/mono-3.2.1.tar.bz2
2、 Libgdiplus:
wget http:download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.9.tar.bz2
3、 xsp:xsp是Mono提供的一个测试版本的服务器,但是也提供Nginx运行asp.net的fastcgi。
官网上的xsp是2.x的,这个版本的fastcgi-mono-server4不能用;所以需要从github上下载最新的3.0版本。(git之前,要使用yum –y intall git安装git包。)
@H_502_31@Yum –y install git。 Git clone https:github.com/mono/xsp.git
4、 pcre:
wget ftp:ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.33.tar.bz2
5、 Nginx:
关于Nginx这个下载的是最新版本,需要自己安装,也可以使用配置yum源头的方式安装,这个安装的好处是:执行yum命令后就自动安装完了,最后还会帮你生成一个Nginx的帮助命令文件,帮助你执行Nginx的启动、重启和关闭等等。本文先介绍自己编译安装的情况(个人喜好这种方式,因为新版的Nginx已经添加了一些辅助命令了,以后介绍。)
三、安装软件包
1、 安装Mono:
(1) 首先安装Mono 2.11.4:执行以下命令,
转到存放目录:Cd /usr/local/@H_502_31@src 解压:tar –jxvf mono.4@H_502_31@.tar.bz2 转到解压后的目录:Cd mono-4@H_502_31@ Configure:我把mono安装在usr目录下,所以执行以下命令: ./configure --prefix=/@H_502_31@usr 编译安装:make && make install(这个过程比较漫长,去干点别的吧。)
(2) Mono2.11.4安装完成之后,开始安装Mono3.2.1:执行以下命令:
cd /usr/local/@H_502_31@src tar –jvxf mono-1@H_502_31@.tar.bz2 cd mono-1@H_502_31@ ./autogen.sh –prefix=/@H_502_31@usr make (这个过程也很漫长)
(3) mono-3.2.1编译完成之后,需要先卸载掉Mono-2.11.4:
cd /usr/local/src/mono-4@H_502_31@ make uninstall
(4) 卸载完mono-2.11.4之后开始安装mono-3.2.1:
(5)安装完成之后,执行一下ldconfig命令,确保新安装的动态库可以被找到。
ldconfig
2、 安装libgdiplus:
cd /usr/local/@H_502_31@src tar –jxvf libgdiplus-2.10.9@H_502_31@.tar.bz2 cd libgdiplus-9@H_502_31@ ./configure –prefix=/@H_502_31@usr Make &&@H_502_31@ make install ldconfig
3、 安装xsp:
4、 安装pcre:
cd /usr/local/@H_502_31@src tar –jxvf pcre-8.33@H_502_31@.tar.bz2 cd pcre-8.33@H_502_31@ ./configure –prefix=/@H_502_31@usr make && make install