পাতলা ওয়েব সার্ভার: `start_tcp_server ': গিট শাখা চেকআউটের পরে কোনও গ্রহণকারী (রানটাইমআরর) নেই


110

পিন্স ওয়েব সার্ভারের সাথে স্থানীয়ভাবে এবং হেরোকু সিডার স্ট্যাক উভয় ক্ষেত্রেই একটি রেলস 3.2.0 অ্যাপ্লিকেশন, দুর্দান্ত কাজ করছে fine

পরে:

$ git branch work
$ git checkout work
$ rails server

আমি পাই:

=> Booting Thin
=> Rails 3.2.0 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
>> Thin web server (v1.3.1 codename Triple Espresso)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:3000, CTRL+C to stop
Exiting
/Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/eventmachine-0.12.10/lib/eventmachine.rb:572:in `start_tcp_server': no acceptor (RuntimeError)
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/eventmachine-0.12.10/lib/eventmachine.rb:572:in `start_server'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/thin-1.3.1/lib/thin/backends/tcp_server.rb:16:in `connect'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/thin-1.3.1/lib/thin/backends/base.rb:53:in `block in start'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `call'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run_machine'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/thin-1.3.1/lib/thin/backends/base.rb:61:in `start'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/thin-1.3.1/lib/thin/server.rb:159:in `start'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/rack-1.4.1/lib/rack/handler/thin.rb:13:in `run'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/rack-1.4.1/lib/rack/server.rb:265:in `start'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.0/lib/rails/commands/server.rb:70:in `start'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.0/lib/rails/commands.rb:55:in `block in <top (required)>'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.0/lib/rails/commands.rb:50:in `tap'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.0/lib/rails/commands.rb:50:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'

এছাড়াও, যখন আমি করি:

sudo bundle exec rails server thin -p 3000

আমি পাই:

/Users/peter/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find bundler (>= 0) amongst [bigdecimal-1.1.0, io-console-0.3, json-1.5.4, minitest-2.5.1, rake-0.9.2.2, rdoc-3.9.4] (Gem::LoadError)
from /Users/peter/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec'
from /Users/peter/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems.rb:1210:in `gem'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/bin/bundle:18:in `<main>'

আমি বান্ডলার 1.0.22 ইনস্টল করা আছে। এটি আপডেট এবং ইনস্টল। কিছুই কাজ মনে হচ্ছে না। কোন ধারনা?


1
আপনার কি ইতিমধ্যে কোনও সার্ভার মেশিনে অন্য কোথাও চলছে? সম্ভবত শসা বা কিছু আছে?
জোশ লেটসেল

1
না, আমি নেই। আসলে, আমার কম্পিউটারটি পুনরায় চালু করা আমার সমস্যার সমাধান করেছিল। আজ আবার ঘটল। যখন আমি এক গিট শাখা থেকে অন্য গিটার শাখায় স্যুইচ করি তখন মনে হয়।
ম্যাসেলে

