我正在尝试使用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
答案 0 :(得分:1)
有时您的服务器无法正常关机。 在您的终端中,运行:
lsof -wni tcp:3000
您将看到正在运行的进程
ruby 91287 XXXXXX 10u IPv4 032ce99031751a206c1 0t0 TCP *:hbci (LISTEN)
然后使用显示的数字并将其删除:
kill -9 91287
重复此操作,直到ruby进程消失