日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

nginx同时支持asp.net与php

發布時間:2024/9/3 asp.net 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nginx同时支持asp.net与php 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

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

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

在此我們講解的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

除了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

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

tar -xvf mono-3.10.0.tar.bz2

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

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

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

現在開始配置mono,如下:

./configure

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

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

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

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

make install

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

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

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

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

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

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

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

mono –V

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

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

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

echo $PATH

二、xsp安裝

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

tar -xvf xsp-2.10.2.tar.bz2

配置xsp,如下:

./configure

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

為什么會提示出錯呢?

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

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

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

另外還可能會出現configure: error: You need to install 'dmcs'這個錯誤

解決方法是:sudo apt-get install mono-mcs

還可能會出現sn的錯誤

解決方法是:sudo apt-get install mono-devel

還可能出現mdoc的錯誤

解決辦法是:sudo apt-get install monodoc-base

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

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

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

make

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

make install

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

通過上圖,我們可以看到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,該端口可以任意定義,只要不要和系統中正在使用的端口沖突即可。

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

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

fastcgi_param PATH_INFO "";

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

以上兩個文件修改文件后,我們現在來啟動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這個地址。&表示該命令在后臺運行。

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

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

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

四、測試集成效果

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

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

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

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

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

總結

以上是生活随笔為你收集整理的nginx同时支持asp.net与php的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。