• Asp.Net跨平台:Ubuntu14.0+Mono+Jexus+Asp.Net


      Asp.Net跨平台的文章园子里有很多,这里给自己搭建的情况做一下总结,方便以后查看。

        参考网站:

           http://www.linuxdot.net/(Linux DotNET大本营 )

               http://www.cnblogs.com/shanyou/p/4677569.html(张善友)

           http://www.cnblogs.com/haoxilu/p/3813907.html

    一、系统安装

      使用VMware +Ubuntu14.04 64位系统。这个没什么好说的。

    二、环境配置

      1、对当前的系统进行更新    

        sudo apt-get update

        sudo apt-get upgrade

      2、构建编译环境

        sudo apt-get install bison libglib2.0-dev 
          sudo apt-get install libgif-dev libtiff4-dev libpng12-dev libexif-dev libx11-dev libxft-dev libjpeg-dev

      3、安装libgdiplus    

        wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.tar.bz2

             tar jvxf libgdiplus-2.10.tar.bz2

             cd libgdiplus-2.10

             ./configure --prefix=/usr
              make
              sudo make install
              cd ..(返回前目录)

        注:在执行编译  make 时遇到了错误,如下:      

    gdiplus-private.h:33:31: fatal error: freetype/tttables.h: No such file or directory
     #include <freetype/tttables.h>
                                   ^
    compilation terminated.
    make[2]: *** [adjustablearrowcap.lo] Error 1
    make[2]: Leaving directory `/root/libgdiplus-2.10/src'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/root/libgdiplus-2.10'
    make: *** [all] Error 2
    root@ubuntu:~/libgdiplus-2.10# sudo ln -s /usr/X11/include/freetype2/freetype/ /usr/X11/include/freetype
    ln: failed to create symbolic link ‘/usr/X11/include/freetype’: No such file or directory

      解决办法参考链接:http://www.cnblogs.com/24la/p/libgdiplus-install-error-record.html(以后再试试)

      试了几次,我还是编译不过去。可能是人品问题吧,没办法,第一次接触Ubuntu,好多都懵懵懂懂的。

    后来谷歌搜索到github上的一个链接:https://github.com/cjy37/linux-asp.net-installScript,这里有各linux主流系统Asp.Net跨平台环境安装的脚本命令,同时能安装很多当前的主流工具:Jexus |mysql | redis | haproxy | mongodb | nginx | Node.js 。

    看到这个满心欢喜啊。一番折腾终于安装完成。

        

      4、安装Mono   

         使用指令:wget http://download.mono-project.com/sources/mono/mono-4.0.5.1.tar.bz2

             tar jvxf mono-4.0.5.1.tar.bz2

             cd mono-4.0.5

              ./configure --prefix=/usr

              make
              sudo make install
              cd ..(返回前目录)

          使用mono -V查看Mono版本,以检查是否安装成功

      后来发现用命令:sudo apt-get install mono-complete也可以将Mono相关的组件安装上,可以省去安装libgdiplus(好像是呵)

      5、安装Jexus  

        使用指令:wget http://www.linuxdot.net/down/jexus-5.6.4.tar.gz

             tar jvxf jexus-5.6.4.tar.gz

             cd jexus-5.6.4

             sudo ./install(Jexus默认安装到/usr/jexus文件夹里)

             cd /usr/jexus

             sudo ./jws start(启动Jexus)

        在浏览器上输入:IP/info看到页面,就说明成功了

        注:老版本./jws后加.,新版本./jws后不加.。

        Jexus的配置多网站:http://www.cnblogs.com/24la/p/jexus-more-sites.html

        Jexus 的各种使用方法详见http://www.linuxdot.net/bbsfile-3500

          启动:sudo /usr/jexus/jws start 
          停止:sudo /usr/jexus/jws stop 
          重启:sudo /usr/jexus/jws restart 
          重启指定网站:sudo /usr/jexus/jws restart siteName 
          停止指定网站:sudo /usr/jexus/jws stop siteName

        Jexus升级,最新版本 关注 www.jexus.org

        设置Jexus服务开机自启动:  

            vi /etc/rc.local
          按 i 键进入编辑模式添一句

            /usr/jexus/jws start
          按ESC退出编辑模式,输入 :wq保存文件
          //Ubuntu加在 exit 0 前面。

    三、配置Asp.Net 网站

      1、在vs中创建项目,然后发布并上传到/home/jexusmono,windows上传文件到Ubuntu可以开启ssh-server服务,用WinSCP。开启ssh-server服务参考http://www.cnblogs.com/weixiao520/p/4771463.html  

      2、编辑Jexus配置文件

        sudo vi /usr/jexus/siteconf/default 

        将配置文件中root节点的/var/www/default 改为/home/myub/桌面/WebRelease

        重启Jexus服务:sudo /usr/jexus/jws restart 

        运行效果:

      

      

    四、总结

        这只是做了一个简单的测试,没做复杂的Asp.Net网站测试,复杂的可能还会有问题,有机会再一步一步试试深入下去,在次也感谢各位前辈。随着微软的开源,相信.Net跨平台会越来越好。

     

  • 相关阅读:
    js将UTC时间转化为当地时区时间 用JS将指定时间转化成用户当地时区的时间
    elementUI里面,用tabs组件导致浏览器卡死的问题
    根据数组对象中的属性值删除对象
    js货币金额正则表达式
    vue elementui input不能输入的问题
    vue+elementui--$message提示框被dialog遮罩层挡住问题解决
    Oracle日期函数
    plsql查询报错:Dynamic Performamnce Tables not accessible
    Oracle rownum和rowid的区别
    Oracle通过序列实现主键自增长
  • 原文地址:https://www.cnblogs.com/weixiao520/p/4966580.html
Copyright © 2020-2023  润新知