私はこの問題を 3 か月間 (断続的に) 解決しようとしてきましたが、まだ解決できず、なぜこの問題が発生するのかさえ理解できません。
シナリオ:
{HP 32bit, Windows 7}
私のラップトップにはVirtualBoxがインストールされています
この VB では、CentOs 6.5 最小限、Nginx、PHP-FPM を問題なくインストールしました。
つまり、すべてがうまく機能しています。
問題
問題は、locahost
インターネットに接続している場合にのみアクセスできることです。
インターネットに接続しているときは、http://192.168.1.100/
すべてが機能し、ファイルをindex.html
問題なく表示できますが、オフラインになると、インターネットに接続せずに Google にアクセスしようとしているかのように、何も表示されなくなります。
これは私のVbox設定のスクリーンショットです:
また、ここに設定があります/etc/sysconfig/network-scripts/ifcfg-eth0
:
私は以下のことを何度も行いました。
iptables
無効/有効で試しました。
ホストのみ、NATブリッジアダプタで試しました。
静的IP、DHCPで試しました。
ネットワークを数回更新しました。
答えはどこかにあると確信しています。まだ完璧なセットアップ構成ではありませんが、いろいろと混ぜ合わせているため、まだうまく動作しません。
答え1
VirtualBox のネットワーク設定では、静的 IP アドレスを使用して CentOS マシンを WiFi ネットワークに「ブリッジ」します。
ノートパソコンの WiFi 接続では固定 IP アドレスは割り当てられません。WiFi に接続していないと、Windows はネットワーク接続を実行できず、CentOS サーバーにアクセスする方法がわかりません。WiFi に接続すると、ルーターが Windows に同じネットワーク上のアドレスを提供し、Windows は CentOS サーバーにアクセスできるようになります。
これらは同じコンピューター上で実行されていますが、別々であり、自動的に相互に通信することはできません。修正するには、何らかの方法でネットワーク設定を変更する必要がありますが、変更方法は実行したい内容によって異なります。
最も簡単な方法は、Windowsのコントロールパネルからネットワーク接続を開き、有線ネットワーク アダプター (ラップトップに搭載されているが使用していないと仮定) を選択し、プロパティに移動して、TCP/IP ネットワーク アドレスを 192.168.1.101、サブネット マスクを 255.255.255.0、ゲートウェイなしに設定します。
これにより、コンピュータが常に CentOS マシンと同じネットワーク上にあり、いつでもアクセスできる状態になりますが、使用時には WiFi 接続が引き継がれてインターネット接続となり、WiFi が接続されているときには CentOS がインターネットに接続でき、他のコンピュータが CentOS に接続でき、コンピュータが他の WiFi ネットワークで動作できるようになります。ただし、多くの場所では有線接続が機能しなくなります。
他にもアプローチはありますが、それらはすべて 1 つ以上のユース ケースに影響し、その後修正するにはさらに作業が必要になります。
[編集: 「アクセスできないlocalhost
」という部分は無視します。これは重要かもしれません。テストの内容を正確に説明する必要があります。使用しているコンピューター、ロードしているソフトウェア、localhost をどこに入力しているかなどです。]
編集: 新しい推奨構成
これには、Windows が CentOS と通信するための専用の 2 台のコンピューター ネットワークが必要です。
Windowsでは、ここで示した画像のようにhttps://i.stack.imgur.com/a3CIZ.jpg- VirtualBox ホストオンリー ネットワーク アダプターのプロパティに移動し、インターネット プロトコル TCP/IP v4 プロパティで、IP アドレスを 192.168.250.1、サブネット マスクを 255.255.255.0 に設定し、他の設定は空のままにして、[OK] をクリックします。
CentOS 仮想マシンの設定 (電源オフの状態) で、ネットワーク設定に移動し、アダプタ 1 を「ホスト専用アダプタ」に設定します。
CentOS マシンの電源を入れます。編集して
/etc/sysconfig/network-scripts/ifcfg-eth0
、IP アドレス 192.168.250.2、サブネット マスク 255.255.255.0 を設定します。ゲートウェイも DNS サーバーもありません。ネットワークを再起動するか、CentOS マシンを再起動します。
これで、192.168.250.1 と 192.168.250.2 の間で通信するための新しい個別のネットワークができました。NGinX を実行して 192.168.250.2 アドレスをリッスンし、http://192.168.250.2/
Windows でアクセスしてアクセスします。
これは WiFi の有無にかかわらず動作するはずです。唯一の問題は、CentOS がアップデートやインストールを行うためにインターネットに接続できないことです。これが問題である場合は、次の手順に従ってください。
CentOS マシンの電源をオフにし、ネットワークの VirtualBox 設定に移動します。アダプタ 2 タブを選択し、有効にして、ブリッジ アダプタに設定します。
CentOS マシンの電源を入れ、eth1 インターフェイスを構成します。これを構成して、IP アドレスを動的に取得するか、DHCP で取得します。使用しています
system-config-network-tui
が、インストールする必要がありました。コピーできる可能性があります。/etc/sysconfig/network-scripts/ifcfg-eth0 to /etc/sysconfig/network-scripts/ifcfg-eth1
ネットワークを再起動して、起動することを確認します。
元のネットワーク接続と同様に、WiFi に接続された場合にのみ機能する WiFi に接続されたネットワーク接続が必要ですが、CentOS はそれを使用してインターネットにアクセスできます。