2
ধন্যবাদ! MacOSX এ আমার ত্রুটির বার্তা ছিল ... eventmachine-1.0.0/lib/eventmachine.rb:526:in `start_tcp_server': no acceptor (port is in use or requires root privileges) (RuntimeError)
জেজেডি

আমার জন্য একই যখন আমি দুটি পৃথক অ্যাপ্লিকেশন চালানোর জন্য একই বন্দরটি ব্যবহার করার চেষ্টা করেছি। এই বিষয়টি আমাকে অন্যান্য চলমান অ্যাপ্লিকেশন সম্পর্কে সবেমাত্র ভাবতে বাধ্য করেছে।
ভাদোরকোয়েস্ট

উত্তর:


226

এটি আমার পক্ষে কাজ করে। (জম্বি?) সার্ভার সন্ধান করুন (সার্ভার চলমান টার্মিনালটি ছেড়ে যাওয়ার সময় ঘটতে পারে):

$ ps ax | grep rails

যদি এটি কিছু ফেরত দেয়:

33467 s002 S+ 0:00.00 grep rails
33240 s003 S+ 0:15.05 /Users/Arta/.rbenv/versions/1.9.2-p290/bin/ruby script/rails s -p 3000

এটাকে মেরে ফেল এবং নতুন করে চালাও:

$ kill -9 33240
$ rails s

17
যদি ps ax | grep railsকিছু না ঘুরিয়ে দেয়, চেষ্টা করুন ps ax | grep ruby
কেভিন

3
रेलের সার্ভার চলমান অবস্থায় আপনি যদি টার্মিনাল উইন্ডোটি সোজা ছেড়ে দেন তবে ওএসএক্সে অবশ্যই ঘটে happens +1
নোটাসিও

63

3000 বন্দরটি ইতিমধ্যে ব্যবহৃত হতে পারে। এ http://mrjaba.posterous.com/starttcpserver-no-acceptor-runtimeerror


2
উপরের লিঙ্কযুক্ত নিবন্ধ থেকে, ইতিমধ্যে চলমান রেল সার্ভারগুলি সনাক্ত করার একটি কমান্ড (ম্যাকের উপর কাজ করে): ps aux | grep rails
লুক গ্রিফিথস

48

যদি বন্দরটিকে লক করে রাখার মতো অন্য কোনও প্রক্রিয়া থাকে তবে আপনি এটি খুঁজে পেতে পারেন যে এটির কোনও পিআইডি রয়েছে:

$ lsof -i :3000
COMMAND     PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
Passenger 40466 josh    5u  IPv4 0x7cae9332073ed4df      0t0  TCP *:hbci (LISTEN)
Passenger 40467 josh    5u  IPv4 0x7cae9332073ed4df      0t0  TCP *:hbci (LISTEN)

তারপরে কেবল এটি / তাদের হত্যা করুন:

$ kill -9 40466
$ kill -9 40467

ntopআমার মেশিনে 3000 পোর্ট ব্যবহার করছিলাম। উত্তর স্পট হয়।
তাস

47

pgrep ruby কী সার্ভারগুলি চলছে তা দেখার জন্য এবং তারপরে

kill -9 serverNumber

;)



6

আমার এই ত্রুটি আছে কারণ আমি এর ভিতরে রেলগুলি দিয়ে রেল-ডেভ-বাক্স চালাচ্ছিলাম ।

Port 3000 in the host computer is forwarded to port 3000 in the virtual machine. 
Thus, applications running in the virtual machine can be accessed via 
localhost:3000 in the host computer.

সুতরাং ভ্যাগ্র্যান্ট থেকে লগ আউট এবং এটি বন্ধ হয়ে গেছে:

vagrant@rails-dev-box:/vagrant/rails$ exit
$ vagrant halt

এটি আমাকে সাহায্য করেছিল।


আমারও একই সমস্যা ছিল। আমি একটি পৃথক প্রকল্প থেকে চলমান ছিল। সম্ভবত সাধারণ নয়, তবে এটি আমাকে সাহায্য করেছিল। ধন্যবাদ! +1
জ্যাক

5

আমার এই ত্রুটি হয়েছিল কারণ আমি ইতিমধ্যে অন্য টার্মিনালে রেল চালাচ্ছি। আমার অন্যান্য প্রকল্প বন্ধ করে এটি ঠিক করে দিয়েছে।


1
আপনি যদি উভয় প্রোগ্রাম একবারে চালাতে চান তবে আপনি অন্য পোর্টে আপনার দ্বিতীয় সার্ভারটি শুরু করতে পারেন।
কেভিন

@ কেভিন দুর্দান্ত পয়েন্ট। এটি আমি করার চেষ্টা করছিলাম না, অন্য প্রকল্পটি চলছিল তা ভুলে গেছেন।
অ্যারোনা

@ ডিজে এটি উপলব্ধি করে। আমি ভবিষ্যতের পাঠকদের জন্য আমার মন্তব্য পোস্ট করছিলাম :)
কেভিন

2

ছুটি থেকে অফিসে ফিরে আসার পরে আমি একই ধরণের সমস্যায় পড়েছিলাম। আমি লোকাল আইপিতে আমার সার্ভারটি চালিয়েছি:

rails s thin -b <my_ip>

সমস্যাটি হ'ল আমার আইপি পরিবর্তন হয়েছিল, আমার কেবল নতুনটি ব্যবহার করা দরকার।


2

এটি টার্মিনালে চালিত করুন

sudo netstat -lpn |grep rails

এবং তারপর

sudo kill <job id>

আমি একমাত্র এই পদ্ধতিতে আমার প্রক্রিয়াগুলি সন্ধান করতে সক্ষম হয়েছি, যদিও আমাকে রেলের পরিবর্তে পাতলা করতে হয়েছিল।
স্কিললেট-চোর

হ্যাঁ এটি বেশিরভাগ ক্ষেত্রে কাজ করে। আপনি যদি ভোট পছন্দ করেন দয়া করে।
স্যাম

প্রক্রিয়া আইডি সন্ধান এবং হত্যার কৌশলটি করেছে। যদিও প্রথম কমান্ড আমার পক্ষে কাজ করে নি তবে ps aux | grep rails
ফ্রান্সিসকো কুইন্টোর 21
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.