Как запустить rails s-p80 на 80 порту?



по умолчанию



 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 указан пользователем. Не может ли он найти рельсы в корне?



Я также пробовал ниже код:



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
509   5  

5 ответов:

rvmsudo rails server -p 80

просто перешлите запрос с порта 80 на 3000, используя следующую команду:

sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3000

другой вариант:

rvmsudo rails server -p 80

однако не забудьте освободить этот порт от Apache или других служб, которые обычно используют этот порт. Кроме того, я не уверен, что разрешение sudo на RVM может иметь какие-либо проблемы с безопасностью или нет?

собирался предложить

rails=`which rails` ; sudo $rails server -p 80

но это все еще пытается использовать глобальный gemset, а не проект gemset из RVM. Так...

  1. убедитесь, что sshd работает на вашем Mac. (Системные настройки => общий => удаленные логин проверено)
  2. убедится rails s работает на порту 3000, как ваш не-root пользователь!--12-->
  3. откройте новый терминал и...

    me=``whoami``; sudo ssh -L 80:127.0.0.1:3000 -l $me -N localhost

(кстати уменьшить дубликат " s единственные в строке выше, я не могу понять, как избежать его правильно здесь.)

первый Password: - это root пользователь, второй пароль для кого бы то ни было whoami возвращает.

хотя вы, вероятно, хотите установить Phusion Passenger и настроить его под вашим локальным Apache. Если вы просто не пытаетесь продемонстрировать что-то очень быстро, и это, конечно, не постоянное решение.

Если вы используете RVM, и вы сделали настройку по умолчанию, то вы не должны использовать sudo.

всего:

mlzboy@mlzboy-MacBook ~/my/b2c2 $ rails server -p 80

но 80-это привилегированный порт, так что вы нужно для запуска от имени root, и вам придется следовать инструкциям для многопользовательская установка РВМ.

вы можете запустить сервер на порту 80

rails s -p 80

если порт 80 не привязывается (другие процессы не используют порт 80).

Comments

    Ничего не найдено.