我试图在刚刚购买的共享主机上启动rails服务器,但我遇到了一些小问题。
1-我无法在端口90上启动private void showSchedule(string xml)
{
DataSet dt = new DataSet();
using (var reader = new StringReader(xml))
{
dt.ReadXml(reader);
dataGridView1.DataSource = dt.Tables[0];
}
}
。我收到错误消息。
/opt/alt/ruby21/lib64/ruby/2.1.0/socket.rb:206:in
rails server
听' 来自/opt/alt/ruby21/lib64/ruby/2.1.0/socket.rb:461:inbind': Permission denied - bind(2) for 67.205.125.31:90 (Errno::EACCES) from /opt/alt/ruby21/lib64/ruby/2.1.0/socket.rb:206:in
每个' 来自/opt/alt/ruby21/lib64/ruby/2.1.0/socket.rb:232:inblock in tcp_server_sockets' from /opt/alt/ruby21/lib64/ruby/2.1.0/socket.rb:232:in
tcp_server_sockets' 来自/opt/alt/ruby21/lib64/ruby/2.1.0/webrick/utils.rb:75:inforeach' from /opt/alt/ruby21/lib64/ruby/2.1.0/socket.rb:459:in
听' 来自/opt/alt/ruby21/lib64/ruby/2.1.0/webrick/server.rb:113:increate_listeners' from /opt/alt/ruby21/lib64/ruby/2.1.0/webrick/server.rb:132:in
初始化' 来自/home/tmtcmon/rubyvenv/App/2.1/gems/rack-1.6.4/lib/rack/handler/webrick.rb:31:ininitialize' from /opt/alt/ruby21/lib64/ruby/2.1.0/webrick/httpserver.rb:45:in
运行' 来自/home/tmtcmon/rubyvenv/App/2.1/gems/rack-1.6.4/lib/rack/server.rb:286:innew' from /home/tmtcmon/rubyvenv/App/2.1/gems/rack-1.6.4/lib/rack/handler/webrick.rb:31:in
start' 来自/home/tmtcmon/rubyvenv/App/2.1/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:80:instart' from /home/tmtcmon/rubyvenv/App/2.1/gems/railties-4.2.6/lib/rails/commands/server.rb:80:in
点击' 来自/home/tmtcmon/rubyvenv/App/2.1/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:75:inblock in server' from /home/tmtcmon/rubyvenv/App/2.1/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:75:in
run_command!' 来自/home/tmtcmon/rubyvenv/App/2.1/gems/railties-4.2.6/lib/rails/commands.rb:17:inserver' from /home/tmtcmon/rubyvenv/App/2.1/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:39:in
要求' 来自bin / rails:4:在`'
这个错误可能是因为我在共享主机上的事实,因此我无法在端口90上启动某些东西,因为它已经被使用了吗?
2-我无法在端口3000上启动<top (required)>'
from bin/rails:4:in
。(默认端口)。这次我可以启动我的服务器,但无法使用rails server
3-如果我在随机端口上启动http//:domain-name.com:3000
,(我尝试了30,000)服务器运行正常。问题是http://domain-name.com:30000看起来并不好看,我只想要http //:domain-name.com
所以,有了这三个问题,有三个问题:
1-即使我有共享主机,是否可以在端口90上启动我的服务器?如果是这样,你知道我做错了什么吗?
2-为什么我不能有效地在3000端口上启动? (这个问题确实不是问题,因为我更喜欢服务器在端口90上启动,但我很好奇。
3-这是一种在端口30,000 上重定向我的所有流量而无需http //:域名:30000在地址栏中显示的方法吗?我已设法使用.htacces执行此操作,用户可以通过键入http //:domain-name进行连接,但在地址栏中显示http://domain-name:30000 ...
提前致谢!
编辑:对不起,如果问题已经得到解答,但如果是这样的话,经过数小时的研究后我就找不到了......
答案 0 :(得分:2)
如果你不是root用户,你不能绑定到端口90或者任何小于1024的东西,可能还有其他人在端口3000上运行服务,你可以netstat -nat | grep 3000
查看是否有任何进程是听。