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 ...
随机推荐
- Apache shutdown unexpectedly启动错误解决方法
这个问题比较常见, 通常是80.443端口被占用 cmd 通过运行apache/bin/httpd.exe 打印如下log: (OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一 ...
- PyQt4软件打包成exe文件
使用py2exe进行打包 例: from distutils.core import setupimport py2exeimport sys sys.argv.append('py2exe') py ...
- linux awk, xargs
awk , 很赞的教程:http://coolshell.cn/articles/9070.html xargs, http://blog.csdn.net/andy572633/article/de ...
- CentOS用yum安装、配置MariaDB
.创建/etc/yum.repos.d/MariaDB.repo文件,这里用到了刚刚发布正式版的10. [mariadb] name = MariaDB baseurl = http://yum.ma ...
- ubuntu 安装 phpmyadmin
安装步骤 1 apt-get install phpmyadmin 2 安装完后默认的安装位置是在/usr/share 而不是在/var/www 所以 需要将其链接到/var/www来,复制的话貌似需 ...
- 用extern定义全局变量
1.extern的作用 extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b); 则告 ...
- sizeof进行结构体大小的判断
typedef struct{ int a; char b;}A_t;typedef struct{ int a; char b; char c;}B_t;typedef ...
- CMake入门以及学习笔记
使用cef3替代chromium内核开发产品过程中,第一次接触到系统构建,使用了最常见的CMake.CMake虽然在构建系统中用的比较多,但是使用到的程序员还是很少的.现在在国内能找到的相关资料和博客 ...
- codeforces 495B. Modular Equations 解题报告
题目链接:http://codeforces.com/problemset/problem/495/B 题目意思:给出两个非负整数a,b,求出符合这个等式 的所有x,并输出 x 的数量,如果 ...
- JSON数据格式
JSON 数据格式 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言.易于人 ...