четверг, 25 ноября 2010 г.

WSN 3 coming soon...

Начал работу над WSN 3, буду отписывать потихоньку изменения. Если не будет никаких катастроф и прочих неучтенных ситуаций, то выход намечен на начало 2011 года.

Дерево разработки:
Ветка 1 - 1.8 (2007 - 2010) базируется на Agile Web Server (который в свою очередь основан на сервере линейки) - после выхода WSN 3 поддержка и разработка прекращается
Ветка 2 (2008 - 2010) - Тестовая, разрабатывалась в недрах коллектива на основе ветки 1, изменения вливались в ветку 1.8 - после выхода WSN 3 поддержка и разработка прекращается
Ветка 3 (разработка с ноября 2010) - Разрабатывается сейчас с нуля, предыдущие наработки 1 и 2 веток были учтены. Новая логика+модули дают возможность дальнейшей эффективной разработки сервера, переход на Apache 2.2, возможность разрешения некоторых конфликтных ситуаций, меньше ошибок, более нативно.

Изменения:
Портативный (пути прописаны от виртуального диска X:\) + название папки сервера (Web_Server_Northwind) можно менять без последствий.
Виртуальный диск X:\ (запуск/выход может быть отдельно, либо в комплекте со всем остальным)
Полностью переписан движок для запуска/выхода mysql, apache, filezilla server. Так же используется nircmd.exe.
Apache 2.2 (от http://www.apachelounge.com/ - VC9)
Php 5.3+ (VC9)
Mysql 5.1+ (возможно будет 5.5(если выйдет финал) или MariaDB (совместимо с Mysql), пока не определился)
Mysql\bin\my.cnf - skip-innodb (по умолчанию Innodb наверное будет выключен, кому надо включат(#skip-innodb), профит - оперативной памяти требуется в 2 раза меньше, чем при включенном плагине. По умолчанию - default-storage-engine=MYISAM)
Обычная папка сервера - X:\usr\www\
Виртуальные хосты (по умолчанию выключены) - X:\usr\www-vhosts\
WebDav http://localhost/webdav/ - X:\usr\webdav\ - в папке читаем readme.txt
Изменение папок и путей сервера
WSNCP, модули, утилиты и пр. программки теперь лежат в папке \etc
WSNCP немного переписан и доработан
WSNCP - часть функций будет работать только при включенном диске X:\
Модули для WSNCP (работают вместе и отдельно)
.htaccess в папке www - простая защита от XSS, mod_gzip.c, mod_expires.c, перенаправление с http на https (при включенном mod_ssl)
Адреса http://localhost/cgi/ и http://localhost/cgi-bin/ ведут в одну папку - X:\usr\cgi-bin\
SSL (по умолчанию выключен) - доступ по https

Исправлен баг 1 ветки WSN (не работал ssi в *.shtml)
Исправлен баг при выключении сервера, мог выдавать ошибку(обычно скрытую) при закрытии Filezilla server.
С большой долей вероятности исправлены баги которые проявляются как вылет/перезапуск апача при флэше, загрузке тяжелых php страниц, множественных одновременных коннектах и т.д.
Много мелких фиксов.
Тест php-apache-mysql на совместимость и вылеты.


--
VC9 обозначает, что программы скомпилированы в Visual Studio 2008 и содержат улучшения в быстродействии и стабильности.
Версии же VC6 скомпилированы компилятором Visual Studio 6.
Для запуска сервера требуется x86, XP SP3 и выше, рекомендуется Windows 7.
x64 проверять нет возможности, поэтому на свой страх и риск. Для использования php VC9 и apache VC9 необходимо поставить Microsoft 2008 C++ Runtime (x86) или Microsoft 2008 C++ Runtime (x64) - обычно уже имеются в Windows 7.


--
Предложения, пожелания, найденные баги с WSN 1.8.5.851 отправлять в эту тему.
Все предложения рассмотрим, баги починим.


 upd: 29.11.2010
WSN 3 - готовность 85 %

upd: 15.12.2010
WSN 3 - готовность 95%.

Сборка сейчас стабильна как никогда и работает заметно лучше и быстрее WSN 1.8.5.851
Разработка с нуля + модули себя оправдали на все 100%.

WSN это стабильный, портативный и полноценный(!) дистрибутив для хостинга проектов и отладки скриптов (кстати можно установить и сервисами, главное не забывать запускать виртуальный диск при старте Windows, но лучше добавить модуль start.exe (или restart.exe (встроена очистка логов apache, mysql, filezilla server и папки tmp) в папку автозагрузки). Потребление ресурсов расчитано на среднюю конфигурацию компьютера (т.е. мой почти 7 летний комп тянет и практически не замечает нагрузки, разве что только при наплыве посетителей (вин7, 4 пень 3ггц + 3 гб памяти (половина свободна точно)).
В целях уменьшения размера дистрибутива были удалены только библиотеки перла, а так же .lib, .exp и подобные файлы.
Для полноценной установки и работы приложений требуются административные права.


Несмотря на скорый выпуск WSN 3, новые идеи, предложения/пожелания и особенно сообщения об ошибках/недоработках в версии 1.8.5.851(на мой взгляд все ошибки/недоработки уже исправлены в 3 ветке, но мало ли, может чего и упустил) по прежнему принимаются.