当我使用cloud9 https://docs.c9.io/running_a_rails_app.html
的文档进行操作时最后,我写代码 rails s -p 3000 -b 0.0.0.0
然后错误显示:
/opt/rh/ruby193/root/usr/share/ruby/webrick/utils.rb:85:in `initialize': Permission denied - bind(2) (Errno::EACCES)
。。。。。。
Error: you may be using the wrong PORT & HOST for your server app
Cloud9对于rails,请使用:'rails s -p $ PORT -b $ IP'
对于Sinatra,请使用:ruby app.rb -p $ PORT -o $ IP'
无论我尝试ip和端口,错误都是错误。
答案 0 :(得分:1)
我对cloud9 IDE没有任何经验,但假设您可以访问您的环境......我会尝试通过以下方式解决此问题
确保您的环境变量正确
echo '$PORT' # should be '3000' per your question
echo '$IP' # should be '0.0.0.0' per your question
使用rvmsudo在端口80上运行您的Web服务器(端口80,因为您的iptables可能会发生什么 - 请参阅#2)
rvmsudo rails s -b 0.0.0.0
修改您的iptables以允许端口3000上的流量
sudo vim /etc/sysconfig/iptables
添加以下行:-A INPUT -m state --state NEW -m tcp -p tcp --dport 3000:7010 -j ACCEPT
更改webrick文件的用户,群组和权限(显然会更改您的'用户'和'群组'):
sudo chown user:group /opt/rh/ruby193/root/usr/share/ruby/webrick/*
sudo chmod 755 /opt/rh/ruby193/root/usr/share/ruby/webrick/*
完成后,您可能希望稍后将webrick文件的权限更改为更严格的内容。