上一篇关于mono的是将一个小的系统移植体验,这次折腾了4天把这个小的系统部署到线上(国外的vps)。vps上安装了Ubuntu10.04的服务器版本,意味着是非常纯净的。而我又想都用最新版的环境,所以几乎全部编译安装mono2.10.8 Nginx1.0.11 MySQL5.5.20.现在把折腾的过程跟大家分享下,希望给那些对mono充满好感的朋友一点帮助,我折腾过了,希望大家不用再折腾了,而是比较顺利的完成整个过程。
一,准备工作
执行
sudo apt-get install build-essential
sudo apt-get install libncurses5 libncurses5-dev
sudo apt-get install pkg-config
重新安装下vim 执行 sudo apt-get remove vim-common sudo apt-get install vim
ps:整个安装编译过程会重复如下几个操作:
1.wget(下载相关的tar.gz或bz、bz2包),
2.tar jvxf(解压bz后缀的),zvxf(解压.gz后缀),xf也行,只不过解压过程不会显示详情。你可以参考这里了解更多
3.cd 进入解压后的目录,执行./configure或者是./config
4.make 编译
5.make install安装
二,安装Nginx1.0.11
1.安装pcre openssl zlib
2.wget http://nginx.org/download/nginx-1.0.11.tar.gz
3.tar zvxf nginx-1.0.11.tar.gz
4.cd nginx-1.0.11
5../configure 没有错误则执行make 接着make install (./configure过程中如果提示需要什么包的话,wget然后编译安装)
三,安装Mono 2.10.8
1.安装GNU M4(方法同上) bison gettext
2.wget http://download.mono-project.com/sources/mono/mono-2.10.8.tar.bz2
3.tar jvxf mono-2.10.8.tar.bz2
4.cd mono-2.10.8
5../configure make make install
四,安装Fastcgi-mono-server4
1.这个是包含在xsp里面的,所以我们要安装就是xsp
2.同样的方法安装编译wget http://download.mono-project.com/sources/xsp/xsp-2.10.2.tar.bz2
五,安装MySQL
1.安装Mysql的过程,请大家参考这这两篇文章(我建议执行./configure不要跟任何参数,全部默认安装)。文章连接如下:
http://blog.csdn.net/robertaqi/article/details/6099576 http://www.linuxso.com/sql/16838.html
当cmake执行报错了要记得清除下,第二个链接里面有提到
按照上面的链接文章操作应该可以顺利安装
六,解决MySQL中文乱码
参考这里http://guichina.blog.51cto.com/2001125/724939
七,设置Nginx,Fastcgi-mono-server自动启动
Nginx参考:http://www.linuxidc.com/Linux/2011-10/45735.htm
Fastcgi-mono-server参考:http://yojimbo87.github.com/2010/03/14/mono-startup-script.html
八,到这里配置应该就结束了,你可以参考我前面的文章配置你的程序。
运行时可能会出现如下"server /"的异常,按照提示修改Web.config文件,添加<customErrors mode="off"></customErrors>,
之后运行可能会抛出gdiplus.dll为找到的异常。
可以参考这里安装http://www.jiamaocode.com/Conts/2011/03/06/1741/1741.html
之后仍然可能报错,请参考这里http://www.mono-project.com/DllNotFoundException。
安装好了libdgiplus以后,运行程序报了MySQL.Data.dll没有找到,后来发现bin里面没有,我是在DAL里面建了一个libs文件夹,里面放了MySql.Data.dll。后面我直接放到了bin里面,然后再引用,就行了。
到这里程序应该是可以正常启动了,折腾了4天终于完成上线运行,这里感谢飞飞鱼对我指导和帮助。如果你在配置的过程中有什么问题,欢迎留言交流。