Все что не подходит под навигацию, то сюда. Со времен будут добавляться новые категории и разделы. Чем больше будет разных обсуждений тематических по отрасли.
  • Дата создания
    17 марта 2019
  • Топиков
    350
  • Ограничение на постинг
    0.000
  • Категория:
    Оффтопик

Хватит ли 1 Гбайт RAM для nginx + redmine (passenger) + mysql + php + git + svn?

Уже года 3-4 пользуюсь шаред-хостингом за 10$/месяц с 512 Мбайт RAM где все перечисленное вполне неплохо уживается (правда есть забавная особенность — процессы php и mysql не входят в это ограничение), но вот для redmine всего два воркера (каждый съедает до 200 Мбайт :() маловато. Хотелось бы больше.

1) Поэтому задумался о переходе на VDS (за те же 10$/месяц, но уже 1 Гбайт RAM), но т.к. раньше им не пользовался, возник закономерный вопрос: а хватит ли указанного объема RAM и будет ли оно работать быстрее? Или, возможно, стоит просто доплатить хостеру еще 7$ за дополнительные 512 Мбайт RAM?

Из того что должно быть:

* nginx

* redmine (сейчас используется passenger, скорее всего так и останется)

* git
Читать дальше

Куда и как правильно положить свои скрипты и как их лучще хранить?

Не корысти ради, а токмо волею пославшей мя супруги заказчиков, не имеющих денег на админов, вынужден не только разработкой заниматься, но и администрированием vds под их проекты, над которыми работаю. использую Ubuntu Server. Есть несколько скриптов на bash/python/php для сервера (создание виртхостов nginx+php-fpm и пользователей для них, бэкапы, анализ логов и прочие мелочи). некоторые скрипты должны запускаться от рута (через sudo), некоторые от текущего пользователя (каждый виртхост — свой пользователь и группа). Как это всё организовать, желательно с каким-то центральным репозиторием (известным, бесплатным), с которого можно было бы разворачивать привычное окружение на новом сервере, даже если старый и личный десктоп оказались недоступны?

Как мне видится: скрипты разрабатываются локально под контролем git или hg (исходники хостятся на github или bitbacket), потом «ручками» (условно тоже каким-нибудь скриптом, возможно хуком на vcs) формируются deb-пакеты (по сути из одного файла), заливаются на launchpad (вроде единственный популярный бесплатный хостинг, на котором можно deb репозиторий без проблем поднять), адрес репа добавляется в source-list, и потом через apt-get скрипты ставятся в /usr/local/bin/ (чтобы сразу через path были доступны), при необходимости создаются каталоги в /usr/local/{lib,share,etc}. Получаю что на любой машине (с Ubuntu точно, с другими Debian-like вероятно, а остальные особо не интересуют), могу развернуть привычное окружение. Недостаток — пакеты, а в случае github и исходники, доступны в паблике (и над ними могут все ржать :)

Или я себе слишком жизнь усложняю и обычно это всё проще решается? или отдельные замечания к моему сценарию есть? Может без local надо обходиться, раз через apt ставлю? Может ещё что?

Где поискать красивые конфиги nginx или как сделать красивым мой?

Многоуважаемые, как решить задачи логирования и красивой организации конфигов nginx, когда адреса и с префиксом www/ftp/mysql… и без него хочется логировать в один файл в одной папке под заданный набор хостов?

upstream vserver_pool { server 100.100.100.100:80; } root /var/log/nginx/; access_log /var/log/nginx/$host-access.log; error_log /var/log/nginx/error.log; server { listen 80; server_name www.domain1.tld; return 301 domain1.tld$request_uri; root /var/log/nginx/$host/; access_log /var/log/nginx/$host/$host-access.log; }… server { listen 80; server_name www.domain100500.tld; return 301 domain100500.tld$request_uri; root /var/log/nginx/$host/; access_log /var/log/nginx/$host/$host-access.log; }

Проблема красивой организации конфигов всплывают, когда есть потребность к каждому хосту прибавить набор идентичных правил проксирования. 10 раз добавить идентичный кусок:
server { listen 80 default_server; location ~ /\.ht { deny all; } location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location / { proxy_pass vserver_pool; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_redirect off; proxy_buffering off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }

И 5 раз — не идентичный. Возникает проблема с иерархией. Я полагал, что частный случай конфига будет иметь приоритет, однако все, чего я добиваюсь — дублирование логов, в случае наличия префикса www в имени хоста.

программа как иерархия папок

Все слышали про иерархию наследования, вложенности контейнеров, но самой важной мне кажется иерархия областей видимости. Представим программу как иерархию директорий:
корень
-mainObject.myMainClass.object(тип: объект, размер: 1000 строк, кол-во элементов: 3)
--somepropertyname1.property(тип: свойство, размер ...)
--somepropertyname2.property
--somemethodname1.method
---anonimousif1.if(тип: условие, условие: ....)
----somename3.for
-----print1.command
------length.function
-------somevariablename.link(тип: ссылка, ссылка на: корень/mainObject...)
-----whyiusethis.comment
-----sendMassage1.command
------message5.messagetype1.message(назначение: ....)

Чтобы можно было ходить по таким «папкам», изменять, запускать, назначать права доступа.
Особенности: можно именовать языковые конструкции(for, while, if...), делать на них ссылки, программу можно написать с помощью пакетного файла.
На ум приходят: powershell, Erlang OTP, интерпретатор Python, спектрумовский BASIC48, классы в папках Java.

Может кто знает или слышал про такую или подобную систему.

Отказоустойчивый сервер, как ?

Последнее время Hetzner начинает частенько «шалить». Задумались над резервным сервером в другом дата центре.
Требуется, полный клон сервера находящегося у Hetzner, между ними необходима синхронизация в реальном времени, так же обязательно, как только падает сервер в Hetzner, резервный сервер все принимает на себя.
Может, кто сталкивался с данной проблемой, что посоветуете, есть ли полностью готовое решение и какие подводные камни могут возникнуть?

Асинхронный сервер: C или Python?

Здравствуйте, нам требуется сделать сервер для браузерной игры, рассчитанный на высокие нагрузки. Клиент у нас на Flash. Ожидаемый онлайн > 100к.
Сервер мы хотим сделать так, чтобы он эффективно справлялся со следующими задачами:
1) Асинхронно принимать запросы, сохранять данные в БД, отправлять ответы;
2) Данные могут поступать на сервер в большом кол-ве, точнее с большой частотой, возможно даже очень большой, поэтому возникает потребность в быстрой БД;
3) Сервер должен масштабироваться горизонтально.

