LAN에서 모바일 장치를 사용하여 로컬로 구축 된 Jekyll Server에 연결


89

jekyll serve대의 컴퓨터에서 사용한 후 WEBrick 서버가 설정되고이 localhost:4000특정 PC 에서 사이트에 액세스 할 수 있습니다 .

그러나 LAN의 다른 컴퓨터, 특히 모바일 장치에서이 웹 서버에 액세스하는 방법이 궁금합니다. 코드를 Github에 푸시하기 전에 모바일 장치에서 jekyll 사이트를 테스트하려고합니다.

답변:


188

jekyll serve --host=0.0.0.0명령 줄에서 Jekyll을 호출 할 때 시도하십시오 .

그러면 Jekyll의 HTTP 서버가 localhost.

당신은 또한 당신이 추가 할 수 있습니다 _config.ymlhost: 0.0.0.0. GitHub는 푸시 할 때이를 무시하므로 네트워크에서 작업에 공개적으로 액세스 할 수 있도록해도 괜찮다면 사용하는 것이 안전합니다.


--host=0.0.0.0Jekyll이 없으면 시작할 때 다음과 같이 출력됩니다.

$ 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).


3
첫 번째 부분은 표시된대로 작동했으며 (jekyll 2.5.3) 두 번째 부분은 테스트하지 않았습니다 (구성 파일의 항목에 대한 정보).
j4v1 2015 년

7
그런 다음 사이트에 액세스하려면 다른 컴퓨터 / 모바일 장치에서 호스팅을 수행하는 컴퓨터의 IP를 입력하십시오. (아마 192.168.1.5:4000과 같은 것). 그리고 여기에 당신의 IP를 찾는 방법이 있습니다 : stackoverflow.com/a/13322549/1400991
Ross R

Crouton 에서 Chromebook에서 서버를 실행하려는 경우 /sbin/iptables -P INPUT ACCEPT방화벽을 열기 위해 실행 해야합니다. 선택적으로 /etc/rc.localchroot를 입력 할 때 방화벽이 기본적으로 열리도록하려면 이 행을 추가 하십시오. 공식 지침 도 참조하십시오 .
Alex Yursha

1
하지만 모든 이미지를 충돌하는 것 {{site.url}} 그들은 HTTP로 연결되어있어 : 0.0.0.0 : 4000 주요 기계에 개방되지 않는다
GorvGoyl

1
이것은 질문에 완전히 대답하지 않습니다. 사용할 주소는 무엇입니까? localhost : 4000 또는 0.0.0.0:4000 또는 다른 무엇입니까?
Andy

-8

모바일 장치가 개발 시스템과 동일한 LAN에 연결되어 있다고 가정합니다.

  1. 개발 머신의 LAN IP 주소를 확인합니다. 일반적으로 다음과 같습니다. 192.168.0.XXX. 여기서 .XXX는 개발 머신 LAN IP의 고유 한 마지막 3 자리 숫자입니다.

  2. 모바일 장치의 웹 브라우저를 http://192.168.0.XXX:4000으로 지정합니다.

이것이 제가 Jekyll dev 용 노트북과 iPhone에서하는 방법입니다.


2
--host=0.0.0.0서버를 시작할 때 지정해야 합니까? (지금은 테스트 할 수 없습니다.)
Yi Zeng

@ user1177636, 아니요, 필요하지 않습니다 jekyll serve. 그러면 모든 로컬 장치 또는 컴퓨터에서 사용할 수있는 WebBrick 서버가 시작됩니다. BTW, 나는 당신이 Jekyll> = 1.0.0을 실행하고 있다고 가정하고, 명령은 이전 버전과 다릅니다. jekyll --server<= 0.12.1을 사용하는 경우 실행하십시오 .
JW

어떻게 든 --host = 0.0.0.0을 지정하지 않으면 작동하지 않았습니다. 문제를 해결하는 데 사용한 방화벽 설정은 무엇입니까?
skjoshi

2
나에게도 달리기 jekyll serve는 작동하지 않았습니다. 전화를받지 않으면 모바일 장치에서 서버에 액세스 할 수 없습니다 jekyll serve --host=0.0.0.0. 누구든지 이것에 대한 설명이 있습니까?
fraxture

2
@fraxture jekyll은 기본적으로 localhost (127.0.0.1)에서 수신하며 실행중인 시스템의 루프백 어댑터를 통해서만 액세스 할 수 있습니다. 0.0.0.0에 바인드하도록 지시함으로써 모든 인터페이스에 바인드하도록 지시하고 있으므로 (이더넷 / 무선 / 기타 ..) 인터페이스에 바인드하므로 lan 측을 통해서도 액세스 할 수 있습니다.
Doon
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.