【问题标题】:Why is my server telling me there is already an application running on port 3000?为什么我的服务器告诉我已经有一个应用程序在端口 3000 上运行?
【发布时间】:2018-07-19 13:15:13
【问题描述】:

我正在尝试使用 Rails 后端运行 React 应用程序。我将 Rails 服务器代理到端口 3001,并将 React 服务器设置为在 3000 上运行,并设置 rake 任务来启动它们。但是,当我运行 rake 命令时,服务器启动,然后立即关闭,说端口 3000 上已经有东西在运行。我使用 TCPview 检查并确认端口 3000 上没有任何东西在运行,或者就此而言, 3000 的任何端口。此外,我有一个使用 Mac 的朋友克隆了 repo 并尝试启动服务器,这对她来说效果很好。非常感谢有关其他可能导致此问题的任何想法。作为记录,我在 Windows 机器上,试图在 atom 终端中运行应用程序。这是 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"
}, 

这里是过程文件:

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

【问题讨论】:

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


    【解决方案1】:

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

    lsof -wni tcp:3000
    

    你会看到正在运行的进程

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

    然后使用显示的数字杀死它:

    kill -9 91287
    

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

    【讨论】:

    • 我不能使用 lsof。有没有完成同样事情的 windows 命令?
    • 如果你打开任务管理器,你可能会在那里发现它
    • "netstat -b" 应该在 windows 上显示活动端口。
    猜你喜欢
    • 2020-03-04
    • 2022-12-22
    • 1970-01-01
    • 2020-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-08
    • 2019-04-08
    相关资源
    最近更新 更多