Nginx 502坏网关长生不老药/凤凰
我已经安装了一个新的Ubuntu 18.04服务器并部署了我的phoenix应用程序,但在尝试访问它时遇到了502错误 我还没有域名,因为我将从另一台服务器传输一个域名,所以只是尝试连接IP地址 Phoenix应用程序已部署并正在运行,我可以用edeliver ping它 产品配置: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
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
中,但它是解决方案的一部分