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 ...
随机推荐
- django的信号
Django中提供了“信号调度”,用于在框架执行操作时解耦.通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者. 1.Django内置信号 Model signals pre_in ...
- 4.7---最近公共祖先(CC150)
import java.util.*; public class LCA { public static int getLCA(int a, int b){ if(a < 1 || b < ...
- SDL播放视频
// PlayVideo.cpp : Defines the entry point for the console application. // extern "C" { #i ...
- poj 1011
http://poj.org/problem?id=1011 这是一道POJ的搜索的题目,最开始确实难以理解,但做过一些搜索的题目后,也没那么难了. 大概题意就是,现在有N根木头,要拼成若干根木头,并 ...
- poj 1700
http://poj.org/problem?id=1700 题目大意就是一条船,有N个人需要过河,求N个人最短过河的时间 #include <stdio.h> int main() { ...
- spring + myBatis 常见错误:SQL语法错误
在程序运行时,有时候会出现如下错误: 这个错误通常是你的sqlmapper.xml中sql语句语法有错误.所以请仔细查看你sql语句是否正确,比如{#id}这样写就会报上述错误,其实应该#{id}这样 ...
- 深入理解 Win32 PE 文件格式
深入理解 Win32 PE 文件格式 Matt Pietrek 这篇文章假定你熟悉C++和Win32. 概述 理解可移植可执行文件格式(PE)可以更好地了解操作系统.如果你知道DLL和EXE中都有些什 ...
- linux expect
1.首先确定是否安装expect /home/root> which expect /usr/bin/expect 如果没有安装,先安装一下 安装方法: 请参考 http://www.cnblo ...
- Django~automated tests
def xx(): 冒号下一行要缩进 ATD http://blog.csdn.net/doupei2006/article/details/7657547 http://www.jb51.net/a ...
- 【转】Java-----jar反编译修改重新打包
原文链接:http://blog.csdn.net/hekewangzi/article/details/44676797 一.使用反编译工具JD-GUI(JD-GUI相关操作见Java-----反编 ...