我最近在不同的计算机上安装了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 foreman
和Brew 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]
答案 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)