我在 Google Cloud Platform 上设置了一个 Ubuntu 实例,并在上面安装了 Swift-3 和 Vapor。然后我尝试使用vapor build
命令构建 Vapor 应用程序,它成功了。然后我vapor run
在应用程序文件夹上运行,它成功启动服务器,控制台说该服务在本地主机上可用,0.0.0.0:8080
.
但是当我在浏览器窗口中输入我的虚拟机的静态 IP 时,我看不到我应该看到的蒸汽页面。相反,我得到了一个connection refused
错误。
我在 Google Cloud Platform 上设置了一个 Ubuntu 实例,并在上面安装了 Swift-3 和 Vapor。然后我尝试使用vapor build
命令构建 Vapor 应用程序,它成功了。然后我vapor run
在应用程序文件夹上运行,它成功启动服务器,控制台说该服务在本地主机上可用,0.0.0.0:8080
.
但是当我在浏览器窗口中输入我的虚拟机的静态 IP 时,我看不到我应该看到的蒸汽页面。相反,我得到了一个connection refused
错误。
端口80
是 HTTP(非 TLS)连接的默认端口。很可能因为 Vapor 正在连接到 port 8080
,所以它被防火墙阻止了。
尝试做vapor run --port=80 --env=production
(你可能需要sudo
)
这会将端口80
设置为并将环境设置为生产环境,以防止任何可能减慢应用程序速度的调试日志记录。
编辑:
端口配置现在通过Config/servers.json
文件完成。
{
"default": {
"port": 8080,
"host": "localhost",
"securityLayer": "none"
}
}
但是,您仍然可以通过命令行界面使用更新的命令进行覆盖。
--config:servers.default.port=8080
您是否在防火墙规则中打开了此端口。转到网络,然后转到“防火墙规则”并检查您的端口 8080 是否在此处列出。如果没有,请添加它,然后重新尝试访问您的蒸汽应用程序。希望这可以帮助 :)