Используя nginx и php, мне нужно создать несколько поддоменов на локальном хосте. Как я могу это сделать?
Я использую ubuntu 12.04
иphp5
с участиемnginx
как веб-сервер.
я пытался *.servername.com
в моем файле конфигурации. Но это не работает.
позвольте мне уточнить немного больше
скажем, пользователь зарегистрировался на моем сайте (example.com) и создает микросайт с любым именем по своему желанию (при условии, что имя должно быть доступно) скажем, его имя user1, и он хочет создать микросайт как user1.example.com, и это должно происходить динамически. Поскольку создание виртуального хоста снова и снова непрактично, пожалуйста, помогите
Учитывая, что суть вашего вопроса в основном связана с доступом к вновь созданным сайтам от пользователей вашего сайта, который предназначен для этого, вам действительно нужно будет создавать виртуальные хосты для каждого созданного сайта (в противном случае ваш веб-сервер не имел бы возможности определить, для какого сайта обрабатывать запросы).
Вы можете посмотреть на автоматическое создание хостов на основе шаблона и перезагрузку конфигурации 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' (или подобное) запускать сценарий, который вы создали, чтобы изменить указанную выше конфигурацию. файл для подходящего для них, скопировав его в theirdomain.yourdomain.com.conf, а затем запустив service nginx reload
.
Это всего лишь смутное представление о том, что вам нужно сделать - детали зависят от вас, в зависимости от вашей среды и требований.
Однако, как я уже сказал, вам следует подумать о последствиях реализации этого.