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 ...
随机推荐
- Java读写文件通用格式
String path = "I:\\"; File file = new File(path + "user_id_pair.txt"); FileReade ...
- poj 1010
http://poj.org/problem?id=1010 题意:给你n种邮票的价值,到0结束,这些邮票价值有可能相同,但是形状是不同的. 还有给你m个收藏家所需要收藏的邮票的总价格.到0结束. 每 ...
- codecademy-command line_filesystem
$:shell prompt (命令提示符) In the terminal, first you see $. This is called a shell prompt. It appears w ...
- js中修改标签的hidden属性
hidden属性在html5中,只要存在,就是隐藏效果,而不论值为多少 要显示元素,要删除hidden属性,而不是设置为false <script type="text/javascr ...
- FFmpeg-20160428-snapshot-bin
ESC 退出 0 进度条开关 1 屏幕原始大小 2 屏幕1/2大小 3 屏幕1/3大小 4 屏幕1/4大小 S 下一帧 [ -2秒 ] +2秒 ; -1秒 ' +1秒 下一个帧 -> -5秒 F ...
- Java中的Comparable接口和Comparator接口
Comparator位于包java.util下,比较器,是在集合外部定义排序.Comparable位于包java.lang下,代表当前对象可比较的,是在集合内部实现排序. Comparable代表一个 ...
- Django~queries
API queries create, retrieve, update and delete
- jquery after append appendTo三个函数的区别
jq文档的说明是 1.after函数 定义和用法: after() 方法在被选元素后插入指定的内容. 语法: $(selector).after(content) 实例: <html> & ...
- Tomcat中文乱码问题的原理和解决方法
1) 更改 D:\Tomcat\conf\server.xml,指定浏览器的编码格式为“简体中文”: 方法是找到 server.xml 中的 <Connector port="8080 ...
- Qt 获取Mac地址
QList<QNetworkInterface> list = QNetworkInterface::allInterfaces(); foreach(QNetworkInterface ...