2012-09-30 15 views
6

Port 80 ve port 7655 arasında arabuluculuk yapmak için Apache port yönlendirme kullanarak bir daemon olarak çalıştığım bir Sinatra uygulamasına sahibim. Bu geçmişte iyi çalışıyor. Bugün çok iyi değil. Nedenini anlayamıyorum.sinatra işlemini başlatamıyor - eventmachine "no acceptor"

Sorun: sudo ruby my_process.rb döner:

/var/lib/gems/1.9.1/gems/eventmachine-1.0.0/lib/eventmachine.rb:526:in `start_tcp_server': no acceptor (port is in use or requires root privileges) (RuntimeError) 

çalıştı: Bütün sistem paketlerini güncellemek, bütün taşlar güncellenmesi. Yardım yok (eventmachine'den daha net hata mesajı hariç).

sudo lsof -i :7655'u çalıştırdığımda hiçbir şey anlayamıyorum. sudo ps aux'u çalıştırdığımda herhangi bir Ruby işlemini hiç görmüyorum. Hata mesajının niteliği göz önüne alındığında oldukça düzensiz buluyorum!

Bağlantı noktası neden kullanılamıyor? Ayrıca


:

çalıştı değişen limanlar, hiçbir şey. "Localhost" ile ilgili olup olmadığını merak ediyorum? Localhost'a ping ettiğimde tüm düşürülmüş paketleri alırım. Bu normal görünmüyor.

set bind: "localhost" 
set port: 7655 

sorun localhost oldu:

+1

tam olarak 'my_process.rb' çalıştırmak için hangi? – pje

+0

Üzgünüz, bu yanıt hakkında biraz daha ayrıntılı bilgi verebilmeniz için sudo ruby ​​my_process.rb' – mlibby

cevap

2

ana Sinatra komut bu iki satırının en bilgi verdi çıkıyor. Geridöngü arayüzü doğru şekilde yapılandırılmamış. ifconfig, lo arabirimini gösterdi, ancak IP 127.0.0.1 atanmadı. çözmek için, (Bir Ubuntu Linux sisteminde) kabuğunda aşağıdaki komutları koştum:

ifdown lo 
ifup lo 
+0

'u okumuş olmalısınız. Çözüm ise "ifdown lo" ve "ifup lo" kelimelerini nereye koydunuz? Ne yapacağımı anlayamıyorum ... – BrainLikeADullPencil

+0

Cevabı düzenledim, umarım yardımcı olur. – mlibby

+0

@BrainLikeADullPencil: "ifdown" VE "ifup", "loopback" ("yazılım") ağ bağdaştırıcısını başlatmak ve durdurmak için Linux/MacOS komutlarıdır. Onlar [soru] için gerekli değildir * (http://stackoverflow.com/questions/14049765/port-in-use-when-not-using-a-port). Önemli olan, Sinatra betiğinizdeki "bağlama" adresini değiştirmek ve şu anda bağlantı noktası olan # 4567 için "kullanımdaki bağlantı noktası" hatasına yardımcı olup olmadığına bakmaktır. – paulsm4