পাতলা ওয়েব সার্ভার: `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.