Ruby on rails Rails服务器端口问题
我正试图在我刚买的共享主机上启动rails服务器,但我遇到了一些小问题 1-我无法在端口90上启动rails服务器。我犯了一个错误 /opt/alt/ruby21/lib64/ruby/2.1.0/socket.rb:206:inRuby on rails Rails服务器端口问题,ruby-on-rails,ruby,hosting,Ruby On Rails,Ruby,Hosting,我正试图在我刚买的共享主机上启动rails服务器,但我遇到了一些小问题 1-我无法在端口90上启动rails服务器。我犯了一个错误 /opt/alt/ruby21/lib64/ruby/2.1.0/socket.rb:206:inbind”:权限 拒绝-绑定(2)67.205.125.31:90(错误号::EACCES) 从/opt/alt/ruby21/lib64/ruby/2.1.0/socket.rb:206:inlisten' 从/opt/alt/ruby21/lib64/ruby/2.
bind”:权限
拒绝-绑定(2)67.205.125.31:90(错误号::EACCES)
从/opt/alt/ruby21/lib64/ruby/2.1.0/socket.rb:206:in
listen'
从/opt/alt/ruby21/lib64/ruby/2.1.0/socket.rb:461:inblock-in-tcp\u-server\u-sockets'
从/opt/alt/ruby21/lib64/ruby/2.1.0/socket.rb:232:in
each'
from/opt/alt/ruby21/lib64/ruby/2.1.0/socket.rb:232:inforeach'
从/opt/alt/ruby21/lib64/ruby/2.1.0/socket.rb:459:in
tcp\u服务器\u sockets'
从/opt/alt/ruby21/lib64/ruby/2.1.0/webrick/utils.rb:75:increate\u监听器
从/opt/alt/ruby21/lib64/ruby/2.1.0/webrick/server.rb:132:in
listen'
从/opt/alt/ruby21/lib64/ruby/2.1.0/webrick/server.rb:113:ininitialize'
从/opt/alt/ruby21/lib64/ruby/2.1.0/webrick/httpserver.rb:45:in
initialize'
from/home/tmtcmon/rubyvenv/App/2.1/gems/rack-1.6.4/lib/rack/handler/webrick.rb:31:innew'
from/home/tmtcmon/rubyvenv/App/2.1/gems/rack-1.6.4/lib/rack/handler/webrick.rb:31:in
run'
from/home/tmtcmon/rubyvenv/App/2.1/gems/rack-1.6.4/lib/rack/server.rb:286:instart'
from/home/tmtcmon/rubyvenv/App/2.1/gems/railties-4.2.6/lib/rails/commands/server.rb:80:in
start'
from/home/tmtcmon/rubyvenv/App/2.1/gems/railties-4.2.6/lib/rails/commands/commands\u tasks.rb:80:inblock in server'
from/home/tmtcmon/rubyvenv/App/2.1/gems/railties-4.2.6/lib/rails/commands/commands\u tasks.rb:75:in
tap'
from/home/tmtcmon/rubyvenv/App/2.1/gems/railties-4.2.6/lib/rails/commands/commands\u tasks.rb:75:inserver'
from/home/tmtcmon/rubyvenv/App/2.1/gems/railties-4.2.6/lib/rails/commands/commands\u tasks.rb:39:in
run\u command!'
from/home/tmtcmon/rubyvenv/App/2.1/gems/railties-4.2.6/lib/rails/commands.rb:17:in'
从箱子/轨道:4:in
require'
从箱子/轨道:4:in`'
这个错误是不是因为我在共享主机上,所以我无法在端口90上启动某些东西,因为它已经被使用了
2-我无法在端口3000上启动rails服务器。(默认端口)。这次我可以启动我的服务器,但无法使用http/:domain name.com:3000
3-如果我在一个随机端口上启动rails服务器
(我尝试了30000次),服务器工作正常。问题是看起来不太好,我只喜欢http/:domain-name.com
因此,对于这三个问题,有三个问题:
1-即使我共享了主机,也可以在端口90上启动我的服务器吗?如果是这样,你知道我做错了什么吗
2-为什么我不能在端口3000上有效启动?(这不是一个真正的问题,因为我更喜欢服务器在端口90上启动,但我很好奇
3-这是一种重定向端口30000上所有流量的方法吗?如果地址栏中没有显示http/:domain name:30000,用户可以通过键入http/:domain name进行连接,但它会显示在地址栏中
提前谢谢
编辑:如果问题已经回答了,很抱歉,但如果是这样,我在数小时的研究后找不到它…如果您不是root用户,则无法绑定端口90或小于1024的任何内容,并且可能其他人已经在端口3000上运行服务,您可以执行
netstat-nat | grep 3000
以查看是否存在任何进程正在侦听。当我尝试运行netstat时,收到一个“未找到命令”。我想我的主机不允许我运行某些命令,(?)但完全有可能其他人正在端口3000上运行某个程序。我不知道非root用户无法在端口上启动进程,您可以尝试curlhttp://localhost:3000
或telnet localhost 3000
或wget-O-http://localhost:3000
,应该有一个可以用来测试connection.curl的命令确认端口3000上没有进程。(它会给我一个主机页面,告诉我已经尝试访问一个不存在的页面。)如果curl
返回任何内容(甚至404)除了错误,这意味着有东西在运行,您可以执行curl-v
查看响应标题。遗憾的是,很难判断谁在共享主机环境中运行它。*即将连接()到本地主机端口80(#0)*尝试127.0.0.1…已连接*已连接到本地主机(127.0.0.1)端口80(#0)>获取/:300000 HTTP/1.1>用户代理:curl/7.19.7(x86_64-redhat-linux-gnu)libcurl/7.19.7 NSS/3.19.1 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2>主机:localhost>Accept://*>
这是您要找的吗^^