Как создать несколько поддоменов на локальном хосте?
Используя 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
,
Это лишь смутное представление о том, что вам нужно делать - все зависит от вашей среды и требований.
Однако, как я уже сказал, вы должны рассмотреть последствия реализации этого.