ASP.NET website como subpasta no servidor PHP Nginx

1

Meus requisitos:
Meu site - > example.com - Executa a plataforma de comércio eletrônico Magento construída em PHP rodando sob o servidor Nginx (atualmente Apache, mas em breve mudando para o Nginx)
Outro site - > example.com/abcd - abcd é atualmente outro site que é executado no ASP.NET
Outro site - > example.com/xyz - xyz é atualmente outro site que é executado no ASP.NET

Eu quero coexistir o site PHP e ASP.NET em um servidor com os sites ASP.NET em execução como subpasta.

Contexto:
1. O site do Magento é um site de comércio eletrônico que não pode ser reconstruído. 2. O ASP.NET é um site corporativo que está investindo dinheiro no site de comércio eletrônico e não pode ser reconstruído, pois possui muitos sites corporativos e cada um deles será executado como subpasta no site do magento.

Pesquisa:
Olhou brevemente para o mono-projeto. No entanto, pelo que entendi, você precisa ter domínios separados e pastas separadas para que o PHP e o ASP.NET existam em um servidor? Ou entendi errado?

Alguém aqui pode me fornecer mais informações sobre se isso pode ser feito. Se sim, em que direção eu preciso investigar? Como mencionado nos requisitos, não posso re-construir (embora possa fazer pequenas alterações) qualquer site corporativo em PHP como eles já foram feitos e eles são muitos deles. Também sei que posso colocar um sub-domínio http://abcd.example.com e torná-lo apontar para outro servidor com o IIS, mas as empresas querem que, como a última opção.

Minha experiência é como desenvolvedor PHP, portanto, tenho muito pouco conhecimento do ASP.NET. Então, por favor, seja gentil:)

    
por Harshit 23.10.2012 / 16:48

2 respostas

0

Eu não estou familiarizado com o Mono, mas olhando a configuração do nginx para ele ( Mono sob nginx fastcgi) , deve ser possível executar o PHP-FPM e o Mono através do nginx usando sua configuração descrita, usando uma configuração como:

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
    }
}

Você teria que definir diferentes root para cada bloco de localização.

    
por 06.11.2012 / 01:14
0

Eu não estou intimamente familiarizado com a forma de executar o Mono no nginx e não quero difundir o FUD, mas não tenho certeza de que a configuração esteja absolutamente madura.

Se puder, você pode considerar a possibilidade de executar tudo no IIS no Windows Server. O IIS tem excelente suporte a PHP e o IIS tem suporte para execução separada nas subpastas da maneira que você precisa. Há mais informações aqui .

    
por 23.10.2012 / 23:52