jekyll serve
1台のマシンで使用した後、WEBrickサーバーがセットアップされlocalhost:4000
、この特定のPCからサイトにアクセスできます。
しかし、特にモバイルデバイスの場合、LAN内の他のマシンからこのWebサーバーにアクセスする方法を知りたいのですが。コードをGithubにプッシュする前に、モバイルデバイスでjekyllサイトをテストしようとしています。
回答:
jekyll serve --host=0.0.0.0
コマンドラインでJekyllを呼び出すときに試してください。
これにより、JekyllのHTTPサーバーは、だけでなく、使用可能なすべてのIPにバインドされ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に接続されていると仮定します。
開発マシンのLANIPアドレスを確認します。通常は192.168.0.XXXのようなものです。ここで、.XXXは、開発マシンのLANIPの一意の下3桁です。
モバイルデバイスのWebブラウザを次の場所にポイントします:http://192.168.0.XXX:4000
それが私のラップトップとiPhoneでJekylldevのためにそれを行う方法です。
--host=0.0.0.0
サーバーの起動時に指定する必要がありますか?(現時点ではテストできません。)
jekyll serve
。ただ。これにより、ローカルデバイスまたはマシンで使用できるWebBrickサーバーが起動します。ところで、私はあなたがJekyll> = 1.0.0を実行していると仮定しています、コマンドは古いバージョンでは異なります。jekyll --server
<= 0.12.1を使用する場合に実行します。
jekyll serve
はうまくいきませんでした。電話をかけない限り、モバイルデバイスはサーバーにアクセスできませんでしたjekyll serve --host=0.0.0.0
。誰かがこれについて説明がありますか?