我试图部署一个简单的凤凰应用程序与交付。昨天,经过多次努力,终于成功了。不管怎样,今天我做了一点努力发布新版本:
mix edeliver build release --branch=production # looks fine
mix edeliver deploy release to production # looks fine
mix edeliver restart production # looks fine
如果我在服务器上运行ps aux
,我可以看到:
root 29773 0.0 0.0 7620 292 ? S 08:58 0:00 /var/www/elixirhunt.prod/elixirhunt/erts-8.0/bin/epmd -daemon
root 3179 0.0 0.0 4328 356 ? Ss 09:59 0:00 erl_child_setup 1024
root 3060 0.4 9.9 2228364 49992 pts/0 Ssl+ 09:59 0:03 /var/www/elixirhunt.prod/elixirhunt/erts-8.0/bin/beam -- -root /var/www/elixirhunt.prod/elixirhunt -progname var/www/eli
root 3059 0.0 0.1 14860 804 ? S 09:59 0:00 /var/www/elixirhunt.prod/elixirhunt/erts-8.0/bin/run_erl -daemon /var/www/elixirhunt.prod/elixirhunt/tmp/erl_pipes/elixi
所以守护进程正在运行。如果我运行mix edeliver ping production
,一切看起来也很好。
当我试图到达我的服务器与正确的端口配置在prod.secret.exs
config :elixirhunt, Api.Endpoint,
http: [port: 4000],
url: [host: "www.elixirhunt.prod", port: 4000],
cache_static_manifest: "priv/static/manifest.json",
server: true
它不工作:http://46.101.2.126:4000/
(昨天还好)。
我检查了端口4000上是否有侦听,但似乎没有:
netstat -anp | grep ":4000 "
(void)
解决:config :elixirhunt, Api.Endpoint,
是错误的,我的应用程序的命名空间是Elixirhunt.Endpoint。