国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

爛泥:nginx同時支持asp.net與php

2024-08-30 12:27:36
字體:
來源:轉載
供稿:網友
爛泥:nginx同時支持asp.net與php

本文由秀依林楓提供友情贊助,首發于爛泥行天下。

經過兩天的實驗,終于讓nginx同時支持asp.net與php了。下面就把具體的配置過程記錄如下。

注意:本次實驗OS:centos6 64bit。

盡管網絡上有很多windows下nginx與asp.net集成的資料,但是windows環境下一直未測試成功。以下的實驗全部是在linux環境下進行的。nginx已經安裝成功,并運行如下:

clip_image001

在此我們講解的nginx與asp.net集成不是通過nginx的反向代理功能,也不是使用windows提供的IIS,而是通過fastcgi_pass來處理asp.net的,然后把處理后的結果交給nginx。說白了就是把nginx作為web服務器。

Nginx與asp.net集成需要分以下幾個步驟:

1、mono安裝

2、xsp安裝

3、nginx與asp.net集成

4、測試集成效果

一、mono安裝

要想使linux支持asp.net,我們必須要安裝mono和xsp這兩個軟件包。

mono軟件包是Novell公司開發的跨平臺.NET運行環境。

目前mono最新版本的軟件包為mono-3.10.0.tar.bz2,我們可以通過這個網址http://download.mono-PRoject.com/sources/mono/。下載并上傳到centos服務器上。如下:

scp mono-3.10.0.tar.bz2 root@192.168.1.213:/root

clip_image002

除了mono-3.10.0.tar.bz2這個軟件包外,我們還需要安裝xsp這個軟件。

xsp是小型的.Net Web服務器,可以單獨作為Web服務器,其中的fastcgi-mono-server2/4也可作為nginx的fastcgi方式運行。

目前xsp軟件包最新版本為xsp-2.10.2.tar.bz2,我們可以通過這個網址http://download.mono-project.com/sources/xsp/。下載并上傳到centos服務器上。如下:

scp xsp-2.10.2.tar.bz2 root@192.168.1.213:/root

clip_image003

我們先來解壓并安裝mono,mono軟件包比較大,有70M左右解壓速度比較慢。如下:

tar -xvf mono-3.10.0.tar.bz2

clip_image004

clip_image005

解壓完畢后,進入mono軟件包的解壓目錄,如下:

clip_image006

clip_image005[1]

在安裝mono之前我們需要安裝相關的軟件包,如下:

yum install gcc gcc-c++ glibc glibc-devel glib

clip_image007

clip_image008

現在開始配置mono,如下:

./configure

clip_image009

clip_image010

通過上圖,我們也可以看到目前mono已經可以支持.net2.0到.net4.5。

配置完畢后,現在開始make編譯mono,如下:

clip_image011

mono的make編譯過程很慢,需要耐心等待。在此過程中,我們可以看到有很多的已lo結尾的文件。這些文件就是使用libtool編譯出的目標文件。

clip_image012

clip_image013

Make編譯完畢后,我們就開始正式安裝mono,如下:

make install

clip_image014

在安裝過程中,如果你仔細觀察的話,會看到mono默認安裝到/usr/local/lib/mono目錄下。而且根據Linux習慣默認的./configure的軟件一般是在/user/local下。因為是庫,所以文件是在/user/local/lib下。

當然我們也可在編譯時,通過./configure –help命令查看。如下:

clip_image015

clip_image016

通過上圖我們可以看出Linux的默認安裝位置,確實和我們上邊提到的是一樣的。

以下這張圖是mono安裝完畢的截圖:

clip_image017

安裝完畢后,我們根據安裝時提供的信息,來查看下mono的安裝位置。如下:

clip_image018

clip_image019

通過上圖可以看到,mono確實安裝到了/usr/local/lib目錄下。

現在我們來通過mono –V命令查看mono是否安裝成功。如下:

mono –V

clip_image020

顯示上圖的信息,說明mono已經安裝成功。

注意:mono命令位于/usr/local/bin/mono路徑下,如下:

clip_image021

同時現在系統的環境變量中,已經存在/usr/local/bin,這個路徑。如下:

echo $PATH

clip_image022

二、xsp安裝

mono安裝完畢后,我們還需要安裝XSP這個小型的.NET web服務器。解壓并安裝xsp,如下:

tar -xvf xsp-2.10.2.tar.bz2

clip_image023

配置xsp,如下:

