Centos 上使用Mono+MVC5+WebApi+Sqlite

时间:2023-03-08 19:56:59

鉴于现在网上很多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

还是这里:running-sqlite-on-mono

亦或这里:
sqlite-mono-c-sharp-cross-platform

其实*很多老外回答了,但是都指向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/