我正在为我的rails应用程序运行本地puma服务器。
这是在我的local_env.yml文件中
STAGING_URL: 'http://statrubytwotwo.test'
我可以在服务器运行时点击URl,一切正常。如果我使用Cntrl-C关闭服务器,然后点击服务器,它仍然在运行。
要让服务器关闭,我必须这样做
pkill -9 -f 'rb-fsevent|rails|spring|puma'
主要的问题是我改变了代码。执行git add * --all
和git commit -m "something here"
,然后通过bundle exec puma
启动服务器
服务器再次启动,但看不到代码更改。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)?无论哪种方式,当它重新启动时,它都不会使用新代码。
发布于 2019-02-22 06:44:13
添加为响应,因为我不能将其全部放入评论中:
你需要找出你使用的是哪种工具。我的猜测是puma-dev,并且您通过here将其安装为后台进程
看看你能不能确认一下。
通常情况下,如果有2台服务器在运行,就会出现冲突,但是运行在puma/rails缺省值3000以外的端口上,这就是默认的bundle exec puma
运行的端口(我想?)
如果是这样的话,您已经在不同的端口上启动了一个新服务器,而旧服务器(运行启动时缓存的旧代码)仍在运行。这就是为什么你看不到变化的原因。
你可以确认几件事:
bundle exec puma
,执行rails s
并检查屏幕上的日志,查看:3000
是否在那里https://stackoverflow.com/questions/54817246
复制相似问题