./configure

clip_image024

但是你會發現系統提示錯誤如下:

clip_image025

為什么會提示出錯呢?

因為C#程序執行時必須需要動態鏈接庫,故要添加在環境變量。而且有的鏈接庫mono的編譯器需要用,其內部使用的是pkgconfig工具,故要配置PKG_CONFIG_PATH環境變量。pkgconfig工具位于/usr/local/lib/pkgconfig這個路徑下。如下:

clip_image026

我們現在需要做的就是配置pkgconfig工具的路徑使用export命令,如下:

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/

clip_image027

Pkgconfig工具的路徑設置完畢后,我們再次配置xsp,如下:

clip_image028

通過上圖可以看到,現在xsp就沒有報錯了。

xsp配置完畢后,我們現在來通過make編譯該軟件,如下:

make

clip_image029

xsp編譯完畢后,我們現在來正式安裝xsp,如下:

make install

clip_image030

xsp安裝完畢后,我們就可以查看fastcgi-mono-server2/4這個程序。如下:

clip_image031

通過上圖,我們可以看到fastcgi-mono-server2/4這個命令就位于/usr/local/bin下。

注意這個命令非常重要,我們在啟動xsp這個.Net web服務器時,就是通過該命令完成的。

三、nginx與asp.net集成

以上就是mono與xsp的安裝,下面開始與nginx進行集成。asp.net與nginx集成,我們是通過nginx的虛擬主機來實現的。

修改nginx的配置文件nginx.conf,在http標簽中添加如下命令:

server {

listen 80;

server_name b.ilanni.com;

charset utf-8;

location / {

root /ilanni/b.ilanni.com;

index index.aspx index.html index.htm;

fastcgi_pass 127.0.0.1:9001;

include fastcgi_params;

}

}

注意我們在前文中已經介紹過nginx與asp.net集成原理。Nginx通過fastcgi_pass來處理asp.net的請求,然后把處理后的結果交給nginx。而fastcgi_pass是代理xsp web服務器的。

同時我們還要注意此時fastcgi_pass代理的xsp端口是9001,該端口可以任意定義,只要不要和系統中正在使用的端口沖突即可。

clip_image032

這個文件修改完畢后,我們還需要修改fastcgi_params這個文件。

我們只需要在該文件的最后邊,添加一下兩行代碼即可。如下:

fastcgi_param PATH_INFO "";

fastcgi_param SCRipT_FILENAME $document_root$fastcgi_script_name;

clip_image033

以上兩個文件修改文件后,我們現在來啟動xsp web服務器。使用入選命令:

fastcgi-mono-server2 /applications=/:/ilanni/b.ilanni.com /socket=tcp:127.0.0.1:9001 &

注意該命令中的/ilanni/b.ilanni.com是Nginx虛擬主機的根目錄,127.0.0.1:9001為xsp使用127.0.0.1:9001這個地址。&表示該命令在后臺運行。

clip_image034

通過上圖我們可以看到xsp服務器已經正常啟動了,現在我們弄一個asp.net的探針來測試下。

clip_image035

現在我們來訪問Nginx的虛擬主機b.ilanni.com,如下:

clip_image036

通過上圖,我們可以很容易的看到。目前asp.net的程序已經可以訪問了。

四、測試集成效果

通過以上的截圖,我們很容易的看到。現在Nginx與asp.net已經完全集成。下面我們來看看php的集成。

其實現在不應該說是Nginx與php集成,因為Nginx支持php也是通過fastcgi_pass來代理php-fpm,然后把請求的結果發給Nginx。

現在我們再來新建一個Nginx虛擬主機,如下:

clip_image037

訪問虛擬主機a.ilanni.com。如下:

clip_image038

到此為止,我們可以看到現在Nginx已經完全支持asp.net與php。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金门县| 克拉玛依市| 呼伦贝尔市| 繁昌县| 望城县| 彭山县| 澳门| 龙海市| 洪雅县| 秦安县| 西盟| 老河口市| 军事| 富裕县| 保靖县| 宁强县| 壶关县| 清涧县| 沁水县| 孝感市| 祁东县| 吉安市| 库车县| 攀枝花市| 龙州县| 红原县| 济阳县| 阿巴嘎旗| 惠来县| 永春县| 岳阳市| 大余县| 吉水县| 绍兴市| 河西区| 巫山县| 内江市| 广汉市| 晴隆县| 乐业县| 峨眉山市|