nginx
Unable to load dynamic library memcache.so
После обновления php с версии 5.4.11 на 5.4.12 вывалилась следующая ошибка при попытке перезапуска php-fpm:
#/usr/local/etc/rc.d/php-fpm restart Stopping php_fpm. Starting php_fpm. [26-Feb-2013 12:58:14] NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20100525/memcache.so' - /usr/local/lib/php/20100525/memcache.so: Undefined symbol "php_session_create_id" in Unknown on line 0
Решение:
Переустановка pecl-memcache:
# cd /usr/ports/databases/pecl-memcache && make deinstall clean && make install clean
Далее рестарт php-fpm.
Мониторинг сервера с помощью Cacti и Spine регистратора
Приветствую всех.
В предыдущей статье я уже пытался написать об этой программе. По некоторым причинам ее закончить не удалось.
Сегодня написал заново статью, возможно пригодится кому-нибудь в будущем или настоящем.
- apache/nginx
- php
- mysql
Установка и настройка этих пакетов выходят за рамки этой статьи.
В настоящее время я перешел на обновление портов через svn, cvs скоро отомрет как ненужный атавизм.
После обновления, установим cacti, net-snmp, cacti-spine
# portmaster net-mgmt/cacti net-mgmt/cacti-spine net-mgmt/net-snmp
Что указал я:
После установки необходимо создать БД для cacti. Я делал это с помощью phpmyadmin, вы же можете создать как удобнее вам. Через консоль:
- Создаем БД:
- Создаем в mysql пользователя и пароль для бд cacti:
- Импортуруем таблицы в нашу бд:
- -u пользователь;
- -p пароль;
- -D база данных [/ul]
# mysqladmin --user=root create cacti
# echo "GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactiuser'; FLUSH PRIVILEGES;" | mysql
# mysql -u cactiuser -p -D cacti < /usr/local/share/cacti/cacti.sql
Синтаксис Mysql немного поменялся со временем. Я добавил недостающие ключи для корректного импорта, а именно:
[ul]
Shared object "libGeoIP.so.5" not found
Приветствую.
На досуге как-то криво обновил порты, что после перезагрузки железки появилась такая требуха:
Performing sanity check on nginx configuration:
Shared object "libGeoIP.so.5" not found, required by "nginx"
Starting nginx.
Shared object "libGeoIP.so.5" not found, required by "nginx"
/etc/rc: WARNING: failed to start nginx
Родной нгинкс требовал библиотечку GeoIP решил проблему следующим образом. Сначала посмотрел какие зависимости есть у пакета nginx:
# portmaster --show-work www/nginx
===>>> Currently installed version: nginx-1.2.6,1
===>>> Port directory: /usr/ports/www/nginx
===>>> Starting check for all dependencies
===>>> Gathering dependency list for www/nginx from ports
===>>> Installed converters/libiconv
===>>> Installed devel/cmake
===>>> Installed devel/cmake-modules
===>>> Installed devel/gettext
===>>> Installed devel/gmake
===>>> Installed devel/google-perftools
===>>> Installed devel/libtool
===>>> Installed devel/pcre
===>>> Installed devel/pkgconf
===>>> Installed graphics/gd
===>>> Installed graphics/jpeg
===>>> Installed graphics/png
===>>> Installed lang/perl5.16
===>>> NOT INSTALLED net/GeoIP
===>>> Installed ports-mgmt/pkg
===>>> Installed print/freetype2
===>>> Installed textproc/expat2
===>>> Installed x11-fonts/fontconfig
Не установлено, конечно, забавно получилось. Я даже этот пакет и не удалял. Ну да бог с ним, установим.
# portmaster net/GeoIP
............
............
# /usr/local/etc/rc.d/nginx start
Performing sanity check on nginx configuration:
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful
Starting nginx.
# ps -aux | grep nginx
root 31716 0,0 0,1 65940 9464 ?? Ss 23:11 0:00,00 nginx: master process /usr/local/sbin/nginx
www 31717 0,0 0,1 65940 11132 ?? S 23:11 0:00,00 nginx: worker process (nginx)
www 31718 0,0 0,1 65940 11132 ?? S 23:11 0:00,00 nginx: worker process (nginx)
root 31720 0,0 0,0 16280 2120 0 S+ 23:11 0:00,00 grep nginx
Дружим MaxSite CMS и Nginx
Это как-бы небольшая преамбула. Я не буду описывать все + и - переезда с одного веб сервера на другой.
Сегодня я познакомлю с маленьким правилом для конфига нгинкса, чтобы корректно работали редиректы. Естессно у вас должен быть установлен модуль http_rewrite_module.
Итак, в в location добавляем следующее:
location / { root /путь/к вашему/сайту; index index.php index.html index.htm; try_files $uri $uri/ /index.php?q=$uri&$args; }
Краткое описание директивы:
Директива проверяет существование файлов в заданном порядке и использует для обработки запроса первый найденный файл, причём обработка делается в контексте этого же location'а. С помощью слэша в конце имени можно задать проверку существования каталога, например, так — "$uri/". В случае, если ни один файл не найден, то делается внутренний редирект
на последний параметр.
Приобрел хостинг
Хостинг по адресу https://host-food.ru. Так как его поддерживает сам Лис, за сервис и работу можно не беспокоиться. Демократичные цены и скорость работы порадовали.
The plain HTTP request was sent to HTTPS port
Такая ошибка обычно встречается, если у вас криво настроен редирект на порт https. Если вы с этим столкнулись, то наверняка пытаетесь получить доступ к phpmyadmin после авторизации Решается это следующим образом:
location ~ \.php$ { fastcgi_param HTTPS on; .....