Мы очень колеблемся относительно того, на чем его писать. С одной стороны быстрый, но тяжелый в написании «Cи», с другой стороны простой и удобный Python. Поскольку опыта с высоко нагруженными системами у нас мало, мы не можем с уверенностью для себя решить, как же поступить сейчас, чтобы не прогадать потом…

Поэтому мы хотели бы спросить помощи у хабралюдей, которые возможно имели подобный опыт. Мы бы хотели узнать, на каком языке нам лучше остановиться, какую лучше взять БД, воспользоваться ли каким-либо фреймворком? Мы очень боимся прогадать, а статьи в сети дают еще больше вопросов, нежели ответов.

Мы будем признательны любому совету или возможно даже личному опыту.
Заранее спасибо!

Статистика обращений с ip адресов к файлам на хостинге

Нужна статистика обращений ip к различным файлам на домене (на моем хостинге). Что-то вроде статистики «последние посещения» из cPanel, где можно отследить время обращений к конкретным страницам, ip, браузер, и пр…
Вот, только у хостинга нет cPanel, мне предложили установить Awstats для домена, но ищу способ попроще.

Посоветуйте linux-дистрибутив для домашнего сервера на слабой машине

Приветствуйте! Имеется машина со следующей конфигурацией:
Процессор celeron 2гГц ОЗУ 512 mb Два ethernet — интерфейса.
К сожалению, подробнее конфигурацию сейчас я сказать не могу.
Посоветуйте, пожалуйста, linux-дистрибутив для выполнения следующих задач:
Раздача интернета в локальную сеть Домашний веб-сервер Mysql-сервер Redis-сервер Кеширующий dns сервер FTP — сервер Небольшой сетевой файловый архив
Заранее благодарю за ответы!

Программная платформа для домашнего сервера?

Собственно сабж. Завтра приезжают запчастишки, хотелось бы сразу же собрать систему и установить что-нибудь исходя из следующих соображений:

1) Аппаратная часть: Atom D525/4Gb/2x2Tb HDD.

2) Задачи: NAS, торренто- и файлокачалка, сервер iTunes и возможно медиа-сервисы, удаленный доступ по rdp/ssh, раздача интернета на другие компьютеры. Также возможно придется поднять «рабочие» репозитории git, maven, СУБД postgres, ms sql. IIS и .NET инфраструктура могут понадобиться, но пока не актуальны.

3) Дополнительные условия: стабильная работа 24/7 с двумя одновременно запущенными торрент-клиентами (локальная сеть и интернет соответственно); совместимость с разными платформами без особо извращенных костылей (стационарник — винда, ноут — мак, коммуникатор — андроид, ибп от Eaton, самсунговский принтер); безопасность выше среднего (есть статический внешний интернетовский айпи); возможность научиться чему-то новому в сфере сетей и настройке операционных сетей (я сам — программист, но такие знания лишними не будут).

Дабы упаси Бог никто не посчитал, что эта тема создана для раздувания очередного холивара/флуда, приведу собственные соображения по данному поводу:

1) Можно установить винду 7 или 2008 R2. Множество вопросов отпадут сами собой, но учитывая необходимость ставить 64-х разрядную версию, предвижу много подводных камней. Вопрос с безопасностью также не однозначен — лицензионный Касперский на стационарник у меня есть, что поставить в качестве защиты сюда — без понятия. Ну и вообще, сервер на винде — как-то это не совсем кошерно (слова знакомых админов :) ).

2) Можно установить Ubuntu Server. Стоит на работе, часто «общаемся», но больше на уровне пользователя. Поэтому настройка системы может затянуться. Утонуть в гуглении манов не боюсь, но много времени тратить тоже не хочется. Хотя поковырять консоль я в принципе не против :).

3) FreeNAS. Множество функций из коробки, но чтоб допилить для своих требований придется парится еще больше чем с убунтой. Для быстрого старта — оптимальный вариант.

На всякий случай скачал все дистры из данного списка). Хотелось бы услышать мнения тех, у кого возникала подобная задача, и кто может поделится реальным опытом использования разных платформ. Thanks in advance.

Посоветуйте систему мониторинга?

Ситуация: есть сервер с HTTP+MySQL сервисами, есть отдельный VPS для мониторинга.
Задача: развернуть на VPSке мониторинг сервисов HTTP+MySQL, +статистические данные по серверу.
Задача максимум: При падении какого-то из сервисов (или всего сервиса) слать SMS администратору.
Пробовал Nagios, но интерфейс не впечатлил.
Статистику думаю замутить через MRTG/Cacti.

А вот чем делать мониторинг — вот это вопрос. Кто может что подсказать? Спасибо!