Как запустить 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
5 ответов:
просто перешлите запрос с порта 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. Так...
- убедитесь, что sshd работает на вашем Mac. (Системные настройки => общий => удаленные логин проверено)
- убедится
rails sработает на порту 3000, как ваш не-root пользователь!--12-->откройте новый терминал и...
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