80 포트에서 레일 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이 사용자가 지정한 것 같습니다. 루트에서 레일을 찾을 수 없습니까?
또한 아래 코드를 시도했습니다.
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
또 다른 옵션은 다음과 같습니다.
rvmsudo rails server -p 80
그러나 Apache 또는이 포트를 정상적으로 사용하는 다른 서비스에서이 포트를 해제해야합니다. 또한 RVM에 sudo 권한을 부여하는 데 보안 문제가 있는지 확실하지 않습니까?
제안하려고했다
rails=`which rails` ; sudo $rails server -p 80
하지만 여전히 RVM의 프로젝트 gemset이 아닌 전역 gemset을 사용하려고합니다. 그래서...
- sshd가 Mac에서 실행 중인지 확인하십시오. (시스템 환경 설정 => 공유 => 원격 로그인 확인)
rails s
루트가 아닌 사용자로 포트 3000에서 실행 중인지 확인하십시오.새 터미널을 열고 ...
me=``whoami``; sudo ssh -L 80:127.0.0.1:3000 -l $me -N localhost
(BTW는 중복`를 위의 줄에서 단수로 줄입니다. 여기서 어떻게 적절하게 이스케이프하는지 알 수 없습니다.)
첫 번째 Password:
는 귀하의 root
사용자이고 두 번째는 whoami
반환 하는 사람의 비밀번호입니다 .
Phusion Passenger를 설치하고 로컬 Apache에서 설정하고 싶을 수도 있습니다. 당신이 무언가를 빠르게 시연하려고하는데 이것은 물론 영구적 인 해결책이 아니라면 말입니다.
RVM을 사용하고 있고 기본 설정을 수행 한 경우 sudo
.
다만:
mlzboy@mlzboy-MacBook ~/my/b2c2 $ rails server -p 80
그러나 80은 권한이있는 포트이므로 루트로 실행 해야 하며 RVM의 다중 사용자 설치 지침을 따라야합니다 .
포트 80에서 서버를 시작할 수 있습니다.
rails s -p 80
포트 80이 바인드되지 않는 경우 (다른 프로세스는 포트 80을 사용하지 않음).
참고 URL : https://stackoverflow.com/questions/4351844/how-to-run-rails-s-p80-on-80-port
'IT story' 카테고리의 다른 글
Python에서 확장자없이 파일 이름 가져 오기 (0) | 2020.09.17 |
---|---|
Linux-파일 이름의 공백 바꾸기 (0) | 2020.09.17 |
주어진 시간 내 크론 작업 및 임의 시간 (0) | 2020.09.17 |
"xcode-select -switch"를 설정 한 후 Xcode가 작동을 멈 춥니 다. (0) | 2020.09.17 |
SQL Server Reporting Services와 Crystal Reports 비교 (0) | 2020.09.17 |