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

thxallvu · 2019年02月18日 · 最后由 thxallvu 回复于 2019年02月20日 · 441 次阅读

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的帖子,来感谢大家对我的帮助!

共收到 6 条回复

补充一点:

  • 也启动了 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 回复

好的,谢谢

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