The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Посоветуйте способ хранения конфигов"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Посоветуйте способ хранения конфигов"  –1 +/
Сообщение от universite email(ok) on 21-Авг-14, 02:19 
Имеется самопальный хостинг.
Конфиги nginx, apache и php-fpm генерируется на основе шаблонов и файла данных

$ cat domain.ip.list


# login domain    ipv4    ipv6    proxy ipv4    proxy ipv6    zz-nginx-php-zz|zz-nginx-apache-zz    yy-mail-yy
ynek    ynek.biz        5.11.11.11    2001:4000:1:1234::1    127.0.0.1    zz-nginx-apache-zz
ynek    frontend.ynek.biz    5.11.11.11    2001:4000:1:1234::1            zz-nginx-php-zz
...

Хочется по ключу login-domain всунуть еще десятка два параметров.

Поэтому встал вопрос смены файла данных на:
1) XML-конфиг
2) sqlite база
3) ваши варианты...

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Посоветуйте способ хранения конфигов"  +/
Сообщение от tsolodov email(ok) on 21-Авг-14, 15:55 
>[оверквотинг удален]
> yy-mail-yy
> ynek ynek.biz  5.11.11.11 2001:4000:1:1234::1 127.0.0.1 zz-nginx-apache-zz
> ynek frontend.ynek.biz 5.11.11.11 2001:4000:1:1234::1   zz-nginx-php-zz
> ...
>
> Хочется по ключу login-domain всунуть еще десятка два параметров.
> Поэтому встал вопрос смены файла данных на:
> 1) XML-конфиг
> 2) sqlite база
> 3) ваши варианты...

А чем не устраивает текущая установка?
Вообще писать в БД(лучше все таки mysql/postgress/MS) по мне более интереснее т.к.  к ней можно будет обращаться с разных мест и скрипты писать по мне проще используя данные из БД. А в postgres вообще очень развитый язык программирования и все можно построить на хранимых процедурах.(сам не юзал).+при вставке можно проверять корректность данных а в xml такое не прокатит наверное. Ну или как вариант сейчас писать в sqlite, переписать скрипты на mysql/postgres с него будет проще.


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Посоветуйте способ хранения конфигов"  +/
Сообщение от pavlinux (ok) on 25-Авг-14, 06:05 
> Хочется по ключу login-domain всунуть еще десятка два параметров.


CREATE TABLE IF NOT EXISTS `clients` (
  `login` varchar(255) NOT NULL default '',
  `domain` varchar(255) NOT NULL default '',
  `ipv4` varchar(255) NOT NULL default '',
  `ipv6` varchar(255) NOT NULL default '',
  `proxy_ipv4` varchar(255) NOT NULL default '',
  `proxy_ipv6` varchar(255) NOT NULL default '',
  `zz-nginx-php-zz` tinyint(1) NOT NULL default '0',
  `zz-nginx-apache-zz` tinyint(1) NOT NULL default '0',
  `yy-mail-yy` varchar(255) NOT NULL default '',
  KEY `login` (`login`)
) TYPE=MyISAM AUTO_INCREMENT=сам считай;


$ mysql -p -u odmin -D supirbasa -e 'INSERT INTO clients VALUES (ynek,ynek.biz,5.11.11.11,2001:4000:1:1234::1,127.0.0.1,,0,1,);'

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

Короча, планировать сначала надо, решений дох...я.

> 1) XML-конфиг

XML удобен для юзеров. Например цвет кнопак менять
> 2) sqlite база

эта хрень для работы с приложениями.
> 3) ваши варианты...

Голый текст:
ключ = значения до первого "\n"
ключ(аргумент) = значения до первого "\n"

и парсер на C и regexp :D

В последней профит: Аццкая скорость, непортабельность (с работы не выгонят).
MySQL для работы типа "наотибись и так полно дел".

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Посоветуйте способ хранения конфигов"  –1 +/
Сообщение от universite email(ok) on 23-Дек-14, 00:08 
> Имеется самопальный хостинг.
> Конфиги nginx, apache и php-fpm генерируется на основе шаблонов и файла данных
> $ cat domain.ip.list
>
 
> # login domain ipv4 ipv6 proxy ipv4 proxy ipv6 zz-nginx-php-zz|zz-nginx-apache-zz
> yy-mail-yy
> ynek ynek.biz  5.11.11.11 2001:4000:1:1234::1 127.0.0.1 zz-nginx-apache-zz
> ynek frontend.ynek.biz 5.11.11.11 2001:4000:1:1234::1   zz-nginx-php-zz
> ...
>

нашел интересный стиль - record-jar style http://www.catb.org/esr/writings/taoup/html/ch05s02.html#id2...


Planet: Mercury
Orbital-Radius: 57,910,000 km
Diameter: 4,880 km
Mass: 3.30e23 kg
%%
Planet: Venus
Orbital-Radius: 108,200,000 km
Diameter: 12,103.6 km
Mass: 4.869e24 kg
%%
Planet: Earth
Orbital-Radius: 149,600,000 km
Diameter: 12,756.3 km
Mass: 5.972e24 kg
Moons: Luna

Осталось написать парсинг значений по конкретному значению login...


%%
login: default
domain: default.com
ipv4:   10.10.10.10
ipv6:   2001:4000:1:1234::1
proxy ipv4:     127.0.0.1
proxy ipv6:     null
zz-nginx-php-zz:        yes
zz-apache-zz:   null
yy-mail-yy:     null
%%
...

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Посоветуйте способ хранения конфигов"  +/
Сообщение от fantom (ok) on 23-Дек-14, 15:12 
>[оверквотинг удален]
> yy-mail-yy
> ynek ynek.biz  5.11.11.11 2001:4000:1:1234::1 127.0.0.1 zz-nginx-apache-zz
> ynek frontend.ynek.biz 5.11.11.11 2001:4000:1:1234::1   zz-nginx-php-zz
> ...
>
> Хочется по ключу login-domain всунуть еще десятка два параметров.
> Поэтому встал вопрос смены файла данных на:
> 1) XML-конфиг
> 2) sqlite база
> 3) ваши варианты...

У вас де-факто стоит выбор типа базы данных,
SQL
xml

да хоть тот же ldap
Если хочется потенциальной масштабируемости - то sql или ldap,
Но это приведет к необходимости обслуживания еще одного сервиса.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру