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服務器已經安裝成功了!