作者:新人缓冲 | 来源:互联网 | 2023-01-30 18:23
我们正在尝试将我们的Phoenix Web App部署到Linux VM(在我们的Azure案例中)使用edeliver
我们已经使用Azure部署了一个"基本"博客应用程序,edeliver
并记录了以下步骤:https:
//github.com/dwyl/learn-微软蔚蓝#部分2 -部署-您的应用程序
而当我们手动运行(" 实 ")的应用程序:https://github.com/nelsonic/healthlocker
使用上的实例MIX_ENV=prod mix phoenix.server
运行良好!
当我们使用以下命令将应用程序部署并运行到Azure实例时:
mix edeliver build release --verbose
mix edeliver deploy release to production
mix edeliver start production
我们收到一条肯定的确认消息:
EDELIVER HEALTHLOCKER WITH START COMMAND
-----> starting production servers
production node:
user : root
host : 51.140.86.5
path : /home/hladmin
response: ok
START DONE!
但是当我们netstat -plnt
按照check-running-services-on-linux的建议运行时,
我们注意到edeliver
在随机 TCP端口上启动了Phoenix App :
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:29130 0.0.0.0:* LISTEN 3759/mdsd
tcp 0 0 0.0.0.0:38863 0.0.0.0:* LISTEN 56269/beam.smp
tcp 0 0 0.0.0.0:4369 0.0.0.0:* LISTEN 32642/epmd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1557/sshd
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 16901/postgres
tcp6 0 0 :::4369 :::* LISTEN 32642/epmd
tcp6 0 0 :::22 :::* LISTEN 1557/sshd
在这种情况下,应用程序在PORT上运行38863
,即使我们的prod.exs
配置文件已经将PORT 硬编码为4000
,我们也有一个环境变量可以根据说明(仅在案例中)将其设置到4000
我们的.profile
文件中.
所以我的问题是:
为什么edeliver
在随机 TCP端口上启动Phoenix App ...?
和
如何才能获得edeliver
启动端口上的应用程序4000
?
我们.deliver/config
在GitHub上.
我们已经尝试读取日志中/home/{username}/{appname}/var/log
按@在dogbert的说明:
如何查看生产测井凤凰Web应用程序使用Edeliver部署?
但既不是 erlang.log.1
或者run_erl.log
让我们更聪明 ...... :-(
任何帮助理解这一点将非常感谢!(请和谢谢!)
注意:遗憾的是,虽然这个Q:Edeliver - 成功部署后无法在端口4000上访问 听起来类似,但该解决方案对我们不起作用(我们尝试过)