search
top

Поздравляю с днем защитника Отечества и с выходом NIMP v1.0.0

nimp portable web server

Всех мужиков с праздником!

Ура товарищи Ура!!

Так получилось, что сегодняшний праздник совпал с новым релизом моей сборки рortable веб сервера . Кто не в курсе что это такое читаем тут, качаем тут или здесь )

Над данной сборкой была проделана огромная работа, начну пожалуй с самых значительных изменений:

1. Полностью избавился от использования XAMPP, все пересобрано из исходников.
2. Полностью изменена структура папок.
3. Естественно включены все стабильные версии используемого по.
4. Написал небольшую админ панель для запуска сервера.
5. Основной упор делал на портативность, теперь сервер может запускаться с любого носителя будь то флешка или диск,
6. Максимально старался уменьшить размер сборки
Запакованный - 12Мб
После распаковки - 87Мб

7. Сделал страничку на sourceforge.net, где вы всегда сможете скачать последнюю версию сервера.

Теперь по каждому пункту:

1) Старался сделать максимально удобную структуру сервера. Путем проб и ошибок получил такую структуру:

- (корневая папка сервера)
cgi-bin (директория для хранения сценариев CGI.)
– component (здесь находится все ПО и его компоненты)
—- (веб сервер )
—- doc (документация ко всему используемому ПО)
—- logs (логи , )
——
——
—- (сервер баз данных )
—- (веб сервер )
—- php
—- (веб-интерфейс для администрирования вместо phpmyadmin)
—- temp (временные файлы)
– htdocs (корневая директория сайта)
– NimpCP.exe (админ панель сервера)

2) В данную сборку вошли:

2.2.14
0.8.33
PHP 5.3.1
5.1.44
1.3.2

3) У сборки появилась Админ панель.  Пока возможности ограничены только запуском,рестартом и остановкой
всего комплекса.

2010-02-23-13h51_18

Планы:

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

Начало работы:

Качаем последнюю версию  есть 2 варинта .exe и .7z функциональных отличий между ними нет, только способ упаковки. Распаковуем, заходим в папку , запускаем файл NimpCP.exe и жмем кнопку “Start “, в браузере набираем localhost или 127.0.0.1 должна появится главная страница на которой вы узнаете о состоянии всех серверов и версии используемого ПО.

2010-02-23-13h53_33

После этого можете удалить все папки и файлы что находится папке htdocs и скопировать свои.
Администрирование осуществляется через , к нему можно подключится по адресу
http://127.0.0.1:8080//

Хост: localhost
Имя пользователя: root
Пароль: без пароля

2010-02-23-13h56_50

Более подробную документацию по можно почитать на офф сайте.

Приятной работы с :-) Жду ваших отзывов  и предложений.

Уважаемые пользователи если у вас по каким либо причинам, что либо не работает, или работает, но не так ка нужно Пожалуйста отправьте заархивированную папку logs на (сабака)privats.ru и отпишитесь в комментариях о возникшей проблеме.
Все заявки будет обязательно рассмотрены и приняты меры по устранению ошибок.
Если у вас есть какие либо предложения по улучшению данной сборки прошу все их отправлять (сабака)privats.ru. Спасибо за проявленный интерес.

