上一篇關於mono的是將一個小的系統移植體驗,這次折騰了4天把這個小的系統部署到線上(國外的vps)。vps上安裝了Ubuntu10.04的服務器版本,意味着是非常純凈的。而我又想都用最新版的環境,所以幾乎全部編譯安裝mono2.10.8 Nginx1.0.11 MySQL5.5.20.現在把折騰的過程跟大家分享下,希望給那些對mono充滿好感的朋友一點幫助,我折騰過了,希望大家不用再折騰了,而是比較順利的完成整個過程。
一,准備工作
執行
sudo apt-get install build-essential
sudo apt-get install libncurses5 libncurses5-dev
sudo apt-get install pkg-config
重新安裝下vim 執行 sudo apt-get remove vim-common sudo apt-get install vim
ps:整個安裝編譯過程會重復如下幾個操作:
1.wget(下載相關的tar.gz或bz、bz2包),
2.tar jvxf(解壓bz后綴的),zvxf(解壓.gz后綴),xf也行,只不過解壓過程不會顯示詳情。你可以參考這里了解更多
3.cd 進入解壓后的目錄,執行./configure或者是./config
4.make 編譯
5.make install安裝
二,安裝Nginx1.0.11
1.安裝pcre openssl zlib
2.wget http://nginx.org/download/nginx-1.0.11.tar.gz
3.tar zvxf nginx-1.0.11.tar.gz
4.cd nginx-1.0.11
5../configure 沒有錯誤則執行make 接着make install (./configure過程中如果提示需要什么包的話,wget然后編譯安裝)
三,安裝Mono 2.10.8
1.安裝GNU M4(方法同上) bison gettext
2.wget http://download.mono-project.com/sources/mono/mono-2.10.8.tar.bz2
3.tar jvxf mono-2.10.8.tar.bz2
4.cd mono-2.10.8
5../configure make make install
四,安裝Fastcgi-mono-server4
1.這個是包含在xsp里面的,所以我們要安裝就是xsp
2.同樣的方法安裝編譯wget http://download.mono-project.com/sources/xsp/xsp-2.10.2.tar.bz2
五,安裝MySQL
1.安裝Mysql的過程,請大家參考這這兩篇文章(我建議執行./configure不要跟任何參數,全部默認安裝)。文章連接如下:
http://blog.csdn.net/robertaqi/article/details/6099576 http://www.linuxso.com/sql/16838.html
當cmake執行報錯了要記得清除下,第二個鏈接里面有提到
按照上面的鏈接文章操作應該可以順利安裝
六,解決MySQL中文亂碼
參考這里http://guichina.blog.51cto.com/2001125/724939
七,設置Nginx,Fastcgi-mono-server自動啟動
Nginx參考:http://www.linuxidc.com/Linux/2011-10/45735.htm
Fastcgi-mono-server參考:http://yojimbo87.github.com/2010/03/14/mono-startup-script.html
八,到這里配置應該就結束了,你可以參考我前面的文章配置你的程序。
運行時可能會出現如下"server /"的異常,按照提示修改Web.config文件,添加<customErrors mode="off"></customErrors>,
之后運行可能會拋出gdiplus.dll為找到的異常。
可以參考這里安裝http://www.jiamaocode.com/Conts/2011/03/06/1741/1741.html
之后仍然可能報錯,請參考這里http://www.mono-project.com/DllNotFoundException。
安裝好了libdgiplus以后,運行程序報了MySQL.Data.dll沒有找到,后來發現bin里面沒有,我是在DAL里面建了一個libs文件夾,里面放了MySql.Data.dll。后面我直接放到了bin里面,然后再引用,就行了。
到這里程序應該是可以正常啟動了,折騰了4天終於完成上線運行,這里感謝飛飛魚對我指導和幫助。如果你在配置的過程中有什么問題,歡迎留言交流。