我正在尝试使用 edeliver 部署一个简单的凤凰应用。经过多次努力,昨天工作得很好。无论如何,今天我做了一点努力,并试图 发布新版本:
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)
答案 0 :(得分:1)
解决:config :elixirhunt, Api.Endpoint,
错了,我的应用程序的命名空间是Elixirhunt.Endpoint。