답변 주셔서 감사합니다!!
터미널에서 ctrl+c를 눌러 프로세스를 중단하고, bundle exec rails server --binding=0.0.0.0 명령어로 다시 시작해 보았지만 여전히 작동하지 않는 것 같습니다.
프로세스를 올바르게 중단한 후 다시 시작하는 방법을 알고 싶습니다. 터미널을 이미 닫았음에도 불구하고 여전히 포럼에 접근할 수 있기 때문입니다. 또한 도커 컨테이너를 통해 빌드하지 않아 ./launcher stop app 명령을 사용할 수 있는 launcher가 없습니다. kill $(cat tmp/pids/server.pid) 명령도 시도해 보았지만 cat: tmp/pids/server.pid No such file or directory라는 응답이 돌아왔습니다.
(면책 조항: 저는 이렇게 rails를 직접 실행해 본 적이 없습니다 - 대신 Docker 기반 개발 환경을 사용합니다)
정말 확실합니까? 이전에 브라우저가 discourse 애플리케이션을 캐시해 두어서 서버 프로세스가 실행되지 않는 상태에서도 주제 간 탐색이 가능했던 적이 있었습니다. 대신 curl을 사용하여 테스트해 보시는 것이 좋습니다:
curl http://localhost:3000
또한 ruby 프로세스가 실행 중인지 확인해 볼 수도 있습니다:
ps -ef | grep ruby
netstat 도구를 사용하면 어떤 프로세스가 어떤 포트에서 리스닝하고 있는지 알 수 있습니다. 예를 들어, 다음과 같은 단순한 python 웹 서버를 실행하면:
$ python3 -m http.server 8099
Serving HTTP on 0.0.0.0 port 8099 (http://0.0.0.0:8099/) ...
그런 다음 netstat를 실행하면:
$ netstat -tlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:8099 0.0.0.0:* LISTEN 2511478/python3
...
이것은 PID 2511478이 모든 인터페이스(0.0.0.0은 "모든 인터페이스"를 의미)의 포트 8099에서 리스닝하고 있음을 알려줍니다. 해당 프로세스에 대해 조금 더 정보를 얻으려면:
$ ps -fp 2511478
UID PID PPID C STIME TTY TIME CMD
simon 2511478 1250783 0 09:53 pts/11 00:00:00 python3 -m http.server 8099