Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails服务器端口问题_Ruby On Rails_Ruby_Hosting - Fatal编程技术网

Ruby on rails Rails服务器端口问题

Ruby 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.

我正试图在我刚买的共享主机上启动rails服务器,但我遇到了一些小问题

1-我无法在端口90上启动rails服务器。我犯了一个错误

/opt/alt/ruby21/lib64/ruby/2.1.0/socket.rb:206:in
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:in
block-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:in
foreach'
从/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:in
create\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:in
initialize'
从/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:in
new'
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:in
start'
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:in
block 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:in
server'
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://*>
这是您要找的吗^^