Назад | Перейти на главную страницу

CentOS и несколько разработчиков веб-сайтов на Python

Мне нужно иметь возможность поддерживать несколько (~ 100) разных пользователей с их собственными веб-сайтами на веб-сервере на базе CentOS. Они должны иметь возможность использовать Python (v2 и v3) вместе с Django. Я понимаю, что для apache требуется перезапуск systemctl, который можно организовать с помощью задания cron. Однако я понятия не имею о других советах, приемах и требованиях со стороны администратора. Есть ли веб-сайт, который я буду использовать при настройке сервера? Я понимаю, что каждый из них может запускать свои собственные веб-серверы (simpleHTTPserver), но мне это кажется очень запутанным.

Буду благодарен за любую помощь по вопросу.

Вы должны запустить их приложения (Django, Flask, любой питонический) с помощью обратного прокси-сервера с использованием Nginx.

Затем установите в системный python только пакеты easy_install, setuptools и virtualenv. Все разработчики должны использовать свои собственные виртуальные среды для установки пакетов.

Я бы предложил использовать VirtualHosts и автоматизировать настройку

Вы можете настроить это на это /var/www/<sname> автоматически загрузится для любого <sname>.domain.com

Пример: собираюсь s1.domain.com и s1.domain.com автоматически загрузится /var/www/s1 и /var/www/s2соответственно.

Nginx

В server_name директива просто используется для сопоставления запроса с сайтом; вы можете использовать регулярное выражение:

server {
    listen 80;
    server_name ~^(www\.)?(?<sname>.+?).domain.com$;
    root /var/www/$sname
    ...
}

Ты можешь использовать $sname в остальной части конфигурации

Apache

Это немного сложно, но можно

LoadModule vhost_alias_module modules/mod_vhost_alias.so
UseCanonicalName Off
    <VirtualHost *:80>
    ServerName vhosts.fqdn
    ServerAlias *.example.com
    VirtualDocumentRoot /var/www/%1+
</VirtualHost>

Если вы хотите использовать HTTPS, я уверен, что есть API для создания сертификатов Letsencrypt.