【问题标题】:How can I start the rails server in parallel with the webpack server so that I can kill both at the same time?如何与 webpack 服务器并行启动 rails 服务器,以便我可以同时杀死两者?
【发布时间】:2019-08-30 22:48:54
【问题描述】:

我正在寻找一种与 webpack 服务器并行启动 rails 开发服务器的方法。问题是,如果我在后台运行其中一个,当我 Ctrl^C 关闭所有内容时,一个进程会继续在后台运行,并可能导致一些涉及正在使用的地址的奇怪行为。

我试过这个:

$ rails s & bin/webpack-dev-server

// rails and webpack running in parallel

$ sudo lsof -n -i :3000 -i :3035 | grep LISTEN

ruby    26847 username   13u  IPv4 0xa889e9178532bffd      0t0  TCP 127.0.0.1:hbci (LISTEN)
ruby    26847 username   14u  IPv6 0xa889e91781b9ae3d      0t0  TCP [::1]:hbci (LISTEN)
node    26848 username   19u  IPv4 0xa889e9178e468ffd      0t0  TCP 127.0.0.1:fjsv-gssagt (LISTEN)

但正如您所见,当您尝试使用Ctrl^C 终止进程时,端口上仍有进程在运行。

$ sudo lsof -n -i :3000 -i :3035 | grep LISTEN

ruby    26847 username   13u  IPv4 0xa889e9178532bffd      0t0  TCP 127.0.0.1:hbci (LISTEN)
ruby    26847 username   14u  IPv6 0xa889e91781b9ae3d      0t0  TCP [::1]:hbci (LISTEN)

我知道我可以简单地在单独的终端中运行这些程序并分别终止这两个进程,但我希望能够创建一个纱线脚本,使用 yarn start 之类的东西运行它们。

【问题讨论】:

  • 是的@QNester,工头会工作得很好。
  • 没有工头有没有办法做到这一点?
  • 为什么 Rails 不自己启动 Webpack?

标签: ruby-on-rails ruby unix webpack terminal


【解决方案1】:

可以安装foremangem,指令here

然后创建一个Procfile 并将启动脚本添加到其中。

web: bin/webpack-dev-server
api: rails s

要启动服务器,请运行 foreman start

要杀死所有进程使用Ctrl^C,如果失败则运行killall "foreman: master"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多