为什么Puma服务器不会更改代码?

问题描述 投票:0回答:1

我正在运行我的rails应用程序的本地puma服务器。

这是在我的local_env.yml文件中

STAGING_URL: 'http://statrubytwotwo.test'

我可以在服务器运行时点击URl并且一切正常。如果我用Cntrl-C关闭服务器然后点击服务器它仍在运行。

要让服务器关闭,我必须这样做

pkill -9 -f 'rb-fsevent|rails|spring|puma'

主要问题是我改变了代码。做git add * --allgit commit -m "something here",然后通过bundle exec puma启动服务器

服务器再次启动,但看不到代码更改。美洲狮服务器正在运行旧代码?

更新====

我用以下方法杀了所有人:

puma-dev -stop
pkill -9 -f 'rb-fsevent|rails|spring|puma'
pkill -USR1 puma-dev

我做了一个rails s,我看到了这一点

Puma starting in single mode...
* Version 3.11.4 (ruby 2.3.1-p112), codename: Love Song
* Min threads: 0, max threads: 16
* Environment: staging
* Listening on tcp://0.0.0.0:3000
Use Ctrl-C to stop

我点击https://stattwotwo.test域并加载。

我打了http://localhost:3000而没找到

我点击https://stattwotwo.test域并加载

无论我做什么都没有在http://localhost:3000上加载

我相信我记得puma-dev会在域名被击中的任何时候开始,即使它被击落(forman或pow)?无论哪种方式重新启动它都不使用新代码。

ruby-on-rails ruby puma puma-dev
1个回答
0
投票

添加为响应因为我无法在评论中将其全部放入:

您需要找出您正在使用的工具。我的猜测是puma-dev,你通过here将它安装为后台进程

看看你是否可以确认。

通常,如果有2个服务器正在运行,你会遇到冲突,但是运行在puma / rails默认值为3000以外的端口上,这是默认的bundle exec puma运行的(我想?)

如果是这种情况,您一直在不同的端口上启动新服务器,而旧服务器(从启动时运行旧的缓存代码)仍在运行。这就是你没有看到变化的原因。

你可以确认一些事情:

  • 不要做bundle exec puma,做rails s并检查日志到屏幕,看看是否有:3000
  • 像往常一样杀死你的美洲狮,但访问你的网址,看看它是否还在运行
  • 再次启动rails s,并访问http://localhost:3000,看看当您按预期重新加载页面时代码是否更改。
  • puma-dev -stop,然后rails s,并访问你的.test网址,看看它是否破了(这意味着puma-dev在后台运行)
© www.soinside.com 2019 - 2024. All rights reserved.