如何在同一个azure帐户上将web应用程序与azure虚拟linux macine连接?

时间:2017-09-16 12:06:02

标签: web-services azure unix virtual-machine azure-web-sites

在我的项目中,我必须从用户通过HTML表单获取两个文件(fastq它的Bioinformatics文件)并通过一些UNIX程序(我在服务器端脚本中使用PHP)分析它,这只在UNIX OS中支持(我是只需使用shell_exec()来运行所有UNIX程序)。现在我已经在本地主机上实现了它,并且每件事情都运行良好。

现在我必须在Azure中做同样的事情。我在Azure Web应用程序中创建了一个网页,我在同一个帐户中有一个UNIX VM。我想知道我如何免费连接两者(我已经看过Integrate your app with an Azure Virtual Network但他们正在实施额外收费)。

1 个答案:

答案 0 :(得分:0)

根据您的描述,根据我的理解,我认为您希望在Azure WebApps&基于Linux的VM,使其与本地主机一样工作,这是一个PHP应用程序,并通过PHP方法java.lang.NoSuchMethodError: ..... 在shell中调用类似UNIX的程序。

根据我的经验,有两种方法可以进行部署。

  1. 您需要为Linux创建Azure WebApps实例,这是一个基于Ubuntu的Docker容器。然后,您可以安装任何要部署PHP应用程序的服务,并通过PHP方法shell_exec直接调用类UNIX程序,而无需任何Azure Linux VM实例来运行类UNIX程序。

    < / LI>
  2. 您可以使用基于Windows的Azure WebApps实例,但无法通过shell_exec方法运行Azure Linux VM上托管的类UNIX程序。要在Azure Linux VM上调用远程类UNIX程序,有两种方法可以更改PHP应用程序,如下所示。

    2.1。通过PHP方法shell_exec / ssh2_connect / ssh2_auth_password创建一个ssh会话来连接远程Linux VM并通过ssh2_exec方法执行SSH身份验证以运行类UNIX程序,如果您已在Windows上为Azure WebApps安装了PHP扩展包ssh2_exec。我的示例代码如下。

    ssh2

    2.2。或者,您可以创建一个新的PHP应用程序来调用Azure Linux VM上的类UNIX程序,以发布WebService API或RESTful API,以便由Azure WebApps上的PHP应用程序调用。

  3. 希望它有所帮助。