首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么Puma服务器不会获取代码的更改?

为什么Puma服务器不会获取代码的更改?
EN

Stack Overflow用户
提问于 2019-02-22 06:29:39
回答 1查看 651关注 0票数 0

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

这是在我的local_env.yml文件中

代码语言:javascript
复制
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服务器正在运行旧代码吗?

更新====

我用下面的代码杀死了所有人:

代码语言:javascript
复制
puma-dev -stop
pkill -9 -f 'rb-fsevent|rails|spring|puma'
pkill -USR1 puma-dev

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

代码语言:javascript
复制
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)?无论哪种方式,当它重新启动时,它都不会使用新代码。

EN

回答 1

Stack Overflow用户

发布于 2019-02-22 06:44:13

添加为响应,因为我不能将其全部放入评论中:

你需要找出你使用的是哪种工具。我的猜测是puma-dev,并且您通过here将其安装为后台进程

看看你能不能确认一下。

通常情况下,如果有2台服务器在运行,就会出现冲突,但是运行在puma/rails缺省值3000以外的端口上,这就是默认的bundle exec puma运行的端口(我想?)

如果是这样的话,您已经在不同的端口上启动了一个新服务器,而旧服务器(运行启动时缓存的旧代码)仍在运行。这就是为什么你看不到变化的原因。

你可以确认几件事:

  • 不要执行bundle exec puma,执行rails s并检查屏幕上的日志,查看:3000是否在那里
  • 像以前一样杀死您的puma,但请再次访问您的网址并查看它是否仍在运行
  • Start D11,然后访问D12,并查看重新加载页面时代码是否发生更改。H213H114执行D15,然后D16,并访问您的.test URL并查看它是否中断(这意味着puma-dev正在后台运行)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54817246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档