Не думайте о доменах. Вы смешали администрирование и программирование. Не нужно никакого dev сервера. Делайте работу на локальной dev машине, отправляйте изменения в удаленный репозиторий и всё. Можете вообще не устанавливать nginx/apache и т.д. на локальную dev машину, чтобы не забивать голову всякими доменами, а проект запускать под
встроенным PHP сервером например из корня проекта и тогда будете обращаться к вашим сервисам по адресу
localhost:port/service1/index.php
,
localhost:port/service2/index.php
и т.д.
Домены будете создавать уже на продакшене. В простейшем случае склонируете на продакшн машину удаленный репозиторий проекта и в конфигах nginx нужно будет написать что-то типа такого
server {
server_name company.com;
root /home/www/company/frontend;
...
}
server {
server_name admin.company.com;
root /home/www/company/backend;
...
}
server {
server_name service1.company.com;
root /home/www/company/service1;
...
}
server {
server_name service2.company.com;
root /home/www/company/service2;
...
}
Есть еще мнение, что каждый разраб должен разворачивать себе локальное окружение на своем компе, но хз...
Так и делают. Разработчикам не нужен никакой dev сервер. Они клонируют репозиторий, делают что-то локально у себя и отправляют изменения в удаленный репозиторий. Для тестеров и всяких менеджеров просто поднимают так называемый stage-сервер где они и тестируют приложение, но это тоже самое что и продакшн сервер, просто доступ к нему только внутри компании. Можно настроить continuous integration чтобы все изменения из репозитория в master ветке автоматически бы приводили к деплою приложения на stage и продакшн сервера. Примерно так в общих словах устроена веб разработка.