Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nginx 502坏网关长生不老药/凤凰_Nginx_Elixir_Phoenix Framework_Ubuntu 18.04 - Fatal编程技术网

Nginx 502坏网关长生不老药/凤凰

Nginx 502坏网关长生不老药/凤凰,nginx,elixir,phoenix-framework,ubuntu-18.04,Nginx,Elixir,Phoenix Framework,Ubuntu 18.04,我已经安装了一个新的Ubuntu 18.04服务器并部署了我的phoenix应用程序,但在尝试访问它时遇到了502错误 我还没有域名,因为我将从另一台服务器传输一个域名,所以只是尝试连接IP地址 Phoenix应用程序已部署并正在运行,我可以用edeliver ping它 产品配置: config :app, AppWeb.Endpoint, load_from_system_env: false, url: [host: "127.0.0.1", port: 4013], cach

我已经安装了一个新的Ubuntu 18.04服务器并部署了我的phoenix应用程序,但在尝试访问它时遇到了502错误

我还没有域名,因为我将从另一台服务器传输一个域名,所以只是尝试连接IP地址

Phoenix应用程序已部署并正在运行,我可以用edeliver ping它

产品配置:

config :app, AppWeb.Endpoint,
  load_from_system_env: false,
  url: [host: "127.0.0.1", port: 4013],
  cache_static_manifest: "priv/static/cache_manifest.json",
  check_origin: true,
  root: ".",
  version: Mix.Project.config[:version]

config :logger, level: :info

config :phoenix, :serve_endpoints, true

import_config "prod.secret.exs"
Nginx配置:

server {
  listen 80;
  server_name _;

  location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://127.0.0.1:4013;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
  }
}
Nginx错误日志:

2020/05/14 22:28:23 [error] 22908#22908: *24 connect() failed (111: Connection refused) while connecting to upstream, client: ipaddress, server: _, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:4013/", host: "ipaddress"
编辑:

确认应用程序处于活动状态的OTP日志的最后两项

===== ALIVE Fri May 15 07:33:19 UTC 2020

===== ALIVE Fri May 15 07:48:19 UTC 2020
编辑2:

我已经发布了一个要点,详细说明了我从一个干净的Ubuntu盒子到现在的位置所采取的所有步骤:
谢谢

您必须将
服务器:true
添加到您的配置中,例如:

config :wtmitu, WtmituWeb.Endpoint,
  server: true,  # <-- this line
  load_from_system_env: false,
  ...
config:wtmitu,WtmituWeb.Endpoint,

服务器:true,#此问题已解决如下:

有两个问题需要解决

  • 需要将
    config:app、AppWeb.Endpoint、server:true
    添加到
    prod.secret.exs
    prod.exs
  • 最初,由于错误地将
    staging
    部署到同一台服务器,我留下了一个正在运行的进程。我最初登录到服务器,并使用
    /bin/app stop
    停止登台,可能这让一个进程一直在运行,可能是后来我错误地启动了该进程。无论如何,我使用
    ps-ux
    列出了正在运行的进程,并发现其中一个进程在其路径中列出了
    staging
    ,因此我使用
    kill-9 processId
    杀死了所有运行中的与deloyment相关的进程,包括staging和production,并将它们重新部署到生产环境中,现在一切正常
    4013
    端口看起来可疑。你能分享你的
    config/prod.exs
    (假设你为
    prod
    环境构建和部署了发行版)吗?我已经编辑了这个问题,添加了
    config/prod.exs
    。是的,我正在构建并部署到
    prod
    环境。请检查您的服务器日志,很可能是因为某种原因它没有启动。这是我做的第一件事,应用程序处于活动状态,我可以使用
    edeliver
    ping它。我将在问题中添加最后两个条目。您能在问题中添加
    releases.exs
    文件的内容吗?我没有足够的声誉发表评论,所以我写了一个答案。我希望这是正确的理由。请让我知道它是否适用于您。谢谢,但这已经在
    prod.secret.exs
    中,但它是解决方案的一部分