我已在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
答案 0 :(得分:1)
是的,Apache and Node.js on the Same Server的答案也适用于Azure VM。
通常,您可以参考以下步骤:
proxy_module
a2enmod proxy proxy_http
apache2
在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>
重新启动apache服务:sudo service apache2 restart
然后,通过<vm_name>.cloudapp.net
直接浏览您的VM将浏览已配置目录中的PHP站点,并通过<vm_name>.cloudapp.net/node
浏览将浏览节点应用程序。