在 cloud9 环境中运行自定义 Web 服务器并从外部世界访问它


Running a custom webserver in cloud9 environment and reaching it from the outside world

是否可以从 cloud9 中提供的其他服务器以外的其他服务器运行我的 Web 应用程序?例如:我想运行不同的应用程序(PHP,Node.js - 不确定还有什么可能(使用nginx作为后端服务器(i(和/或反向代理(ii((尝试不同的场景和配置选项(。

  1. 是否可以在cloud9中运行nginx并向外界提供内容?
  2. 是否可以在 cloud9 中使用 nginx 作为反向代理?

编辑:

他们在这里写道:

$PORT暴露在外部:当您运行侦听环境变量 $PORT 中指定的端口的应用程序时,您可以使用 http://projectname.username.c9.io URL 方案访问此应用程序。代理希望该端口上的服务器是 HTTP 服务器。不支持其他协议。

这让我相信,如果我在 port=$PORT 上启动 nginx,它将可以通过指定的 URL sheme 访问 - 任何人都可以确认吗?也许有人尝试过这个,可以分享一些节省时间的技巧。谢谢。

我知道

这可能是一个迟到的回复,但对于那些想知道如何做同样的事情的人来说可能会有所帮助。

简答题
我创建了一个存储库来保存进程所需的所有配置。只需运行一个命令,NGINX和PHP-FPM就可以从互联网上提供服务和访问。
GitHub 存储库:https://github.com/GabrielGil/c9-lemp

解释
基本上,如您所指出的,要在c9环境中运行NGINX,您只需让它侦听端口8080即可。您可以在/etc/nginx/sites-available上编辑默认站点,也可以创建并启用自己的站点(这就是上面的脚本所做的(

然后,为了使用NGINX运行PHP-FPM脚本,配置一些权限,并且需要Web服务器上的套接字。默认情况下,c9 使用 ubuntu:ubuntu 和 Web 服务器 www-data:www-data。
上面的脚本也会为您执行此更改。

希望这对您或其他类似情况下的用户有所帮助。

你可以在普通的 Cloud9 工作区上运行 nginx,只要它侦听端口 8080(值为 $PORT(。但是,到达服务器的 URL 方案将是 http://projectname-username.c9.io。有关正在运行的应用程序的更多最新帮助,请参阅 docs.c9.io。

如果您有另一台服务器要托管软件,您可以做的另一件事是创建一个 ssh 工作区 (https://docs.c9.io/ssh_workspaces.html(。这样,您可以将 Cloud9 直接连接到外部服务器。