Связанные записи

  • http://vidionabludenie.ru Геннадий

    С праздником !
    Скачал дистрибутив. Что-то не работает или у меня кривые руки?
    на 127.0.0.1 зашел только через порт 8080 .Статус gninx ошибка. В чем причина может настройки nginx покопать?
    Спасибо за работу!
    Геннадий

  • http://privats.ru/ Безумный Админ

    Если не сложно запакуете в rar всю папку logs и отправьте на
    nimp(сабака)privats.ru буду очень благодарен. Он должен работать так без всякой правки конфигов. Скорее всего порт 80 уже занят, может запущен Apache как сервис?

  • MechanisM

    Отличная сборочка!!
    пользовался предыдущей))
    надеюсь эта хорошенько встанет!!
    Действительно подарок!!
    Ибо на днях переустановил Windows и подумал что нужно что-то новое установить в качестве сервера.
    Надеюсь ColdFusion прикрутится нормально))
    а вообще насчет управления сервером советую обратить внимание на это: xs4all.nl/~broekroo/aetraymenu/ или вы в курсе но решили сделать свое??

  • http://privats.ru/ Безумный Админ

    Спасибо за ссылку, не знал о данном проекте. Думаю что в следующею сборку войдут две панели управления Aestan Tray Menu и моя, а потом смс голосованием :-) выберете с чем удобней работать.

  • MechanisM

    Уже все проверил.
    Все отлично работает!!!
    А насчет пожеланий, в следующих версиях очень хотелось бы видеть работающий sendmail ну или вообще чтобы php мог отправлять почту.
    Ну и то чего нигде не видел(в сборках) это поддержка ffmpeg flvtool2 итд.

  • http://privats.ru/ Безумный Админ

    Да про sendmail я забыл! Обязательно сделаю.

  • MechanisM

    Прикрутил ColdFusion, и теперь NimpCP.exe плохо стала работать..
    nginx приходится самостоятельно запускать.
    а вообще очень радует такой порядок в папочках и их расположении, и в конфигах)) а вот функционала Sqlbuddy нехватает =((
    Спасибо большое за сборочку!!

  • MechanisM

    И в пожелания еще хотелось бы добавить к NimpCP.exe функционал создания виртуалхостов и алиасов без копания конфигов чтобы сразу и nginx и apache настраивались.

  • http://privats.ru/ Безумный Админ

    Уже начал работу над новой панелью управления. Решил перейти с Delphie на С# и заодно подтянуть свои знания по C#, но пока туговато :-(. Все ваши пожелания постараюсь реализовать.

  • MechanisM

    а почему-то еще непоказываются страницы ошибок..
    или это я уже так криво чтот наковырял..
    а когда ждать новой версии?? если что я готов потестировать))

  • http://privats.ru/ Безумный Админ

    Про страницы с ошибками вы правы, и виной тому не вы, а моя забывчивость ))). К 8 марта )), постараюсь выложить новую сборку с дополнениями и исправлениями. Постараюсь и новую панель управления закончить, скорее всего только с основным функционалом. Над упрощенным добавлением алиасов и виртуальных хостов из панели работу только начал, но скорее всего не успею. хотя….

  • ant123

    1. Не работает /server-status
    2. Нету возможности автозапуска (Основная проблема)
    3. Что мешает включить в зборку php кеширование к примеру eAccelerator

  • http://privats.ru/ Безумный Админ

    Как раз в следующей сборке большинство указанных проблем будут устранены, а в частности будет включен в сборку eAccelerator, и возможность запускать(останавливать, …… вместе и по отдельности) все серверы как сервис, то есть будут стартовать при запуске винды. Насчет /server-status даже не задумывался, но если есть необходимо сделаю.

  • ant123

    Глюки при запуске: может не запуститься, ну и конечно же непонятные лишние 2 процесса от Nginx и httpd.

    По поводу админки лучшей будет не на cи а скорее всего на php подумайте может резонней на php её написать, также как у вас реалезована и статистика.

  • http://privats.ru/ Безумный Админ

    Дублирование процессов видел, в следующей версии уже исправил.
    Управление алиасами и виртуальными хостами и т.д. тоже подумываю сделать на php, но еще руки не дошли. Отчет по работе серверов уже в следующей версии будет продублирован в панели управления.

  • ant123

    Отлично!!! Ещё не помешает Zend Optimizer прикрутить для полного функционала на будующее. И сборку Lite без апача Nginx+php(fcgi)+mysql… Также на любителя можно и phpmyadmin поставить как вариант.

    Тагда альтернатив вашей сборке в инете не будет!

  • ant123

    И ещё в папочку htdocs можно положить “Sypex Dumper” мелочь а приятно…

  • http://privats.ru/ Безумный Админ

    Спасибо за идеи ). Планирую вместо Sqlbuddy вернуть phpmyadmin, все таки привычней, а Sypex Dumper действительно не помешает. Насчет lite сборки уже думал, но наоборот без Nginx. Nginx хорош, но в данный момент возникла проблема его запуска сервисом, встроенного решения нет, придется использовать сторонние программы для запуска ((, что меня очень расстраивает.

  • Константин

    У меня выдаёт ошибку 502 Bad Gateway,что не так делаю?

  • http://privats.ru/ Безумный Админ

    Константин вы задавали вопрос по нескольким IP. Попробуйте сделать так: в конфиге Apache(httpd.conf) найдите параметр Listen 127.0.0.1:8080 и допишите ниже ваши IP, например
    Listen 192.168.9.48:8080
    Listen 10.9.4.4:8080
    Далее в nginx(nginx.conf) ищите тот же параметр listen 80; и ниже снова дописываете свои ip
    listen 192.168.9.48:80;
    listen 10.9.4.4:80;
    Не перепутайте порты!! Apache 8080, Nginx 80. Должно заработать.

  • Константин

    Большое спасибо всё работает )
    Но вот иногда вылетает ошибка 500 , это может быть с чем связано?

  • Константин

    обновлять сервер не стал так как не понял как )))), но сборка суть , админу респект )

  • ant123

    Константин любая ошибка с чем-то связана, в данном случае (500-той ошибкой) вэб сервер сообщяет что не может что то выполнить на стороне скрипта. В любом случае нужно смотреть логи вашего вэб сервера…

  • Константин

    Вот часто встречающаяся ошибка
    2010/03/08 16:07:24 [alert] 2136#3620: 32 worker_connections are not enough
    2010/03/08 16:07:24 [alert] 2136#3620: 32 worker_connections are not enough
    2010/03/08 16:07:24 [alert] 2136#3620: 32 worker_connections are not enough
    2010/03/08 16:07:24 [alert] 2136#3620: 32 worker_connections are not enough
    2010/03/08 16:07:24 [alert] 2136#3620: 32 worker_connections are not enough
    2010/03/08 16:07:24 [alert] 2136#3620: 32 worker_connections are not enough
    2010/03/08 16:07:25 [alert] 2136#3620: 32 worker_connections are not enough
    2010/03/08 16:07:25 [alert] 2136#3620: 32 worker_connections are not enough
    2010/03/08 16:07:25 [alert] 2136#3620: 32 worker_connections are not enough
    2010/03/08 16:07:25 [alert] 2136#3620: 32 worker_connections are not enough
    2010/03/08 16:07:25 [alert] 2136#3620: 32 worker_connections are not enough
    2010/03/08 16:07:25 [alert] 2136#3620: 32 worker_connections are not enough
    2010/03/08 16:07:25 [alert] 2136#3620: 32 worker_connections are not enough

    Но я хз чё и как ))) подскажи ant123

  • Константин

    и простите за наглость ну сегодня уже 8 марта , а новой версии NIMP нет )))

  • http://privats.ru/ Безумный Админ

    Активно над ней работаю, но к сожалению сегодня не успею. Сами понимаете “Если водка мешает работе то ну ее … такую работу” ))). В ближайшие 2-3 дня обязательно выложу.

  • http://privats.ru/ Безумный Админ

    Насчет ошибки попробуйте увеличить параметр worker_connections в конфиге nginx до 10240, то есть будет

    events {
    worker_connections 10240;
    }

    не факт что заработает, но попробуйте

  • Константин

    во вроди помагло как вылезет отпишусь , ну чтобы по времени ))) а вот за девушет надо обезательно выпить и поздравить)
    Поздравляю всех женщин,девушек с мировым женским днём 8 марта

    Что Женщине нужно на самом-то деле,
    Мы более-менее, вроде бы, знаем!
    И все, что себе пожелать вы хотели б -
    Мы именно этого вам и желаем!
    Успехов - в работе! Погоды - приятной!
    Любви - чистой, нежной и неоднократной!
    Детей - разнополых! Пальто - по фигуре!
    Соседей в купе - что не пьют и не курят!
    Волос - шелковистых! Зубов - белоснежных!
    Мужей - состоятельных! Спонсоров - нежных!
    Любовников - умных! Супругов - в законе!
    Свекровей - живущих в другом регионе!
    Невесток - покорных! Тарелок - помытых!
    Мужей - не храпящих и на ночь побритых!
    Коллег - не зацикленных только на бабах!
    Врагов - слабосильных! Врагов - сильно слабых!
    Обедов - в постель! Впечатлений - полярных!
    И… этих… ну… в общем, того… регулярных!
    Чулок - без затяжек! Ни дня - без обновки!
    Мужей - в очень длительной командировке!
    Любви - обжигающей, как в сериале!
    По пять сериалов - на каждом канале!
    Романов - курортных! Порывов - безумных!
    Соседей и снизу и сверху - бесшумных!
    Поездок - не на огород, а на море!
    Пироженок - вкусных, но чтоб без калорий!
    Машин - иностранных, но руль чтобы слева!
    Духов - от Диора! Цветов - ежедневно!
    Намерений - разных, но лучше серьезных!
    Жилищ - пятикомнатных и пятизвездных!
    Заслуженный отпуск - на пляжах и волнах!
    Троллейбусов - вовремя и неполных!
    Билетов в автобусах - только счастливых!
    Друзей - не занудных! Подруг - не ревнивых!
    Мужей - состоятельных! (Как говорится,
    Раз сильно желаешь - не грех повториться!)
    Любви - чтобы воспламенялась, как порох!
    (Когда это важно, не жалко повторов)
    Стиральных машин, пылесосов, комбайнов -
    И функциональных, и стильных дизайнов.
    Страстей - изнурительных! Трудностей - кратких!
    Брильянтов - не меньше, чем 40 каратов!
    Сантехники - импортной! Родов - без боли!
    Проблем - никаких! Шифоньеров - без моли!
    И… кажется… что-то еще мы забыли…
    А-а-а, ясно!
    Любви!!!
    И сервантов - без пыли!!!
    И сбыться - мечте стать великой артисткой!!!
    И Женского Дня - в год хотя бы раз 300!!!
    Ну, вот и поздравили мы, как могли:
    Мужчины Вселенной - всех женщин Земли!

  • Константин

    кстати забыл ещё спросить а где поменять, ну чтобы определённое количество пользователей сидело в онлайн на сайте )) а то чёт в апатче не нашол

  • http://smarts.org.ua Acid

    Константин, скажите как обстоят дела с виртуальными хостами у етого сервера ?

  • Константин

    Да вот хз тестирую впервые

  • ant123

    В следующей сборке в админку можно включит управление пхп кешированием А пака это можно сделать следующим образом в папке htdocs создаём файл control.php c таким вот содержанием >

    Доступ к панельке правим в строке:

    /** config **/
    $user = “Логин”;
    $pw = “Пароль”;
    /** config **/

    /*****************************************************************/

    <?php

    if (!function_exists(’eaccelerator_info’)) {
    die(’eAccelerator isn\’t installed or isn\’t compiled with info support!’);
    }

    /** config **/
    $user = “Логин”;
    $pw = “Пароль”;
    /** /config **/

    /* {{{ auth */
    if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_USER']) ||
    $_SERVER['PHP_AUTH_USER'] != $user || $_SERVER['PHP_AUTH_PW'] != $pw) {
    header(’WWW-Authenticate: Basic realm=”eAccelerator control panel”‘);
    header(’HTTP/1.0 401 Unauthorized’);
    exit;
    }
    /* }}} */

    /* {{{ process any commands */
    $info = eaccelerator_info();
    if (isset($_POST['caching'])) {
    if ($info['cache']) {
    eaccelerator_caching(false);
    } else {
    eaccelerator_caching(true);
    }
    } else if (isset($_POST['optimizer']) && function_exists(’eaccelerator_optimizer’)) {
    if ($info['optimizer']) {
    eaccelerator_optimizer(false);
    } else {
    eaccelerator_optimizer(true);
    }
    } else if (isset($_POST['clear'])) {
    eaccelerator_clear();
    } else if (isset($_POST['clean'])) {
    eaccelerator_clean();
    } else if (isset($_POST['purge'])) {
    eaccelerator_purge();
    }
    $info = eaccelerator_info();
    if (!is_array($info)) {
    die(’An error occured getting eAccelerator information, this is caused if eAccelerator isn\’t initalised properly’);
    }
    /* }}} */

    function compare($x, $y)
    {
    global $sortby;

    if ( $x[$sortby] == $y[$sortby] )
    return 0;
    else if ( $x[$sortby] < $y[$sortby] )
    return -1;
    else
    return 1;
    }

    function revcompare($x, $y)
    {
    global $sortby;

    if ( $x[$sortby] == $y[$sortby] )
    return 0;
    else if ( $x[$sortby]

    <a href=”?sort=file&order=”>Filename 
    <a href=”?sort=mtime&order=”>MTime 
    <a href=”?sort=size&order=”>Size 
    <a href=”?sort=reloads&order=”>Reloads 
    <a href=”?sort=hits&order=”>Hits 

    <a href=”dasm.php?file=”>

    KB
    ()

    Name
    Created
    Size
    ttl

    KB

    eAccelerator control panel

    body {background-color: #ffffff; color: #000000;}
    body, td, th, h1, h2 {font-family: sans-serif;}
    pre {margin: 0px; font-family: monospace;}
    a:link {color: #000099; text-decoration: none}
    a:hover {text-decoration: underline;}
    table {border-collapse: collapse; width: 800px;}
    .center {text-align: center;}
    .center table { margin-left: auto; margin-right: auto; text-align: left;}
    .center th { text-align: center !important; }
    td, th { border: 1px solid #000000; font-size: 75%; vertical-align: baseline;}
    h1 {font-size: 150%;}
    h2 {font-size: 125%;}
    .p {text-align: left;}
    .e {background-color: #ccccff; font-weight: bold; color: #000000;}
    .h,th {background-color: #9999cc; font-weight: bold; color: #000000;}
    .v,td {background-color: #cccccc; color: #000000;}
    .vr{background-color: #cccccc; text-align: right; color: #000000; white-space: nowrap;}
    img {float: right; border: 0px;}
    hr {width: 600px; background-color: #cccccc; border: 0px; height: 1px; color: #000000;}
    input {width: 150px}
    h1 {width: 800px; border: 1px solid #000000; margin-left: auto; margin-right: auto; background-color: #9999cc;}

    eAccelerator control panel


    Information

    Caching enabled

    Optimizer enabled

    Memory usage
    %
    (MB/
    MB)

    Free memory
    MB

    Cached scripts

    Removed scripts

    Cached keys


    Actions

    Caching
    <input type=”submit” name=”caching” value=”" />

    Optimizer
    <input type=”submit” name=”optimizer” value=”" />

    Clear cache

    Clean cache

    Purge cache

    Cached scripts

    Removed scripts

    <?php
    if (function_exists(’eaccelerator_get’)) {
    echo “Cached keys”;
    create_key_table(eaccelerator_list_keys());
    }
    ?>

    <img src=”?=” alt=”eA logo” />
    Created by the eAccelerator team, http://privats.ru/d01827/aHR0cDovL2VhY2NlbGVyYXRvci5uZXQ=/
    eAccelerator [shm: sem:]
    PHP [ZE ]
    Using on

    <?php

    /*
    * Local variables:
    * tab-width: 4
    * c-basic-offset: 4
    * End:
    * vim600: noet sw=4 ts=4 fdm=marker
    * vim
    /************************************************************/

  • ant123

    Немного о безопастности:

    Пути к sypex_dumper, phpmyadmin и т.д Правим в конфиге апача > httpd.conf > Alias Так как названия и доступ к такиv важным дерикториям как управление базой данных по меньшей мере должен называться не стандартно… Или защищены, к примеру файлом .htaccess

    Также не помешает убрать phpinfo для этого в конфиговском фале php.ini Находим
    disable_functions и дописываем phpinfo. В принцыпе также можно закрыть многие функции

    Вот небольшой пример:

    disable_functions = dl,readfile,phpinfo,chdir,rmdir,shell_exec, passthru, system, highlight_file, show_source, ini_alter, disk_free_space, diskfreespace, leak, ssthru, popen, proc_nice, show_source, openlog, apache_get_modules, apache_get_version, apache_note, apache_setenv, ini_restore, symlink, escapeshellarg, escapeshellcmd, ini_alter, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, ssh2_exec, pcntl_exec, ini_restore, ioctl, exec

  • ant123

    Безумному админу респект за сборку

  • ant123

    Извиняюсь последние 3 комментария были к сборке 1.1.0 :)

  • http://privats.ru/ Безумный Админ

    Уже понял )) Идея насчет управление кешированием очень понравилась.

  • Константин

    Ребята подскажите наконечто как уменьшить количество в онлайн, чтобы могли посещать кпримеру только 50 человек одновременно а не бесконечно )

  • http://privats.ru/ Безумный Админ

    Ограничения сделать не так просто как казалось бы ( Почитай тут для Nginx для Apache думаю можно воспользоватся mod_bw

  • Константин

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

  • ant123

    Ещё могут быть проблеммы с .htaccess в конфиговском файле апача добавте:

    AccessFileName .htaccess

    Order allow,deny
    Deny from all
    Satisfy All

    И везде там где AllowOverride OFF Исправте на AllowOverride All

  • Константин

    спс щас папробую )

blog comments powered by Disqus
top