한 jekyll serve
대의 컴퓨터에서 사용한 후 WEBrick 서버가 설정되고이 localhost:4000
특정 PC 에서 사이트에 액세스 할 수 있습니다 .
그러나 LAN의 다른 컴퓨터, 특히 모바일 장치에서이 웹 서버에 액세스하는 방법이 궁금합니다. 코드를 Github에 푸시하기 전에 모바일 장치에서 jekyll 사이트를 테스트하려고합니다.
답변:
jekyll serve --host=0.0.0.0
명령 줄에서 Jekyll을 호출 할 때 시도하십시오 .
그러면 Jekyll의 HTTP 서버가 localhost
.
당신은 또한 당신이 추가 할 수 있습니다 _config.yml
로 host: 0.0.0.0
. GitHub는 푸시 할 때이를 무시하므로 네트워크에서 작업에 공개적으로 액세스 할 수 있도록해도 괜찮다면 사용하는 것이 안전합니다.
--host=0.0.0.0
Jekyll이 없으면 시작할 때 다음과 같이 출력됩니다.
$ jekyll serve
[...]
Server address: http://127.0.0.1:4000/
Server running... press ctrl-c to stop.
그러나 --host=0.0.0.0
(또는 host: 0.0.0.0
에서 _config.yml
) 0.0.0.0
루프백 인터페이스 (로 표시 127.0.0.1
) 에서 수신 대기하는 것이 아니라 모든 인터페이스 (로 표시 )에서 수신하고 있음을 알 수 있습니다.
$ jekyll serve --host=0.0.0.0
[...]
Server address: http://0.0.0.0:4000/
Server running... press ctrl-c to stop.
여전히 서버에 액세스 할 수없는 경우 방화벽이 서버를 중지했을 수 있습니다. 일시적으로 방화벽을 비활성화하거나 포트 4000에 대한 포트 전달 규칙을 추가합니다.
Jekyll이 모든 인터페이스에서 적절하게 수신하면 LAN IP 주소를 사용하여 모바일 장치에서 액세스 할 수 있습니다 ( 운영 체제에 따라 ifconfig
또는 유사 항목에서 검색 ipconfig
).
/sbin/iptables -P INPUT ACCEPT
방화벽을 열기 위해 실행 해야합니다. 선택적으로 /etc/rc.local
chroot를 입력 할 때 방화벽이 기본적으로 열리도록하려면 이 행을 추가 하십시오. 공식 지침 도 참조하십시오 .
모바일 장치가 개발 시스템과 동일한 LAN에 연결되어 있다고 가정합니다.
개발 머신의 LAN IP 주소를 확인합니다. 일반적으로 다음과 같습니다. 192.168.0.XXX. 여기서 .XXX는 개발 머신 LAN IP의 고유 한 마지막 3 자리 숫자입니다.
모바일 장치의 웹 브라우저를 http://192.168.0.XXX:4000으로 지정합니다.
이것이 제가 Jekyll dev 용 노트북과 iPhone에서하는 방법입니다.
--host=0.0.0.0
서버를 시작할 때 지정해야 합니까? (지금은 테스트 할 수 없습니다.)
jekyll serve
. 그러면 모든 로컬 장치 또는 컴퓨터에서 사용할 수있는 WebBrick 서버가 시작됩니다. BTW, 나는 당신이 Jekyll> = 1.0.0을 실행하고 있다고 가정하고, 명령은 이전 버전과 다릅니다. jekyll --server
<= 0.12.1을 사용하는 경우 실행하십시오 .
jekyll serve
는 작동하지 않았습니다. 전화를받지 않으면 모바일 장치에서 서버에 액세스 할 수 없습니다 jekyll serve --host=0.0.0.0
. 누구든지 이것에 대한 설명이 있습니까?