Php

ASP.NET 網站作為 PHP Nginx 伺服器上的子文件夾

  • November 6, 2012

我的要求:

我的網站 -> example.com - 在 Nginx 伺服器下執行內置 PHP 的 Magento 電子商務平台*(目前是 Apache,但很快就會遷移到 Nginx)*

另一個網站 -> example.com/abcd - abcd 目前是另一個在其上執行的網站ASP.NET

另一個網站 -> example.com/xyz - xyz 目前是另一個在 ASP.NET 上執行的網站

我想在 1 台伺服器上共存 PHP 和 ASP.NET 網站,其中 ASP.NET 網站作為子文件夾執行。

背景:

  1. Magento網站是一個不能重建的電子商務網站。

  2. ASP.NET 是一個企業網站,它正在向電子商務網站投資,它也無法重建,因為他們有許多企業網站,每個網站都將作為 magento 網站的子文件夾執行。

研究:

簡要介紹了單一項目。但是,據我了解,您需要有單獨的域和單獨的文件夾,以便 PHP 和 ASP.NET 存在於 1 台伺服器上?還是我的理解有誤?

任何人都可以在這里為我提供有關這是否可以完成的更多資訊。如果是這樣,我需要研究什麼方向?如要求中所述,我無法將任何公司網站重新建構(儘管可以進行細微更改)到 PHP 中,因為它們已經完成並且其中很多。另外我知道我可以放置一個子域 http://abcd.example.com 並使其指向另一個帶有 IIS 的伺服器,但企業希望將其作為最後的選擇。

我的背景是 PHP 開發人員,所以我對 ASP.NET 了解甚少。所以請溫柔:)

我對 Mono 並不熟悉,但是查看它的 nginx 配置(nginx fastcgi 下的 Mono),應該可以使用您描述的設置通過 nginx 執行 PHP-FPM 和 Mono,使用如下配置:

server {
   listen 80;
   server_name example.com;

   // PHP
   location / {
       index          index.php;
       fastcgi_index  index.php;
       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
       include        fastcgi_params;
       fastcgi_pass   localhost:9000; // php server/port
   }

   // ASP.NET 1
   location /abcd {
       index          Default.aspx;
       fastcgi_index  Default.aspx;
       include        fastcgi_params;
       fastcgi_pass   localhost:9001; // mono server/port
   }

   // ASP.NET 2
   location /xyx {
       index          Default.aspx;
       fastcgi_index  Default.aspx;
       include        fastcgi_params;
       fastcgi_pass   localhost:9002; // other mono server/port
   }
}

然後,您必須為每個位置塊設置不同的根。

引用自:https://serverfault.com/questions/441386