mlz*_*boy 85 ruby-on-rails ruby-on-rails-3
默认情况下,
rails s #running on 3000 port
Run Code Online (Sandbox Code Playgroud)
现在我想在端口80上运行它.所以我试过:
sudo rails -s -p80
Run Code Online (Sandbox Code Playgroud)
但它引发了一个错误:
mlzboy@mlzboy-MacBook ~/my/b2c2 $ sudo rails s -p80
sudo: rails: command not found
Run Code Online (Sandbox Code Playgroud)
我用rvm来安装ruby和rails.似乎rvm是用户指定的.它无法在root中找到rails吗?
我也试过下面的代码:
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
Run Code Online (Sandbox Code Playgroud)
iai*_*ain 208
rvmsudo rails server -p 80
Run Code Online (Sandbox Code Playgroud)
Din*_*ini 22
只需使用以下命令将请求从端口80转发到3000:
sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3000
Run Code Online (Sandbox Code Playgroud)
另一种选择是:
rvmsudo rails server -p 80
Run Code Online (Sandbox Code Playgroud)
但请记住从Apache或其他正常使用此端口的服务中释放此端口.另外,我不确定是否给予RVM sudo权限可能有任何安全问题?
打算建议
rails=`which rails` ; sudo $rails server -p 80
Run Code Online (Sandbox Code Playgroud)
但仍然试图使用全球宝石,而不是从RVM项目宝石.所以...
rails s作为非root用户在端口3000上运行打开一个新终端并......
me=``whoami``; sudo ssh -L 80:127.0.0.1:3000 -l $me -N localhost
(顺便说一下,在上面的行中将副本''减少为单数',我无法弄清楚它是如何在这里正确逃脱的.)
第一个Password:是您的root用户,第二个是任何whoami返回的密码.
虽然你可能想安装Phusion Passenger并在你当地的Apache下进行设置.除非你只是试图快速演示一些东西,当然这不是一个永久的解决方案.
| 归档时间: |
|
| 查看次数: |
49395 次 |
| 最近记录: |