У меня есть симпатичный маленький Сервер с Ubuntu 12.04 LTS с Apache, управляемым plesk
. Теперь я установил nginx
для моего поддоменов Gitlab.
Но теперь nginx хочет все контролировать. Как я могу настроить сервер nginx для предоставления только одного субдомена: git.example.com
Вы не можете запустить их обоих на одном и том же порту. По умолчанию оба захотят победить 0.0.0.0:80
, а это не включено. Два простых варианта:
Установите nginx на другом порту (например, 8080) и используйте директиву Apache ProxyPass, чтобы перенести один виртуальный хост обратно на nginx:
<VirtualHost *:80>
ServerName git.example.com
DocumentRoot /path/to/myapp/public
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
</VirtualHost>
На самом деле это довольно часто - просто наоборот. Большинство людей ставят nginx на необработанный порт 80 и позволяют ему обрабатывать ввод-вывод необработанных файлов и возвращают прокси обратно в Apache, если им нужно что-то вроде mod_php. Вы могли бы сделать это, но это, скорее всего, больше работы.
Есть - как всегда - сто тысяч миллионов различных способов делать подобные вещи. Это две основные из них.