asp.net mvc本身依賴windows平臺的東西不太多,所以這些assembly移植到mono/linux上來應該不是大問題。
一、準備工作:
1、安裝linux系統(tǒng)(CentOS,這個就不多講了)
2、下載所需軟件
http-2.4.4.tar.gz;
apr-1.4.6.tar.bz2;
apr-util;
pcre;
libgdiplus;
mono;
mod_mono;
xsp。
二、安裝工作
在CentOS中通過網絡安裝必要的組件庫
yum -y install bison pkgconfig glib2-devel gettext make libpng-devel libjpeg-devel libtiff-devel libexif-devel giflib-devel libX11-devel freetype-devel fontconfig-devel cairo-devel libtiff libtiff-devel libjpeg libjpeg-devel giflib giflib-devel libpng libpng-devel libX11 libX11-devel freetype freetype-devel fontconfig fontconfig-devel libexif libexif-devel libXft-devel ghostscript-devel gnome-doc-utils unzip
1.1開始檢查鏡像站點:mirror.neu.edu.cn,并獲取最新
注意:中間會有一些確認提示,直接 輸入 y 繼續(xù)。
完成:
2.上傳安裝包
2.1創(chuàng)建/usr/software 目錄(這個自定義)
使用 mkdir命令
#mkdir /usr/sofrware
用xftp上傳 安裝包 到 /usr/software
3.安裝apache
3.1 解壓httpd
tar 命令
#tar -zvxf http-2.4.4.tar.gz
解壓后,/usr/software下多出一個文件夾:http-2.4.4
3.2 httpd需要 apr,apr-util,pcre支持
3.2.1解壓 apr 和 apr-util包,使用 tar命令(后綴為tar.bz2)
解壓pcre包,使用unzip命令(后綴為.zip)
3.3 安裝 pcre(正則支持庫)
3.3.1 進入pcre文件夾,并查看內容,看到有一個configure腳本文件
3.3.2 使用這個腳本進行預編譯,配置安裝目錄為:/usr/local/pcre
3.3.3 編譯 make
3.3.4安裝,此時會在 目標路徑 中創(chuàng)建文件make install
3.4 apr 和 apr-util 移動
3.4.1文件夾改名
apr-1.4.6 改成-> apr 命令:mv apr-1.4.6 /apr
apr-util-1.5.2 改成-> apr-util 命令:mv apr-util-1.5.2 apr-util
3.4.2移動文件夾
將apr和apr-util 移動到 /usr/software/httpd-2.4.4/srclib 中
注意:兩個包不需要配置編譯安裝,待會兒由httpd直接使用。
3.5 安裝apache(httpd模塊)
3.5.1進入/usr/software/httpd-2.4.4中
查看內容,發(fā)現(xiàn)也有一個 configure腳本
3.5.2預編譯,指定目錄到:/usr/local/apache
報錯:
這是因為沒有指定 pcre 的路徑
重新預編譯,并指定 pcre路徑
3.5.3編譯和安裝 (可以多條命令一起輸入,依次執(zhí)行)
3.6 配置apache服務
進入 安裝目錄查看,在bin目錄中看到 一個 apachectl 腳本
這個腳本提供簡單控制apche服務的命令。
3.6.1 啟動服務 apache
報錯:由錯誤信息看,是服務監(jiān)聽時出錯了,需要域名(或ip)
解決:去apache配置文件中指定一個 ip
apache服務的配置文件是 /etc/httpd/conf/里的 httpd.conf 文件
1.使用vi(編輯器)打開
2.搜索ServerName(區(qū)分大小寫)
3.先按 shift+: ,調出vi命令框,界面左下角出現(xiàn)一個 冒號,光標等待輸入。
4.輸入 ?ServerName,按回車
5.在vi找到的地方,注意黃色框中是我們要修改的地方
6.按insert鍵,進入編輯模式,左下角會出現(xiàn)一個 --INSERT--字樣
7.使用方向鍵調整 光標位置到 上圖黃色框位置,將整行換成:
注意,把前面的# 去掉!
8退出編輯狀態(tài):按 Esc鍵。
9 shift+:調出vi命令框,輸入wq,按回車就保存退出了。
再次運行啟動服務,OK!
3.6.2 測試服務
通過/etc/httpd/httpd.conf文件內的DocumentRoot可知網站根目錄是"/var/www/html"
我們在/var/www/html目錄下添加一個html文件
10.1 進入目錄 /var/www/html
10.2 使用 vi 創(chuàng)建空文檔,并按 insert鍵進入編輯模式
10.3 保存并退出
在文件夾中看到 1.html文件
10.4通過httpd下載此文件到當前目錄,但因為本身就已經有1.html,所以自動為下載的 文件名添加了一個.1
下載成功,則代表 apache服務安裝成功!
3.6.3 配置開機啟動
使用服務管理工具ntsysv管理httpd
1.將httpd安裝目錄下的bin/目錄下的apachectl 腳本,
復制到 /etc/rc.d/init.d/目錄,取名為 apache
2.使用vi編輯復制后的apache腳本
在#!/bin/sh 后加入兩行字符,esc結束編輯狀態(tài);退出保存 shift+: 再wq 回車。
3.注冊apache服務
4.啟動apache服務
4.安裝libgdiplus
4.0進入/usr/software目錄,查看libgdiplus包
4.1解壓
tar -jvxf libgdiplus-2.10.tar.bz2
解壓完后,software下多出一個 綠色的 文件夾,打開后,看到里面有個 configure文件,
這個文件其實是一個安裝前的配置處理腳本文件,在編譯安裝前設置參數(shù)。
4.2執(zhí)行預處理,設置 libgdiplus-2.10軟件的安裝目錄
4.3執(zhí)行安裝
make && make install
錯誤:
在線安裝缺少的包:yum install glib2-devel libtiff libtiff-devel libjpeg libjpeg-devel giflib giflib-devel libpng libpng-devel libX11 libX11-devel freetype freetype-devel fontconfig fontconfig-devel libexif libexif-devel
再執(zhí)行:make && make install
5.安裝Mono
5.1解壓
解壓后,進入mono目錄,又看到了 configure預編譯腳本
5.2預編譯,設置安裝目錄為:/usr/local/mono
5.3編譯 和 安裝(耗時比較長)
5.4配置環(huán)境變量
a.修改/etc目錄的profile腳本
在最后加入兩行,并退出,保存。
b.設置生效: source /etc/profile
c.查看mono版本信息:mono -v
6.安裝xsp
6.1回到/usr/software 目錄
注意,此壓縮包為zip
6.2解壓xsp-master.zip
6.3 進入解壓目錄配置編譯安裝,注意這里的配置腳本為 autogen.sh
6.3.1需要指定臨時環(huán)境變量,告知xsp 本機的 mono路徑
export PKG_CONFIG_PATH=/usr/local/mono/lib/pkgconfig:$PKG_CONFIG_PATH
6.3.2執(zhí)行預編譯(配置),設置安裝目錄到 mono相同目錄
如果這里編譯失敗提示:**Error**: You must have `libtool' installed to compile mono_fpm.
請安裝libtool-2.2.tar.gz即可,安裝到./configure --prefix=/usr
6.3.3編譯 和 安裝
make && make install
6.3.4測試啟動一個臨時asp.net服務器
*a.輸入 xsp4
啟動一個臨時asp.net服務器
*b.使用wget命令請求,返回 404錯誤,OK!
7.安裝mod_mono(有的系統(tǒng)不會出現(xiàn)以下錯誤)
7.1回到/usr/software目錄,這次解壓 mod_mono
7.2解壓mod_mono-master.zip
7.3進入解壓目錄,又看到一個 autogen.sh 腳本。
7.4預編譯(配置),指定安裝目錄到mono中:/usr/local/mono
提示可以make編譯了!
8.配置mod_mono 和 httpd
8.1進入httpd安裝目錄里的conf目錄,看到mod_mono.conf文件
8.2使用vi編輯
8.3在文件最后追加
8.4讓apache自動加載 mod_mono,修改一下apache配置文件
進入vi后,直接 使用 shift + g,調到文件末尾,并添加mod_mono配置文件位置
9.測試
service apache start 啟動服務
瀏覽器訪問(可自己在/usr/local/apache/htdoc下上傳網站)
注意:之前我在suse-linux下測試很多次都無法成功,在centos可以