Centos 上使用Mono+MVC5+WebApi+Sqlite
鉴于现在网上很多Mono安装Jexus的方法已经过时,你打开百度搜索基本是几个前辈写的文字,很多其实是过去式了。踩的坑多自然使人望而生畏,而方便快捷的方法百度排名却太低,这里就安利下笔者刚成功使用的方式,将来有新的方法我还记得的话回来更新。。。
依次执行下列命令即可
1、rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
2、yum-config-manager --add-repo http://download.mono-project.com/repo/centos/
3、yum -y update
4、yum -y install mono
5、curl jexus.org/5.6.x/install | sh
6、启动jexus
/usr/jexus/jws start
7、设置jexus开机启动
echo "/usr/jexus/jws start" >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local
8、访问http://本机ip/info即可
中间踩过的坑
0 yum –y update
这个东西随便敲敲,更新下无妨。
1 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 Libgdiplus
这个就是按照老的方式中的一步,我胡乱粘贴的,这个安装是自己去build一坨东西,麻烦且不爽,最关键的是中间居然会出错,出错了解决起来更加的复杂。现在这些统统都不需要了。是的,现在不需要这样的。不需要了。重要的事情说三遍。
2 mono -v
么有设置mono的环境变量当然就找不到命令啊,要么就设环境变量,懒得设的话这里我们手动指定jexus去找到mono就好了。
3 mono jexus绿色版
不得不承认绿色版的超级容易安装(因为是绿色的所以压根不需要安装啊),但是我直接发布最新版的mvc5+Webapi上去的时候各种诡异的找不到程序集,网上有很多通过替换dll的方式去做的,我觉得这不科学啊,作为懒人当然是什么都不做,直接复制上去就能用。采用上面的安装方式可以直接运行MVC5的站点,而无缝切换到mono。所以绿色版的态度是适合入门,最后自己去修改和封装成适合自己的合适的版本的绿色版。
4 一键安装脚本
作为linux新人,当时看到这个脚本就以为终于有救了,但是作为不熟悉mono,不了解jexus,不懂什么shell的三无新人,直接使用该脚本如果成功了还好,大部分人是对里面的报错完全就摸不着头脑。所以我建议还是先一步步来,一行一行的敲命令,哪里不对点哪里(原谅我被广告洗脑太多了,我真的不是步步高点读机,so easy),有过一次成功经验后,自己改造这个脚本,下次就用自己的一键安装脚本。
5 mono 下使用sqlite
sqlite在windows平台下使用正常,在mono下挂了。参考了各个网站,
诸如这里:Universal-System-Data-Sqlite-binary-for-NET-and-Mo
或者这里:http://my.oschina.net/lbp0200/blog/194025
亦或这里:
sqlite-mono-c-sharp-cross-platform
其实stackoverflow很多老外回答了,但是都指向sqliet官网自己去找mono版本,但是sqlite3.dll这东西不好找,在sqlite的download页面里翻了好久都没有找到,找到的sqlite居然没有dll后缀,作为新人当然不知道怎么回事,csdn上有但是当然不敢用。最后翻了万能的github在别人的项目里面摸出来,最后使用Mono.Data.Sqlite.dll+sqlite3.dll在两个平台都工作正常。注意,sqlite3.dll这个dll是无法直接引用的,一定要记得copy到bin目录里面去就可以了。
6 当然还有防火墙端口一定要开的
这个我就不多说了,这个应该是常识的。
7 关于mono的机器配置
我这里VPS装了ss服务器,还有这个站点,只用了大概60m的内存,当然站点本身没有啥访问量。
8 WinScp
这个是好东西,用过的都说好。
9 写在最后
当然一家之言,也没有啥交流,有啥问题请直接联系我。
参考:
http://www.weixq.cnhttp://www.linuxdot.net/
Centos 上使用Mono+MVC5+WebApi+Sqlite的更多相关文章
- CentOS上 Mono 3.2.8运行ASP.NET MVC4经验
周一到周三,折腾了两天半的时间,经历几次周折,在小蝶惊鸿的鼎力帮助下,终于在Mono 3.2.8上运行成功MVC4.在此总结经验如下: 系统平台的版本: CentOS 6.5 Mono 3.2.8 J ...
- 在CentOS上使用Jexus托管运行 ZKEACMS
ZKEACMS Core 是基于 .net core 开发的,可以在 windows, linux, mac 上跨平台运行,接下来我们来看看如何在 CentOS 上使用Jexus托管运行 ZKEACM ...
- .NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序
在之前的博文中我们在 Ubuntu 上成功编译出了 dnx ,并且用它成功运行了 ASP.NET 5 示例程序.在这篇博文中我们将 Ubuntu 换成 CentOS. 目前 dnx 的编译需要用到 m ...
- 在CentOS上部署基于dnx/coreclr的ASP.NET 5应用程序
在Ubuntu上写好了一个简单的ASP.NET 5应用程序,尝试将这个程序部署在没有mono环境的CentOS服务器上. 部署步骤如下: 1)安装libuv(KestrelHttpServer需要它) ...
- 在 CentOS 上安装和配置 OpenNebula
转自:http://www.aikaiyuan.com/4889.html 我们提到的云计算一般有三种类型:软件即服务(Software as a Service, SaaS),平台即服务(Platf ...
- 在CentOS上为Docker开启SELinux
a { color: #4183C4; text-decoration: none } a:hover { text-decoration: underline } ul,ol { padding-l ...
- 在 CentOS 上运行 ZKEACMS
ZKEACMS Core 是基于 .net core 开发的,可以在 windows, linux, mac 上跨平台运行,接下来我们来看看如何在 CentOS 上运行 ZKEACMS. 安装 .Ne ...
- raspberrypi(树莓派)上安装mono和jexus,运行asp.net程序
参考网址: http://www.linuxdot.net/ http://www.cnblogs.com/mayswind/p/3279380.html http://www.raspberrypi ...
- centos 7 安装mono 和 monodevelop
本次所有操作在root模式下 1.执行 rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3 ...
随机推荐
- etcd相关资料
<1>etcd:从应用场景到实现原理的全方位解读 http://www.infoq.com/cn/articles/etcd-interpretation-application-scen ...
- IPC-----POSIX消息队列
消息队列可以认为是一个链表.进程(线程)可以往里写消息,也可以从里面取出消息.一个进程可以往某个消息队列里写消息,然后终止,另一个进程随时可以从消息队列里取走这些消息.这里也说明了,消息队列具有随内核 ...
- Appium+Robotframework实现Android应用的自动化测试-6:一个简单的例子
万事具备,只欠编码! 下面看一个简单的示例,这个示例验证Android手机自带的通讯录的添加联系人的操作是否成功.这个例子是Appium官网自带的示例,有兴趣的同学也可以自己下载来研究和学习,下载地址 ...
- Android之Activity之间跳转
本人自学Android,想到什么就写点什么.主要是怕忘了,哈哈~请观者不要建议~ 今天写点Android窗口之间的跳转以及自己理解: 1.Android中窗口之间的跳转,就是Activity之间的跳转 ...
- gitlab 无法查看提交的文件Errno::ENOMEM (Cannot allocate memory - /opt/gitlab/embedded/bin/git):
gitlab可以成功clone和push,但是提交后的文件却无法查看.从页面上看的话只显示出500错误. 查了下gitlab的日志 tail -f /var/log/gitlab/gitlab-rai ...
- ios Unit test 入门书籍推荐
请参考 ios 7 by tutorials 中的 chapter 11 :Unit Testing in xcode 5
- mysql删除二进制日志文件
一.RESET MASTER 这个语句可以验证首次配置主机备机是否成功.步骤如下: 1. 启动master和 slave,开启replication (即 复制) 注:replication (复制) ...
- MySQL排序原理与MySQL5.6案例分析【转】
本文来自:http://www.cnblogs.com/cchust/p/5304594.html,其中对于自己觉得是重点的加了标记,方便自己查阅.更多详细的说明可以看沃趣科技的文章说明. 前言 ...
- ABAP 特殊透明表
ADRC 地址 (业务地址服务) 存储所有的有关地址的记录 MSEG 凭证段:物料 存储物料的所有凭证(包括销售.交货.采购等) VBPA-VBELN(销售凭证) VBPA-KUNNR ...
- CentOS搭建svn服务器支持https访问
在CentOS6.3 64位机器上配置SVN服务器,并设置只允许HTTPS连接,可以配置多个repos源,每个源都拥有自己的组和成员,用于权限控制. 安装相关软件 Apache yum install ...