为什么我的服务器告诉我已经在端口3000上运行了一个应用程序?

时间:2018-02-08 20:41:52

标签: ruby-on-rails reactjs window localhost atom-editor

我正在尝试使用Rails后端运行React应用程序。我将rails服务器代理到端口3001,将React服务器设置为在3000上运行,并将rake任务设置为启动它们。但是,当我运行rake命令时,服务器启动,然后立即关闭,说已经在端口3000上运行了一些东西。我已经使用TCPview检查并确认端口3000上没有运行任何东西,或者就此而言, 3000年代的任何一个港口。此外,我有一个朋友用Mac克隆了回购并试图启动服务器,它对她来说很好。关于还有什么可能导致这个问题的任何想法都非常感谢。为了记录,我在一台Windows机器上,尝试在原子终端中运行应用程序。这是package.json,指定代理:

{
 "name": "fidirect",
 "version": "0.1.0",
 "private": true,
 "proxy": "http://localhost:3001/",
 "devDependencies": {
  "enzyme": "2.4.1",
  "react-addons-test-utils": "15.4.0",
  "react-scripts": "0.8.5"
}, 

这是procfile:

web: cd client && npm start
api: bundle exec rails s -p 3001 

这是rake任务:

task :start do
exec 'foreman start -p 3000'
end 

同样,我知道这段代码有效,我只是想知道为什么它不能在我的本地环境中运行,并且在端口3000上肯定没有运行。提前感谢任何和所有帮助!  编辑*这是我运行netstat -po tcp时出现的所有内容的完整列表。在我看来,这证实了端口上没有任何东西在运行。我错过了什么吗?

Proto  Local Address          Foreign Address        State           PID
TCP    10.1.10.143:49435      msnbot-65-52-108-214:https  ESTABLISHED     
4004
TCP    10.1.10.143:49437      msnbot-65-52-108-235:https  ESTABLISHED     
4004
TCP    10.1.10.143:53182      msnbot-65-52-108-192:https  ESTABLISHED     
16656
TCP    10.1.10.143:53412      138.68.43.221:https    ESTABLISHED     17768
TCP    10.1.10.143:53556      pg-in-f188:5228        ESTABLISHED     7504
TCP    10.1.10.143:53565      151.101.129.69:https   ESTABLISHED     7504
TCP    10.1.10.143:53673      lb-192-30-253-125-iad:https  ESTABLISHED     
7504
TCP    10.1.10.143:53715      a23-49-12-43:https     ESTABLISHED     7504
TCP    10.1.10.143:53737      151.101.1.121:https    ESTABLISHED     7504
TCP    10.1.10.143:53738      151.101.1.121:https    ESTABLISHED     7504
TCP    10.1.10.143:53741      a104-91-221-98:https   ESTABLISHED     7504
TCP    10.1.10.143:53746      151.101.1.121:https    ESTABLISHED     7504
TCP    10.1.10.143:53749      151.101.1.121:https    ESTABLISHED     7504
TCP    10.1.10.143:53754      151.101.2.202:https    ESTABLISHED     7504
TCP    10.1.10.143:53759      a23-5-213-46:https     ESTABLISHED     7504
TCP    10.1.10.143:53776      192.0.73.2:https       ESTABLISHED     7504
TCP    10.1.10.143:53779      server-52-84-237-186:https  ESTABLISHED     
7504
TCP    10.1.10.143:53782      a-0001:https           ESTABLISHED     14932
TCP    10.1.10.143:53783      13.107.19.11:https     ESTABLISHED     14932
TCP    10.1.10.143:53784      13.107.6.254:https     ESTABLISHED     14932
TCP    10.1.10.143:53785      204.79.197.254:https   ESTABLISHED     14932
TCP    10.1.10.143:53786      13.107.42.254:https    ESTABLISHED     14932
TCP    10.1.10.143:53787      204.79.197.222:https   ESTABLISHED     14932

1 个答案:

答案 0 :(得分:1)

有时您的服务器无法正常关机。 在您的终端中,运行:

lsof -wni tcp:3000

您将看到正在运行的进程

ruby      91287 XXXXXX   10u  IPv4 032ce99031751a206c1      0t0  TCP *:hbci (LISTEN)

然后使用显示的数字并将其删除:

kill -9 91287

重复此操作,直到ruby进程消失