上一篇關於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天終於完成上線運行,這裡感謝飛飛魚對我指導和協助。如果你在配置的過程中有什麼問題,歡迎留言交流。