Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
vp-webdev
6 лет назад

Быстрое конфигурирование веб-сервера с помощью Python


В прошлой статьей мы научились читать файлы и записывать в них. Теперь, на основе этих знаний, начнём реализовывать автоконфигуратор для серверов Nginx, Apache на Python.

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

Для примера я создал простейший конфиг для nginx:

server{
    listen 80;
    server_name %domain%;

    root /var/www/%domain%;
}

Где %domain% - переменная которую будем заменять.

Как всегда, откроем файл, запишем содержимое в переменную и закроем его:

    f = open('nginx.txt', 'r')
    data = f.read()
    f.close()

Получим необходимые данные от пользователя и запишем их в переменную:

input = input('Введите домен сайта: ')

Далее заменим переменную на полученные данные. Для этого воспользуемся функцией replace

data = data.replace('%domain%', input)

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

Далее создаём файл, запишем в него данные и закроем:

    new_file = open(input+'.conf', 'w')
    new_file.write(data)
    new_file.close()

Демонстрация:

Imgur

Полный листинг

В следующей статьей мы сделаем конфигуратор наш более гибким, дадим возможность выбора: Nginx или Apache.

Спасибо за внимание!

Материал подготовлен автором @zheev

2
197.564 GOLOS
На Golos с August 2017
Комментарии (1)
Сортировать по:
Сначала старые