Как создать несколько поддоменов на локальном хосте?

Используя nginx и php, мне нужно создать несколько поддоменов на локальном хосте. Как я могу это сделать?

я использую ubuntu 12.04 а такжеphp5 сnginx в качестве веб-сервера.

я пытался *.servername.com в моем файле конфигурации. Но это не работает.

позвольте мне прояснить немного больше

скажем, что пользователь зарегистрировался на моем сайте (example.com) и создает микро-сайт на любое имя по своему желанию (при условии, что имя должно быть доступно), скажем, user1 - это его имя, и он хочет создать микро-сайт как user1.example. ком и это должно происходить динамически. Поскольку создание виртуального хоста снова и снова не практично, пожалуйста, помогите

1 ответ

Решение

Учитывая, что суть вашего вопроса в основном связана с доступом к вновь созданным сайтам от пользователей вашего сайта, который предназначен для этого, вам действительно нужно создавать виртуальные хосты для каждого созданного сайта (так как в противном случае ваш веб-сервер не сможет определить, какой сайт обрабатывать запросы).

Вы могли бы взглянуть на автоматическое создание vhosts на основе шаблона и перезагрузку конфигурации nginx, но я бы не рекомендовал этого - я обычно считаю, что этот уровень автоматизации нежелателен и что вы действительно должны позаботиться об отдельных конфигурациях сайта по отдельности. Пользовательская база.

Вам также необходимо создать соответствующую запись CNAME с подстановочными знаками в соответствии с этой статьей в вашем DNS.

Отредактируйте: согласно комментариям ниже, вот предложение относительно того, что вы могли бы потенциально реализовать.

Вы можете, например, иметь файл шаблона виртуального хоста, содержащий что-то похожее на следующее:

server {
        listen 80;
        listen 443 ssl;

        server_name  template.yourdomain.com;

        access_log      /var/log/nginx/template.yourdomain.com_access.log main;
        error_log       /var/log/nginx/template.yourdomain.com_error.log warn;

}

Который вы могли бы затем реплицировать, изменяя записи шаблона с поддоменом по выбору пользователя. Это зависит от остальной части вашей среды, но, например, у вас может быть текстовое поле, позволяющее им вводить желаемый поддомен, а затем действие 'submit' (или подобное) вызывает сценарий, который вы создали, чтобы изменить вышеуказанную конфигурацию. файл для подходящего для них, скопировать его в их domain.yourdomain.com.conf и затем запустить service nginx reload,

Это лишь смутное представление о том, что вам нужно делать - все зависит от вашей среды и требований.

Однако, как я уже сказал, вы должны рассмотреть последствия реализации этого.

Другие вопросы по тегам