Случилось то, что я так давно хотел: собственный дизайн у блога(Спасибо ). Текущий дизайн является портом отличной темы . Изначально на блоге стояла версия 1.0 этой отличной темы, модифицированная мной, после перехода на новую CMS - Maxsite CMS, шаблон был сменён на шаблон идущий в комплекте с этой темой. Сейчас шаблон имеет весьма Веб-два-нольный внешний вид, с замечательными закруглёнными углами(не для IE :) Под это дело и для выхода из под бана Google я снял все рекламные ссылки, теперь приходится вывешивать жутко тормозной блок рекламы от Begun(иногда загрузка страницы стопорится вплоть до 8-10 секунд, хоть у них и nginx). Так что если кому не лень - отключите AdBlock и покликайте там :) Если есть какая то работа по настройке серверов - предлагайте :) В сайдбар добавил ссылку на профиль в juick.
Плагин highlight. На основе highlight.js Лицензия GNU GPL. Все вопросы, предложения по улучшению функциональности можете присылать на menkovich@gmail.com. Ссылка на плагин: http://librarian.spb.ru/plugins/highlight.zip
В общем вчера с относительным успехом закрыл сессию. Очень стыдно конечно, но, в основном, тройки. Будь я преподавателем, я бы себя точно не пропустил дальше. Стыдно скорее не за оценки, а за то, что с такими хорошими преподавателями которые прекрасно дают материал, прекрасно его спрашивают(привет, Александр Иванович), с которыми на экзамене было очень интересно беседовать, получить тройку... В общем уроком мне это будет. Ничего в этом семестре у нас тоже будет весело, одна физика твёрдого тела чего стоит(тоже с Соколовым). Сейчас с коллегой будем разрабатывать(а заодно и попрактикуемся) на maxsite cms портал для студентов, арендуем под это дело VDSку. Строить будем на базе Debian, как обычно в качестве вебсерверов любимые nginx и apache, nginx будет использоваться в качестве прокси и будет разруливать ситуацию, если придётся ещё арендовать VDS-ок(Хотя тут уже можно и взрослый сервер взять :) Читаю тут их wiki и документацию по jquery(заодно гляжу и на реализации проектов с их использованием). В общем могу определённо сказать, что это то, что мне так нравится(например в nginx вообще и в linux в частности): предельная быстрота, низкая ресурсоёмкость, простейшая для понимания работа и синтаксис и простота реализации нужного. Лично на меня в книжке, например, произвело набольшее впечатление реализация загрузки файлов в codeigniter и обработка изображений в нём же. То что раньше у меня занимало бы 30-40 строк кода(собственно загрузка, валидация и прочее) в CI занимает 3-4, максимум 6 строк. В общем шедевральная вещь. Ну и в процессе разработки наткнулся на такую проблему - дизайн. Дизайн и вообще всё что связано с тем чтобы сделать красиво, а не чтобы работало эффективно, для меня бооольшая проблема. Что у меня получилось из прикручивания шаблона можно увидеть здесь: . Смотреть там пока не на что, я пока думаю как бы там, внутри, всё так организовать(загрузку, хранение, сортировку файлов, планированное расширение функционала[очень интересно было бы поглядеть исходники rybalka.tv Жени Самборского(samborsky.com)]), чтобы и работать самому с сайтом было удобно, и работало всё это быстро и без неразумного потребления ресурсов. Честно говоря, это ровно половина того шаблона, что была изначальна(хз куда там девается сайдбар, я его пока просто отрубил. В общем взял самый простой и чистый шаблон, на базе которого уже буду делать более серьёзное. Геморроя конечно с этим всем очень много. А руки в эту сторону расти совершенно не могут. Сумбурный пост какой то получился... Да, ещё хочу сходить на лекцию питерского LUG, всё никак не соберусь :)
Все внешние ссылки переадресовывает на urlsite/go.php?url=othersite В архиве go.php нужно поместить в корень сайта. Сейчас почти сделал плагин для подсветки синтаксиса. Тоже скоро выложу.
Сегодня ночью у себя на ноутбуке ставил связку, позволяющую принять на себя огромную нагрузку. Сперва наперво нужно провести подготовительные установки перед сборкой пакетов: sudo -s Далее будем работать от рута. cd /usr/src apt-get build-dep php5 apt-get build-dep nginx Собираем php c патчем php-fpm и nginx: wget http://us.php.net/get/php-5.2.8.tar.bz2/from/this/mirror tar xjf php-*.tar.bz2 wget http://php-fpm.anight.org/downloads/head/php-5.2.8-fpm-0.5.10.diff.gz cd php*/ zcat ../php*fpm*.diff.gz | patch -p1 EXTENSION_DIR=/usr/lib/php5/modules ./configure \ --prefix=/usr \ --sysconfdir=/etc \ --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d \ --enable-fastcgi \ --enable-force-cgi-redirect \ --disable-posix \ --enable-exif \ --enable-ftp \ --enable-bcmath \ --enable-zip \ --with-bz2 \ --with-curl \ --with-gd --with-freetype-dir --with-jpeg-dir --with-png-dir \ --with-openssl \ --with-pcre-regex=/usr \ --with-zend-vm=GOTO \ --with-zlib \ --with-mysql \ --with-pdo-mysql \ --enable-fpm \ --with-fpm-conf=/etc/php-fpm.conf \ --with-fpm-log=/var/log/php-fpm.log \ --with-fpm-pid=/var/run/php-fpm.pid make strip sapi/cgi/php-cgi Устанавливаем php5 make install
ln -s /usr/sbin/php-fpm /etc/init.d/php-fpm sudo gedit /usr/local/etc/php-fpm.conf Меняем значения user и group на: www-data www-data Собираем и настраиваем nginx: wget http://sysoev.ru/nginx/nginx-0.7.30.tar.gz tar xzvf nginx-*.tar.gz cd nginx*/ ./configure --sbin-path=/usr/local/sbin --prefix=/usr/nginx --with-http_ssl_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module make make install Делаем инит скрипт для nginx:
vim /etc/init.d/nginx ### BEGIN INIT INFO # Provides: nginx # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts the nginx web server # Description: starts nginx using start-stop-daemon ### END INIT INFO PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/local/sbin/nginx NAME=nginx DESC=nginx test -x $DAEMON || exit 0 # Include nginx defaults if available if [ -f /etc/default/nginx ] ; then . /etc/default/nginx fi set -e case "$1" in start) echo -n "Starting $DESC: " start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/nginx.pid \ --exec $DAEMON -- $DAEMON_OPTS echo "$NAME." ;; stop) echo -n "Stopping $DESC: " start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/nginx.pid \ --exec $DAEMON echo "$NAME." ;; restart|force-reload) echo -n "Restarting $DESC: " start-stop-daemon --stop --quiet --pidfile \ /usr/local/nginx/logs/nginx.pid --exec $DAEMON sleep 1 start-stop-daemon --start --quiet --pidfile \ /usr/local/nginx/logs/nginx.pid --exec $DAEMON -- $DAEMON_OPTS echo "$NAME." ;; reload) echo -n "Reloading $DESC configuration: " start-stop-daemon --stop --signal HUP --quiet --pidfile /usr/local/nginx/logs/nginx.pid \ --exec $DAEMON echo "$NAME." ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0
sudo chmod +x /etc/init.d/nginx Добавляем php-fpm и nginx в автозапуск: /usr/sbin/update-rc.d -f php-fpm defaults /usr/sbin/update-rc.d -f nginx defaults Скачиваем конфиг nginx для Maxsite CMS: wget http://librarian.spb.ru/configs/nginx.conf -O /usr/nginx/conf/nginx.conf Нужно его немного подправить на предмет исправления /home/lib/www/localhost на папку, в которой у Вас будет находится сам сайт и замену localhost на домен по которому Ваш сайт будет открываться. vim /usr/nginx/conf/nginx.conf Запускаем последовательно: /etc/init.d/php-fpm start /etc/init.d/nginx start Самое сложное закончилось(то над чем я всю ночь сидел, не над сборкой, а над конфигурированием), теперь простенькое - установка mysql и Maxsite CMS: aptitude install mysql-server Вводим пароль, повторяем. Создаем базу данных(вообще было бы неплохо ещё пользователя создать, да ограничить его в правах, но мне было лень): mysql -uroot -pPASS mysql > CREATE DATABASE name; mysql > quit База есть, теперь приступим к установке Maxsite CMS, на текущий момент последней стабильной версией является 0.27. Перед установкой следует выйти из root режима: logout или Ctrl+D cd /home/lib/www/localhost wget http://max-3000.com/uploads/mso-0-27.zip unzip mso*.zip cp application/config/database.php-distr application/config/database.php vim application/config/database.php прописываем настройки подключения к базе данных: $db['default']['hostname'] = "localhost"; // хост БД $db['default']['database'] = "name"; // имя базы данных $db['default']['username'] = "root"; // имя пользователя БД $db['default']['password'] = "PASS"; // пароль
cp application/maxsite/mso_config.php-distr aplication/maxsite/mso_config.php vim application/maxsite/mso_config.php Прописываем секретную фразу $MSO->config['secret_key'] = '$upeR$ecRetPpAa$SPhraSe'; Устанавливаем свой config файл wget http://librarian.spb.ru/configs/maxsite_config.txt -O application/config/config.php vim application/config/config.php Заменяем $config['base_url'] = "http://localhost/"; На Ваш домен. Теперь можно открыть http://localhost/, ввести имя пользователя, пароль, имя сайта и электропочту :) На этом всё, если будут какие-то баги - обращайтесь, помогу. Связаться со мной можно через форму на сайте: http://librarian.spb.ru/contact или через jabber: menkovich@gmail.com
При настройке использовались:
P.S. По бенчмарку результат не очень хороший: 27.5 запросов в секунду выдерживает(но это я параллельно ещё в инете сидел, писал пост слушал музыку и так далее) Я думаю что специально сконфигурированные вебсервера выдержат НАМНОГО большую нагрузку.
20 лет,студент 4го курса СПбГЭТУ "ЛЭТИ", работал и снова работаю в техподдержке SpaceWeb.
Увлекаюсь классическим роком, программированием, системным администрированием. Во всех моих начинания мне помогает моя любимая операционная система: Debian GNU/Linux.
Про нее и буду писать в этом блоге, о многих открытиях которые сулит мне эта операционная система.