Настройка Speed Duplex на FreeBSD

Проблема случилась на выделенном сервере в Канаде. Пропуская способность сервера ограничивалась 30 kBps. Общение с саппортом никаких результатов не принёсло.
Проблема оказалась в сетевых настройках.
[sourcecode language=»powershell»]
# ifconfig | grep media
media: Ethernet 10baseT/UTP
[/sourcecode]

Решение очень простое.
Добвавил в /etc/rc.conf следующие:

ifconfig_sk0="inet x.x.x.x netmask y.y.y.y media 100baseTX mediaopt full-duplex"

Делаее перезапускаем сеть.
[sourcecode language=»powershell»]
# /etc/rc.d/netif restart
[/sourcecode]

failed 24, Too many open files

В связи с внезапным увеличением обращений на сервисе рейтинга сайтов, в логи полезла следующая ошибка «failed 24, Too many open files» , лечится просто:

/etc/sysctl.conf:

kern.maxfiles=204800
kern.maxfilesperproc=200000
kern.ipc.somaxconn=4096

Backup на Amazon S3

logo_awsЗадача: еженедельное резервирование данных на Amazon S3.

cd /usr/ports/net/py-s3cmd && make install clean

Запускаем конфигурацию утилиты.

s3cmd --configure

New settings:
  Access Key: AAABBBCCCAAABBBCCC
  Secret Key: 111AAA222BBB333CCC111AAA222BBB333CCC
  Encryption password: mystrongpass
  Path to GPG program: /usr/local/bin/gpg
  Use HTTPS protocol: True
  HTTP Proxy server name:
  HTTP Proxy server port: 0

Создаём новый бакет для резервных копий

s3cmd mb s3://backup

Далее всё просто, перемешаем подготовленый бекап на амазон.
Создаём s3backup.sh который помещаем в крон в нужное для вас время, в моём случае, это каждый понедельник, следующего содержания.

/usr/local/bin/s3cmd put /var/log/backup/*.bz2 s3://backup/

Я конечно не страдаю паранойей, но все архивы я поставил под пароль.
На этом всё.

Nginx + PHP-fpm

nginx-logoМногие уже отказались от apache как головного вебсервера в пользу nginx, который подкупает своей в первую очередь производительностью, возможностью быстрого и лёгкого масштабирования бекэндов в виде php серверов, так же расширенными возможностями конфигурации сервиса.

Но по прежнему за nginx стоит apache c php. Причина тому остаётся загадкой. Возможно на небольших нагрузках это работает вполне стабильно, но наши цели другие.

И так, давайте приступим.
FreeBSD 7.2-RELEASE

По старой привычки всё делаю из исходников в /usr/local/src/

Скачиваем и разжимаем nginx:

wget http://www.sysoev.ru/nginx/nginx-LAST.tar.gz
tar -zxf nginx-LAST.tar.gz
ln –s nginx-LAST nginx

Уберём лишние модули, по крайне мере мне они не требуются.

cd nginx
./configure \
--prefix=/usr/local/nginx \
--with-http_stub_status_module \
--without-http_ssi_module \
--without-http_geo_module \
--without-http_autoindex_module \
--without-http_auth_basic_module \
--without-http_empty_gif_module \
--without-select_module \
--without-poll_module \
--without-http_userid_module \
--without-http_auth_basic_module \
--without-http_autoindex_module \
--without-http_map_module \
--without-http_referer_module \
--without-http_memcached_module \
--without-http_browser_module \
--without-http_upstream_ip_hash_module \
--with-pcre \
make && make install

Перейдём к PHP

cd /usr/local/src
wget http://www.php.net/get/php-LAST.tar.gz/from/uk.php.net/mirror
tar -zxf php-LAST.tar.gz
сd php

Далее очередь php-fpm патча.
Скачаем и применим патч к исходникам php.
Читать далее