如何在80端口上运行rails s -p80?
默认,
rails s #running on 3000 port
现在我想在80端口上运行它。所以我尝试了:
sudo rails -s -p80
但它抛出了一个错误:
mlzboy@mlzboy-MacBook ~/my/b2c2 $ sudo rails s -p80 sudo: rails: command not found
我用rvm来安装ruby和rails。 看来rvm是用户指定的。 它不能在根中find轨道?
我也试过下面的代码:
mlzboy@mlzboy-MacBook ~/my/b2c2 $ which rails /home/mlzboy/.rvm/gems/ruby-1.9.2-p0/bin/rails mlzboy@mlzboy-MacBook ~/my/b2c2 $ sudo /home/mlzboy/.rvm/gems/ruby-1.9.2-p0/bin/rails s -p80
rvmsudo rails server -p 80
只需使用以下命令将端口80的请求转发到3000:
sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3000
另一个select是:
rvmsudo rails server -p 80
但是,请记住从Apache或其他正常使用此端口的服务中释放此端口。 另外,我不知道给RVM许可权可能有任何安全问题或不?
正在build议
rails=`which rails` ; sudo $rails server -p 80
但仍尝试使用全局gemset而不是RVM中的项目gemset。 所以…
- 确保sshd在Mac上运行。 (系统首选项=>共享=>远程login检查)
- 确保
rails s
在端口3000上作为非root用户运行 -
打开一个新的terminal,并…
me=``whoami``; sudo ssh -L 80:127.0.0.1:3000 -l $me -N localhost
(顺便说一句,把上面这行中的重复单词减less为单数),我不知道如何在这里正确地转义它。
第一个Password:
是你的root
用户,第二个是whoami
返回的密码。
虽然你可能想要安装Phusion Passenger并将其设置在你的本地Apache下。 除非你只是试图快速演示一些东西,这当然不是一个永久的解决scheme。
如果您正在使用RVM,并且执行了默认设置,那么您不应该使用sudo
。
只是:
mlzboy@mlzboy-MacBook ~/my/b2c2 $ rails server -p 80
但是80是一个特权端口,因此您需要以root身份运行,并且您将按照多用户安装 RVM的说明进行操作 。
您可以在端口80上启动服务器
rails s -p 80
如果端口80不绑定(其他进程不使用端口80)。