Ubuntu10.04上编译安装部署Mono2.10.8+Nginx1.0.11+MySQL5.5.20实战

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

上一篇关于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天终于完成上线运行,这里感谢飞飞鱼对我指导和帮助。如果你在配置的过程中有什么问题,欢迎留言交流。

本文转自Rt-张雪飞博客园博客,原文链接http://www.cnblogs.com/mszhangxuefei/archive/2012/01/19/mono_3.html如需转载请自行联系原作者


张雪飞

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
19天前
|
运维 前端开发 应用服务中间件
LNMP详解(八)——Nginx动静分离实战配置
LNMP详解(八)——Nginx动静分离实战配置
24 0
|
26天前
|
Ubuntu Linux 数据安全/隐私保护
Windows11 使用 WSL2部署Ubuntu
在管理员PowerShell中运行命令启用Windows子系统Linux和虚拟机平台,但安装Ubuntu时遇到错误。解决方法是下载NoLsp_fix_WSL2工具,以管理员权限进入其目录,使用工具指向WSL的路径(例如 `C:\windows\system32\wsl.exe`)进行修复,然后能成功打开Ubuntu。
34 4
|
18天前
|
运维 负载均衡 应用服务中间件
LNMP详解(九)——Nginx虚拟IP实战
LNMP详解(九)——Nginx虚拟IP实战
30 2
|
17天前
|
前端开发 应用服务中间件 nginx
Nginx配置详解Docker部署Nginx使用Nginx部署vue前端项目
Nginx配置详解Docker部署Nginx使用Nginx部署vue前端项目
78 0
|
21天前
|
SQL 关系型数据库 MySQL
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
94 0
|
2天前
|
应用服务中间件 Linux 开发工具
如何在阿里云服务器快速搭建部署Nginx环境
以下是内容的摘要: 本文档主要介绍了在阿里云上购买和配置服务器的步骤,包括注册阿里云账号、实名认证、选择和购买云服务器、配置安全组、使用Xshell和Xftp进行远程连接和文件传输,以及安装和配置Nginx服务器的过程。在完成这些步骤后,你将能够在服务器上部署和运行自己的网站或应用。
|
4天前
|
Ubuntu 关系型数据库 MySQL
如何在Ubuntu使用宝塔部署Emlog网站并发布到公网实现任意浏览器访问
如何在Ubuntu使用宝塔部署Emlog网站并发布到公网实现任意浏览器访问
|
9天前
|
存储 SQL 关系型数据库
【MySQL实战笔记】03.事务隔离:为什么你改了我还看不见?-02
【4月更文挑战第7天】数据库通过视图实现事务隔离,不同隔离级别如读未提交、读已提交、可重复读和串行化采用不同策略。以可重复读为例,MySQL使用多版本并发控制(MVCC),每个事务有其独立的视图。回滚日志在无更早视图时被删除。长事务可能导致大量存储占用,应避免。事务启动可显式用`begin`或设置`autocommit=0`,但后者可能意外开启长事务。建议使用`autocommit=1`并显式管理事务,若需减少交互,可使用`commit work and chain`。
28 5
|
11天前
|
SQL 存储 关系型数据库
【MySQL实战笔记】02.一条SQL更新语句是如何执行的-2
【4月更文挑战第5天】两阶段提交是为确保`redo log`和`binlog`逻辑一致,避免数据不一致。若先写`redo log`, crash后数据可能丢失,导致恢复后状态错误;若先写`binlog`,crash则可能导致重复事务,影响数据库一致性。一天一备相较于一周一备,能缩短“最长恢复时间”,但需权衡额外的存储成本。
16 1
|
17天前
|
Kubernetes Ubuntu 应用服务中间件
Ubuntu 22.04 利用kubeadm方式部署Kubernetes(v1.28.2版本)
Ubuntu 22.04 利用kubeadm方式部署Kubernetes(v1.28.2版本)
80 0