如何将两个域名绑定到在同一个Azure Ubuntu VM中运行的两个不同的网站(php和nodejs)?

时间:2016-05-28 02:11:05

标签: php node.js azure ubuntu dns

我已在Azure Ubuntu 16.4 VM上运行基于php的wordpress网站。 现在我也想在不同域名的同一台服务器上运行NodeJS网站。 我怎样才能做到这一点。

我知道如果两个网站都是PHP或两者都是.Net那么我可以在apache或IIS中进行URL重写,但这里NodeJS使用自己的端口和Web服务器。

我不确定这是否适用于Azure VM,因为我们必须创建从Azure Azure到Azure VM的开放端口的入站和出站规则。 Apache and Node.js on the Same Server

1 个答案:

答案 0 :(得分:1)

是的,Apache and Node.js on the Same Server的答案也适用于Azure VM。

通常,您可以参考以下步骤:

  1. 启用Azure VM的80端口入站规则。
  2. 通过命令proxy_module
  3. 在Azure VM中安装a2enmod proxy proxy_http apache2
  4. 在apache配置文件E.G中配置虚拟主机。默认情况下,

    运行sudo vim /etc/apache2/sites-available/000-default.conf,并修改为:

    <VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /home/gary
        ServerName <vm_name>.cloudapp.net
        <Directory /home/gary>
               Options Indexes FollowSymLinks MultiViews
               AllowOverride All
               Require all granted
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
    
        ProxyPass /node http://localhost:1337
        ProxyPassReverse  /node http://localhost:1337
    </VirtualHost>
    
  5. 重新启动apache服务:sudo service apache2 restart

  6. 启动节点服务器。
  7. 然后,通过<vm_name>.cloudapp.net直接浏览您的VM将浏览已配置目录中的PHP站点,并通过<vm_name>.cloudapp.net/node浏览将浏览节点应用程序。