工头立即终止

时间:2014-06-12 06:08:01

标签: ruby-on-rails macos path redis foreman

我最近在不同的计算机上安装了OSX Ubuntu。然后我尝试为这两种操作系统安装redis和foreman。这两个错误都没有标记,似乎成功执行。但是,每当我用foreman start开始领班时,我都会在两台计算机上遇到以下问题:

23:48:35 web.1    | started with pid 1316
23:48:35 redis.1  | started with pid 1317
23:48:35 worker.1 | started with pid 1318
23:48:35 redis.1  | [1317] 11 Jun 23:48:35.180 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
23:48:35 redis.1  | [1317] 11 Jun 23:48:35.181 * Increased maximum number of open files to 10032 (it was originally set to 256).
23:48:35 redis.1  | [1317] 11 Jun 23:48:35.181 # Creating Server TCP listening socket *:6379: bind: Address already in use
23:48:35 redis.1  | exited with code 1
23:48:35 system   | sending SIGTERM to all processes
23:48:35 worker.1 | terminated by SIGTERM
23:48:35 web.1    | terminated by SIGTERM

出于某种原因,这似乎是一个路径问题,因为看起来Redis或Foreman无法找到他们需要用来成功执行的文件,但我并不完全确定。

在OSX上,我使用了gem install foremanBrew install Redis

在Ubuntu上我使用了以下内容:

Redis的:

$ cd ~
$ wget http://download.redis.io/redis-stable.tar.gz
$ tar xvzf redis-stable.tar.gz
$ cd redis-stable
$ make
$ make test 

工头:

$ gem install foreman

我在OSX上的路径如下:

  

/Users/c/.rvm/gems/ruby-2.1.0/bin:/Users/c/.rvm/gems/ruby-2.1.0@global/bin:/Users/c/.rvm/rubies /ruby-2.1.0/bin:/Users/c/.rvm/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

在Ubuntu上,我的路径是:

  

/usr/local/bin:/usr/lib/postgresql:/usr/lib/postgresql/9.3:/usr/lib/ postgresql / 9.3 / lib:/usr/lib/postgresql/9.3/bin:/ usr /share/doc:/usr/share/doc/postgresql-9.3:/usr/share/postgresql:/usr/share/postgresql/9.3:/usr/share/postgresql/9.3/man:$PATH

Redis-server似乎确实执行了一次,然后失败并显示消息:

[1457] 12 Jun 00:02:48.481 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
[1457] 12 Jun 00:02:48.482 * Increased maximum number of open files to 10032 (it was originally set to 256).
[1457] 12 Jun 00:02:48.483 # Creating Server TCP listening socket *:6379: bind: Address already in use

尝试$ redis-server stop返回:

[1504] 12 Jun 00:05:56.173 # Fatal error, can't open config file 'stop'

我需要帮助弄清楚如何让Foreman和Redis一起工作,以便我可以在127.0.0.1浏览器中查看我的本地文件

修改

Redis确实启动了,但是当我导航到localhost:6379时没有任何反应。我也尝试过寻找过程的建议。它找到了

c                751   0.0  0.0  2432768    596 s005  R+    2:03PM   0:00.00 grep redis
c                616   0.0  0.0  2469952   1652 s004  S+    2:01PM   0:00.05 redis-server *:6379

尝试kill过程导致

  

kill:usage:kill [-s sigspec | -n signum | -sigspec] pid | JOBSPEC   ...或者杀死-l [sigspec]

3 个答案:

答案 0 :(得分:17)

尝试使用以下命令启动Redis服务器:

redis-server <path to your config file>

另外,检查是否已经通过

运行Redis服务器实例
ps aux | grep redis 

然后如果找到了进程:

kill <process id>

重新启动redis服务器。

答案 1 :(得分:1)

这一个班轮将杀死任何现有的redis-servers,然后启动一个新的redis-server。当在Foreman中运行时,它不会发送导致Foreman退出的SIGTERM,发送SIGINT让Foreman继续。

(ps aux | grep 6379 | grep redis | awk '{ print $2 }' | xargs kill -s SIGINT) && redis-server

在Procfile.dev中:

redis: (ps aux | grep 6379 | grep redis | awk '{ print $2 }' | xargs kill -s SIGINT) && redis-server

答案 2 :(得分:0)

  1. 列出使用终端运行的redis服务器 命令:ps aux | grep redis
  2. 在列表中记下要终止的服务器的“pid”号示例pid:5379
  3. 使用命令:kill 5379