Linux 安裝Mono環境 執行ASP.NET(一)
1、先看一下Linux環境下面請求的過程,(畫的不是很好,簡單的瞭解一下原理。)
.NET跨平臺其實需要這三個關鍵:編譯器、CLR和基礎類庫。在.NET下我們編寫一個最簡單的“Hello World”都需要mscorlib.dll這個動態連結庫,因為.NET框架已經為我們提供了這些,因為在我們的計算機上安裝著.NET框架,這是我們編寫的應用程式能夠在Windows下執行的原因。再回頭來看Mono,首先Mono和CLR一樣,都是CLI這一標準的實現,所以我們可以理解為Mono實現了和微軟提供給我們的類似的東西,因為微軟的.NET框架屬於商業化閉源產品,所以Mono除了在實現CLR和編譯器的同時實現了大量的基礎庫,而且在某種程度上Mono實現的版本與相同時期.NET的版本有一定的差距,這點使用Unity3D開發遊戲的朋友應該深有感觸吧!這就決定了我們在將應用程式移植到目標平臺時能否實現在目標平臺上和當前平臺上是否能夠具有相同的體驗。因為公共中間語言即CIL能夠執行在所有實現了CLI標準的環境中,而CLI標準則是和具體的平臺或者說CPU無關的,因此只要Mono執行時能夠保證CIL的執行,就可以實現應用程式的跨平臺。
2、在Linux下面搭建ASP.NET執行環境
2.1下面就是需要在Linux下面安裝的檔案包。
這些包之間有些依賴關係。
A、httpd依賴於apr,apr-util,pcre這三個包
B、Mono依賴於libgdiplus包
C、xsp和Mod_mono依賴於mono包
所以安裝的時候有先後的順序。
在本地,我們可以通過Xftp工具將檔案上傳到Linux伺服器中software資料夾中。
OK,檔案已經上傳成功,我們使用Xshell終端工具來連線我們的linux伺服器。來到/usr/local/software資料夾中
2.2 第一步 安裝 Pcre安裝包。
在Liunx系統中,解壓檔案要根據包名,使用不同的解壓命令,常見的解壓命令有:
解壓檔案 tar jvxf 檔名 bz2字尾
解壓檔案 unzip 檔名 zip字尾
解壓檔案 tar zxvf 檔名 file.tar.gz 字尾gz
OK,我們現在來解壓 pcre 輸入命令unzip pcre-8.32.zip 解壓完成之後 輸入ls 命令 列舉當前目錄下面所有的檔案,多了一個pcre 藍色的資料夾。
我們進入資料夾開始安裝。
安裝包裡的檔案是不是有很多,這裡有一個非常特殊的檔案,叫做configure檔案,這是linux下面軟體預編譯檔案。
linux下面軟體安裝的三大步驟:
1、預編譯 使用指令碼預編譯configure 檔案 ./configure --prefix=/安裝目錄
2、編譯,按照指令碼準備內容,編譯軟體 make
3、安裝,將編譯好的軟體,移動到目錄,make install
好了,我們現在開始第一步 預編譯軟體使用命令 ./configure --prefix=/usr/local/prce ,這行的命令是指,將軟體編譯安裝到/usr/local/prce資料夾中。回車,讓它去編譯。
我們看到現在沒有在編譯,是不是看到error了。說明是預編譯報錯了。我們在安裝CentOS的時候,沒有把需要安裝的一些包檔案進行安裝,因為很多軟體都會依賴這些包。
現在我們來安裝這些包檔案 輸入命令 yum install -y gcc gcc-c++ -- 就線上找到這些包,並進行安裝。
系統就會自動去安裝。安裝完成後,我們在來預編譯輸入命令 ./configure --prefix=/usr/local/prce
OK,預編譯完成了,我們看到沒有出現error,說明已經預編譯成功了。
我們開始第二步,編譯 直接輸入 命令 make。
沒有出現error,說明編譯已經完成了。最後一步,開始安裝。輸入命令 make install。把軟體安裝到/usr/local/prce資料夾中。
好了,到這一步我們的pcre包已經安裝完成了,我們去/usr/local/資料夾中看一下有沒有這個prcee資料夾。輸入命令 cd /usr/local/
說明已經安裝完成!
2.3 安裝 Httpd Apache 伺服器
Httpd依賴於 apr-1.4.6.tar.bz2 和 apr-util-1.5.2.tar.gz這兩包檔案
好了我們開始解壓包檔案 Httpd、 apr 和 apr-util
輸入命令 :tar jvxf apr-1.4.6.tar.bz2
輸入命令: tar zxvf apr-util-1.5.2.tar.gz
輸入命令: tar zxvf httpd-2.4.4.tar.gz
藍色的代表資料夾,解壓完成了。我們說過Httpd 依賴於apr和apr-util這兩個包。現在我們要將解壓後的兩個資料夾移動到httpd-2.4.4中的srclib中去。
我們來看一下httpd-2.4.4的檔案目錄
是不是有一個srclib資料夾,這個資料夾就是要新增引用的類庫。我們把apr和apr-util這兩個包移動到httpd-2.4.4中的srclib中去。
輸入命令:mv apr-1.4.6 httpd-2.4.4/srclib/apr
輸入命令:mv apr-util-1.5.2 httpd-2.4.4/srclib/apr-util
OK 我們去httpd-2.4.4中的srclib看一下有沒有這兩個資料夾,輸入命令 cd httpd-2.4.4/srclib
好了,檔案移動成功了。現在我們開始安裝httpd了,在安裝之前,我們來看一下Linux下面有沒有安裝httpd Apache 如果已經安裝了,我們要解除安裝重新安裝,如果沒有就直接安裝。
輸入 http -V 來查詢當前安裝httpd的版本。
linux系統安裝時候預設會安裝httpd 版本是2.2的,現在我們需要解除安裝掉,重新裝最新版的httpd !
輸入命令:yum remove httpd
輸入 Y 確認進行解除安裝!
解除安裝完成後,
開始安裝 apr 和 apr-util(在安裝Httpd時會安裝srclib裡面的apr和apr-util兩個包。如果沒有安裝需要手動來安裝這兩個包)
1、進入到apr 目錄 。安裝三個步驟
預編譯==》直接輸入 ./configure --prefix=/usr/local/apr
編譯===》 make
安裝===》make install
2、進入到apr-util目錄 。安裝三個步驟 注意:apxr-util 依賴於 apr 所以安裝時要指定apr安裝目錄 使用with
預編譯==》 直接輸入 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
編譯===》 make
安裝===》make install
我們開始安裝Httpd 了,安裝Httpd一樣,要進行三步 ,預編譯 編譯 安裝。來到Httpd-2.4.4
OK ,我們說過configure是預編譯檔案,現在我開預編譯,將httpd 安裝到usr/local/apache 安裝之前,需要指定pcre的安裝目錄。通過 with 來指定依賴包的安裝目錄。OK
輸入命令 ./configure --prefix=/usr/local/apache --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/prce
OK,沒有出現error,說明預編譯已經完成了!
開始編譯和安裝 輸入命令 make && make install
好了,httpd 已經安裝成功了,我們去目錄看一下 cd /usr/local/apache
我們來看一下apache的最重要配置檔案 apache/conf/httpd.conf
我們用vi 命令來檢視檔案 vi httpd.conf
關於apache的配置檔案大家可以自己去百度學習一下,這裡就不做太多的介紹了,最主要用到的地方如下:
通過shift鍵+:輸入 set + nu 回車可以開啟vi 編輯器 的行號。
ServerRoot "/usr/local/apache" //這是apache安裝的根目錄。
Listen 80 apache //預設監聽80埠。
ServerName www.example.com:80 //設定域名
DocumentRoot "/usr/local/apache/htdocs" //網站路徑。
我們簡單瞭解一下,現在我們需要用vi編輯器來修改域名,並啟動apache伺服器。
按Inset鍵進入編輯狀態 ,Esc退出編輯狀態
按shift鍵+: 輸入wq 鍵 儲存並退出 按shift鍵+: 輸入w! 鍵 不儲存退出
修改完成後,儲存退出,開啟apache服務。
來到 bin目錄 輸入命令 ./httpd 或 ./httpd start 開啟服務 。
輸入命令 傳送http請求 wget http://localhost:80 如果能夠接受說明apache服務開啟完成!
設定apache服務預設開機啟動
1、找到Linux系統預設開機啟動目錄 etc/rc.d/init.d目錄
2、將apache啟動檔名複製到etc/rc.d/init.d目錄
3、輸入命令 cp apachectl /etc/rc.d/init.d/apache 回車
4、修改etc/rc.d/init.d/apache檔案
用 vi命令開啟檔案在檔案頭上加上
chkconfig:35 70 30
description:apache
5、註冊服務:chkconfig --add apache
6、開啟服務:service apache start
7、關閉服務:service apache stop
8、重啟服務:service apache restart
我們可以到Linux中檢視是不是可以正常訪問80埠。
OK,到這裡我們的httpd apache伺服器已經安裝成功了!