В настройках сети VirtualBox ваш компьютер CentOS «подключен» к вашей сети Wi-Fi со статическим IP-адресом.
У вашего ноутбука не будет фиксированного IP-адреса при подключении к WiFi; когда вы не подключены к WiFi, Windows не имеет сетевого подключения и не знает, как добраться до сервера CentOS. Когда вы подключаетесь к WiFi, ваш маршрутизатор дает Windows адрес в той же сети, после чего он может получить доступ к серверу CentOS.
Они работают на одном компьютере, но они раздельные и не могут автоматически общаться друг с другом. Исправление заключается в том, чтобы как-то изменить настройку сети, и то, как вы ее измените, зависит от того, что вы хотите сделать.
Самым простым способом может быть перейти к панели управления Windows «Сетевые подключения», затем найти свой проводной сетевой адаптер (при условии, что у вашего ноутбука он есть, а вы его не используете), перейти к свойствам и установить сетевой адрес TCP/IP: 192.168.1.101, маска подсети 255.255.255.0, без шлюза.
Это будет означать, что ваш компьютер всегда находится в той же сети, что и компьютер CentOS, и всегда может к нему подключиться, но при этом все равно должен разрешать подключение WiFi и быть вашим подключением к Интернету, когда вы его используете, и при этом позволить CentOS выходить на Интернет, когда Wi-Fi подключен, и все еще позволяет другим компьютерам подключаться к CentOS, и все же позволяет вашему компьютеру работать в других сетях Wi-Fi, но это помешает вашей проводной связи работать в таком количестве мест.
Есть и другие подходы, которые вы можете использовать, но все они влияют на один или несколько из этих вариантов использования, и для их исправления потребуется дополнительная работа.
[Редактировать: я игнорирую, где вы говорите "не могу получить доступ к localhost
". Это может быть важно. Вы должны точно описать, какой у вас тест - какой компьютер вы используете, какое программное обеспечение вы загружаете, где вы вводите localhost?]
Изменить: Новая предложенная конфигурация
Это предполагает наличие отдельной двухкомпьютерной сети, чтобы Windows могла общаться с CentOS.
В Windows, на изображении, которое вы показали здесь http://i.imgur.com/xiLaUst.jpg?1 - перейдите к свойствам сетевого адаптера VirtualBox Host-Only Network, в свойствах интернет-протокола TCP/IP v4 и установите IP-адрес 192.168.250.1 и маску подсети 255.255.255.0, оставьте другие настройки пустыми и не используйте их.
В настройках виртуальной машины 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
Перезагрузите сеть, чтобы убедиться, что она работает.
Он должен иметь сетевое подключение, подключенное к вашему Wi-Fi, как и оригинальное, которое работает только при подключении WiFi, но CentOS может использовать его для выхода в Интернет.