2014-06-12 32 views
8

Son zamanlarda farklı bilgisayarlarda OSX ve Ubuntu'yu yükledim. Daha sonra her iki işletim sistemi için redis ve foreman'ı yüklemeye çalıştım. Her iki hata da bayrak atmadı ve başarılı bir şekilde yürütüldü. Ben foreman start ile ustabaşı başlatmak için gittiğiniz zaman Ancak, ben her iki bilgisayarda aşağıdaki sorunu çalıştırmak: NedenseForeman hemen sonlandırılıyor

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 

bulamadığı REDIS veya Foreman gibi görünüyor, çünkü, bana bir yol sorunu gibi görünüyor başarıyla yürütmek için kullanmaları gereken dosyalar, ancak tam olarak emin değilim.

OSX'de gem install foreman ve Brew install Redis kullanılır.

REDIS:

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

Foreman: Ubuntu üzerinde

aşağıdaki kullanılan

$ gem install foreman

şöyle OSX'te Benim PATH geçerli:

/Kullanıcılar/c/.rvm/taşlar/yakut-2.1.0/bin: /Users/c/.rvm/gems/[email protected]/bin: /Users/c/.rvm/rubies/ruby-2.1.0/bin:/Kullanıcılar

Ubuntu üzerinde

/c/.rvm/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin, benim yOLU geçerli:

/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/paylaşım/postgresql: /usr/share/postgresql/9.3: /usr/share/postgresql/9.3/man: $ PATH

Redis-server d OES başarıyla kez çalıştırmak gibi görünüyor ve o zaman iletisiyle başarısız olur: Ben Foreman ve Redis böylece birlikte çalışarak nasıl bulmaktan yardıma ihtiyaç

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

:

[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 döner çalışılıyor Ben 127.0.0.1

DÜZENLEME

de tarayıcıda benim yerel dosyaları görüntüleyebilir

Redis başlıyor, ancak localhost'a gittiğimde hiçbir şey olmuyor: 6379. Süreç bulma önerisini de denedim. kullanım: Sürecin sonuçları

öldürmek içinde kill çalışılıyor

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 

bulundu [öldürmek -s sigspec | -n tabela | -sigspec] pid | jobspec ...veya öldürmek -l [sigspec]

cevap

16

şu komutla Redis sunucusu başlatmayı deneyin: Zaten

ps aux | grep redis 

tarafından çalışan Redis sunucusunun bir örneği varsa

redis-server <path to your config file> 
Ayrıca

, kontrol ve Sonra işlem bulunursa:

Redis sunucunuzu yeniden başlatın.

+0

. Bir süreç buldum, ama yazarak öldürme işe yaramadı. Daha fazla bilgi için güncellenmiş soruya bakın – user3172050

+0

Bir sürü hatadan sonra, sadece "foreman start" yerine "raylar" a geri döndüm. – user3172050

+0

'kill -9 ' benim için çalıştı. – Ctpelnar1988

0
  1. numaralı bağlantı kipini kullanarak çalışan redis sunucusunu listeleyin: ps aux | 5379
  2. kullanım komut: grep Redis liste notu aşağı in
  3. Eğer Örnek pid sonlandırmak istediğiniz sunucunun sayısını 'pid' 5379
1

Bu, bir astar mevcut herhangi Redis-sunucularını öldürecek öldürüp daha sonra yeni bir redis sunucusu başlatın. Foreman'da koştuğunuzda Foreman'ın çıkmasına neden olan bir SIGTERM göndermez, bir SIGINT göndermek Foreman'ın devam etmesine izin verir. Procfile.dev olarak

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

:

Sunucu Redis-sunucusu ile bir kez başladığında yukarıda bahsedilen

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

İlgili konular