Homeland 非 Docker 方式部署,出现了 ** 服务访问异常 **

thxallvu · 2019年02月18日 · 最后由 ifu25 回复于 2021年02月01日 · 6105 次阅读

0x00 部署环境

  • ubuntu 16.04 LTS
  • ruby 2.6.0
  • nodejs 10.15.1
  • gem 都是 bundle install 的
  • elasticsearch 5.4
  • posgresql 9.x
  • redis 这个记不太清楚了 apt-get install redis-server
  • nginx 1.14.2 源码编译的

0x01 部署过程

  • nginx 部分 docker 部分是 alpine linux 安装的 nginx,我用的是 ubuntu,所以自己编译的 nginx 1.14.2,主要的差别是 原配置是 server app:7000 我修改为了 server 127.0.0.1:7000
  • 数据库部分 没什么修改的,配置中数据库的 url 修改为自己的。
  • 主配置文件 这个说来奇怪,我把网站的名称,等配置修改了,第一次安装完成后,还是默认 APP NAME,很有可能这里配置有问题。

0x02 出现问题的描述

  • 修改了 config 配置文件,但是安装完成后依然是 APP NAME 这个目前影响不大,可以在后台配置,但是哪里没有生效导致,其他问题产生。
  • 安装好后第一次访问域名,没有问题,topic、jobs、press、signin、signup 都可以访问。
  • 我用我的 config 文件的邮箱注册提交后,就出现了 “服务访问异常”
  • 出现问题后 我 ssh 练到服务器执行 curl 域名,返回的是正常的,访问域名还是内部错误。

第三点的图

第四点的图

希望大家可以帮我看看,我的问题可能出现在什么地方,谢谢大家

ps:如果问题解决,我会写一遍面向我这样小白的非 docker 部署 homeland 的帖子,来感谢大家对我的帮助!

补充一点:

  • 也启动了 puma-master 和 puma-backup
  • 也启动了 Sidekiq

这是 Sidekiq 的队列的 log,生产环境为什么对会用到开发环境的数据库,因为是部署所以我没有配置开发环境的数据库. 斗胆 at 下吧~@huacnlee

不好意思,我实在是没空逐个给大家解决安装的问题,最初设计 Docker 的方式就是为了方便部署。如果你想自己用源代码方式定制开发和部署,首先你得确保你能掌握的这方面知识。

既然来了,顺便回答你那个问题吧:

Sidekiq 启动的时候应该是缺少 RAILS_ENV=production 的,详细可以查阅有关 RAILS_ENV 和 production 部署的相关内容。

huacnlee 回复

首先表示感谢,文章中的图是我 执行:

bundle exec sidekiq -C config/sidekiq.yml -L /home/ubuntu/homeland/log/sidekiq.log RAILS_ENV=production

后的结果,目前我为了测试还是把 db-dev 和 db-test 配置好了,仍然执行上命令后,出现如下图

但是依旧是不能注册,一注册就会出现上述问题。

thxallvu 回复

恰巧去年也搞过一段时间 homeland 论坛,可以参考一下这个版本,用的是 capistrano 部署。

ericguo 回复

好的,谢谢

有没有非 docker 方式部署的教程文档啊。 为什么在 docker 中部署了,速度非常的慢,打开一个页面要 3-5 秒

需要 登录 后方可回复, 如果你还没有账号请 注册新账号