Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  почтовые системы
  Шелезяки
  Мелочи
  Файловая система
  WWW
  hosting
  mod_gzip
  mod_log_sql
  mod_geoip
  mod_bandwidth
  mod_accounting
  mod_bunzip2
  mod_mp3
  mod_shapvh
  mod_limitipconn
  mod_sqlinclude
  mod_auth_imap
  webalizer
  Apache + SSL
  auth_ldap
  Настройка AWStats
  apache 2.0
  mod_auth_external
  CMS - TYPO3
  phpBB-2/3
  mod_ntlm
  mod_ntlm2
  Nginx+php+fcgi
  OTRS на Apache1
  OTRS на Apache20
  ApacheStats
  mod_evasive
  Lighttpd
  nginx+php-fpm+mysql
  php + mssql
  MySQL + кодировки
  svn+apache+trac
  php5-oci8
  Lighttpd + Apache
  CMS Drupal 6.9
  Apache22+MySQL
  Оптимизация хоста для CMS
  блокировка spam на www
  PostgreSQL 8
  Apache 22 + PHP5 + suPHP
  lighttpd + mod_uploadprogress
  VirtualBox + phpVirtualBox
  DNS API
  Security
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> WWW —> nginx+php-fpm+mysql

Веб сервер на много коннектов и высокую нагрузку (nginx+php-fpm+mysql)

Автор: nikll.


Предисловие.

Вот хочу поделится с коллегами своими наработками, думаю они многим пригодятся.

1. Начнем с подготовки фри к постановке ее на веб сервер.

Сетапим на сервер фрю семерку архтиктуры amd64 (можно и i386 но там надо делать PAE ядро и расширять адресацию), обнавляем исходники
nice -20 csup /usr/src/csup

ee /usr/src/csup
*default host=cvsup6.ru.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_7
*default delete use-rel-suffix
*default compress
src-all
ports-all tag=.
doc-all prefix=/usr/src tag=.

Правим конфиги
ee /etc/make.conf
# оптимизация под мой камень, применяется везде где только используется команда make, 
# позваляет получить немного лишних процентов производительности
CPUTYPE?=core2
NO_PROFILE=yes
NO_GAMES=yes
DOC_LANG=en_US.ISO8859-1 ru_RU.KOI8-R
WITHOUT_X11=YES
NO_X11=YES
WITH_IDEA=yes
MAKE_IDEA=yes
WITHOUT_GAMES=yes
WITHOUT_INET6=yes
WITHOUT_INET6_SUPPORT=yes
WITHOUT_PROFILE=yes
WITHOUT_IPV6=yes
PORTSDIR?= /usr/ports
DEFAULT_MYSQL_VER=51
.if ${.CURDIR} == ${PORTSDIR}/databases/mysql51-server
WITH_PROC_SCOPE_PTH=yes # треды
BUILD_OPTIMIZED=yes # флаги оптимизации компилятору
# дает небольшой прирост производительности и независимость от внешних библиотек
BUILD_STATIC=yes
.endif
.if ${.CURDIR} == ${PORTSDIR}/databases/mysql51-client
WITH_PROC_SCOPE_PTH=yes
BUILD_OPTIMIZED=yes
BUILD_STATIC=yes
.endif

ee /etc/src.conf
WITHOUT_INET6=yes # рубим ipv6, рассадник дыр в безопастности и глюков 
WITHOUT_INET6_SUPPORT=yes # практическая его полездность будет еще не скоро...
WITHOUT_PROFILE=yes 

и пересобираем систему

cd /usr/src
nice -20 make -j6 buildworld

Пока собирается система можно занятся конфигом ядра в следующщей консоле (или другом ssh терминале).
cd /usr/src/sys/amd64/conf
cp GENERIC SERVER64
ee SERVER64

И правим ядро для наших целей, я например викидываю от туда дебаг, ipv6, и все не нужные мне драйвера
(nfs ntfs fat все рейды и сетевухи которых у меня нету fairwair usb wlan), и добавляю следующщее

options SC_HISTORY_SIZE=8192 # чтобы в консоли можно было далеко листать историю
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=4000
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_FORWARD
options DUMMYNET
options ACCEPT_FILTER_DATA # фильтры для nginx
options ACCEPT_FILTER_HTTP # ...
options HZ=1000
options DEVICE_POLLING

После того как сборка мира в первой консоле успешно закончится, можно приступать к сборке и установке нового ядра
nice -20 make -j2 kernel KERNCONF=SERVER64 # с -j6 иногда не собирается почемуто...

Так как хороший одмин должен быть ленивым, я создаю в корне скриптик
ee /upgrade && chmod 755 /upgrade
#!/bin/sh
fsck -p
mount -u /
mount -a
cd /usr/src
adjkerntz -i 
mergemaster -p
make installworld &&\
make delete-old &&\
mergemaster -i

Цепляем ip-kvm, ну или топаем туда где стоит сервер (нужна консоль), и перезагружаем его в однопользовательский режим.
nextboot -o "-s" -k kernel && reboot

Загружается система, на приглашение к выбору шела нажимаем Enter и после того как появиться консоль вводим
/upgrade && exit

mergemaster поспрашивает вас о конфигах, make delete-old поспрашивает о удалении старых файлов, после того как все вопросы будут отвечены и система установленна шел закроется и продолжиться нормальная загрузка уже новой системы.

2. Устанавливаем софт

Собственно ставим сам nginx, на запросы отвечаем так:
cd /usr/ports/www/nginx/ ; nice -20 make install clean
[ ] DEBUG Enable nginx debugging
[ ] GOOGLE_PERFTOOLS Enable google perftools module
[X] HTTP_MODULE Enable HTTP module
[X] HTTP_ADDITION_MODULE Enable http_addition module
[X] HTTP_DAV_MODULE Enable http_webdav module
[X] HTTP_FLV_MODULE Enable http_flv module
[X] HTTP_PERL_MODULE Enable http_perl module
[X] HTTP_REALIP_MODULE Enable http_realip module
[X] HTTP_REWRITE_MODULE Enable http_rewrite module
[X] HTTP_SSL_MODULE Enable http_ssl module
[X] HTTP_STATUS_MODULE Enable http_stub_status module
[X] HTTP_SUB_MODULE Enable http_sub module
[ ] MAIL_MODULE Enable IMAP4/POP3/SMTP proxy module
[ ] MAIL_IMAP_MODULE Enable IMAP4 proxy module
[ ] MAIL_POP3_MODULE Enable POP3 proxy module
[ ] MAIL_SMTP_MODULE Enable SMTP proxy module
[ ] MAIL_SSL_MODULE Enable mail_ssl module
[X] WWW Enable html sample files

Дальше ставим мускул и пхп:
cd /usr/ports/databases/mysql51-server/ ; nice -20 make install clean &&\
cd /usr/ports/lang/php5/ ; nice -20 make install clean
[X] CLI Build CLI version
[X] CGI Build CGI version
[ ] APACHE Build Apache module
[ ] DEBUG Enable debug
[X] SUHOSIN Enable Suhosin protection system (not for jails)
[X] MULTIBYTE Enable zend multibyte support
[ ] IPV6 Enable ipv6 support
[X] MAILHEAD Enable mail header patch
[X] REDIRECT Enable force-cgi-redirect support (CGI only)
[X] DISCARD Enable discard-path support (CGI only)
[X] FASTCGI Enable fastcgi support (CGI only)
[X] PATHINFO Enable path-info-check support (CGI only)

Cтавим сопутствующщий софт:
cd /usr/ports/lang/php5-extensions/ ; nice -20 make install clean

Выбираем себе нужные модули для пыха.

И не забываем про ZendOptimizer (довольно часто попадаются зазенденные скрипты, поэтому всегда втыкаю его докучи, авось пригодится)
/usr/ports/devel/ZendOptimizer/ ; nice -20 make install clean

Ставим phpMyAdmin (вечное требованние программеров на пыхе, в консоли для них не кошерно...)
/usr/ports/databases/phpmyadmin/ ; nice -20 make install clean

Ставим wget из /usr/ports/ftp/wget  (это типа консольная качалка такая)
скачиваем порт php-fpm под фрю (я же говорил уже что хороший одмин он ленивый, и с патчами в исходниках ковырятся ему должно быть лень если все и так хорошо работает), распаковываем его в /usr/ports/lang/php5-fpm идем туда и сетапим его:
cd /usr/ports/ftp/wget ; nice -20 make install clean &&\
cd /usr/ports/lang &&\
wget http://php-fpm.anight.org/downloads/freebsd-port/php5-fpm-0.5.9.tar.gz &&\
tar xfz php5-fpm-0.5.9.tar.gz &&\
cd php5-fpm &&\
nice --20 make install clean
[X] CLI Build CLI version
[ ] DEBUG Enable debug
[X] SUHOSIN Enable Suhosin protection system (not for jails)
[X] MULTIBYTE Enable zend multibyte support
[ ] IPV6 Enable ipv6 support
[X] MAILHEAD Enable mail header patch
[X] PATHINFO Enable path-info-check support (CGI only)

Ну вот как бы и усе как бы для голого веб сервера все уже готово, переходим к настройке.

3. Конфигурируем

Мой конфиг nginx:
less /usr/local/etc/nginx/nginx.conf
# рекомендуют делать по количеству ядер
# но время отклика реально уменьшяется если запутить побольше воркеров,
# т.к. у меня памяти много сделал сразу 100
worker_processes 100;
# приоретет воркеров, сделал повыше 
# чтобы из за медленных скриптов и корявых
# мускульных запросов статика отдавалась без лагов
worker_priority -5;
worker_rlimit_nofile 51200;
events {
 worker_connections 51200;
 use kqueue;
}
http {
 include mime.types;
 default_type application/octet-stream;
 log_format main '$remote_addr - $remote_user [$time_local] $request '
 '"$status" $body_bytes_sent "$http_referer" '
 '"$http_user_agent" "$http_x_forwarded_for"';
 server_names_hash_bucket_size 512;
 sendfile on;
 tcp_nopush on;
 keepalive_timeout 70 30;
 send_timeout 30s;
 reset_timedout_connection on;
 resolver 127.0.0.1;
 resolver_timeout 10s;
 open_file_cache max=100000 inactive=40s;
 open_file_cache_valid 60s;
 open_file_cache_min_uses 2;
 open_file_cache_errors on;
 server {
 listen 80;
 server_name www.ru;
 charset koi8-r;
 location / {
 root /usr/local/www/nginx;
 index index.html index.htm;
 }
 }
 server {
 # фильтр позволяет отфильтровывать 
 # все не хттп соеденения до их установки на уровне ядра 
 # (собираются все пакеты анализируется GET загаловок, 
 # если его нет соеденение отбрасывается, если есть то соедененине 
 # появляется в системе и нгинксе, оч полезно от примитивного доса).
 listen 80 default accept_filter=httpready;
 server_name www.mysite.ru mysite.ru
 charset windows-1251;
 access_log /home/igrosoft/access_log main;
 error_log /home/igrosoft/error_log error;
 location / {
 root /home/site;
 index index.html index.htm index.php;
 }
 location /mrtg/ { # это mrtg
 alias /usr/local/www/mrtg/;
 index index.html index.htm;
 auth_basic Admin;
 auth_basic_user_file /usr/local/www/mrtg/.htpasswd;
 }
 # а это для phpmyadmin, чтобы норально обрабатывались пхп скрипты
 # надо создать линк из основной директории коммандой
 # ln -s /usr/local/www/phpMyAdmin /home/site/.,ak,234sfyf34.:,.s
 location /.,ak,234sfyf34.:,.s/ { 
 alias /usr/local/www/phpMyAdmin/;
 index index.html index.htm index.php;
 auth_basic Admin;
 auth_basic_user_file /usr/local/www/phpMyAdmin/.htpasswd;
 }
 # передаем обработку пхп скриптов на php-fpm
 location ~* \.php$ {
 fastcgi_pass unix:/tmp/php-fpm.sock;
 fastcgi_index index.php;
 fastcgi_param SCRIPT_FILENAME /home/site$fastcgi_script_name;
 include fastcgi_params;
 }
 location ~ /\.ht { # закрываем доступ к файлам .htpasswd
 deny all;
 }
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
 root /usr/local/www/nginx-dist;
 }
 # с этой странички мы будем брать статистику по нгинксу для мртг
 location /nginx_status {
 stub_status on;
 access_log off;
 allow 127.0.0.1;
 deny all;
 }
 # HTTPS
 server {
 listen 443;
 server_name localhost;
 ssl on; # задаем настройки для ssl 
 ssl_certificate cert.pem;
 ssl_certificate_key cert.key;
 ssl_session_timeout 5m;
 ssl_protocols SSLv2 SSLv3 TLSv1;
 ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
 ssl_prefer_server_ciphers on;
 server_name www.myserver.ru myserver.ru
 # а дальше все тоже самое описание location'ов
 # аналогичное тому что было указанно выше 
 }
}

Теперь поправим конфиг у fpm'a
ee /usr/local/etc/php-fpm.conf
я там изменил только следующщие строчки:
 <!-- меняем сокет, вместо tcp'шного делаем -->
 <!-- локальный чтобы лишний раз стек не напрягать -->
<value name="listen_address">/tmp/php-fpm.sock</value>
 <!-- устанавливаем количество процессов php-cgi -->
 <!-- отнестить к этому нужно внимательно т.к. -->
 <!-- именно столько максимум php скриптов сможет выполняться одновременно-->
<value name="max_children">120</value>
 <!-- Очень полезная для оптимизации скриптов и мускульных запросов фича -->
 <!-- записывает в лог все данные о скрипте который -->
 <!-- выполняется дольше указанного времени -->
<value name="request_slowlog_timeout">5s</value>
<value name="slowlog">/var/log/php-slow.log</value>
 <!-- сколько запросов выполнит один cgi процесс прежде чем его перезапустят -->
<value name="max_requests">1500</value>

Пхп каждый конфигурит себе сам, но на основе длительного ковыряния с кучей серверов у меня получилось оптимальным вот это:
ee /usr/local/etc/php.ini
[PHP]
engine = On
zend.ze1_compatibility_mode = Off
short_open_tag = On
asp_tags = Off
precision = 14
y2k_compliance = On
output_buffering = 4096
zlib.output_compression = Off
implicit_flush = Off
unserialize_callback_func=
serialize_precision = 100
allow_call_time_pass_reference = Off
safe_mode = Off
safe_mode_gid = Off
safe_mode_include_dir =
safe_mode_exec_dir =
safe_mode_allowed_env_vars = PHP_
safe_mode_protected_env_vars = LD_LIBRARY_PATH
disable_functions =
disable_classes =
expose_php = On
max_execution_time = 30
max_input_time = 60
memory_limit = 128M ; увеличиваем лимит по памяти для "тяжелых" скриптов
error_reporting = E_ALL & ~E_NOTICE
display_errors = Off
display_startup_errors = Off
log_errors = On
log_errors_max_len = 10240
ignore_repeated_errors = On
ignore_repeated_source = On
report_memleaks = On
track_errors = On
variables_order = "EGPCS"
register_globals = On
register_long_arrays = Off
register_argc_argv = Off
auto_globals_jit = On
post_max_size = 32M
magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"
doc_root =
user_dir =
enable_dl = On
file_uploads = On
upload_max_filesize = 800M
allow_url_fopen = On
allow_url_include = Off
default_socket_timeout = 60
[Syslog]
define_syslog_variables = Off
[mail function]
SMTP = localhost
smtp_port = 25
[SQL]
sql.safe_mode = Off
[ODBC]
odbc.allow_persistent = On
odbc.check_persistent = On
odbc.max_persistent = -1
odbc.max_links = -1
odbc.defaultlrl = 4096
odbc.defaultbinmode = 1
[MySQL]
mysql.allow_persistent = On
mysql.max_persistent = -1
mysql.max_links = -1
mysql.default_port =
mysql.default_socket =
mysql.default_host =
mysql.default_user =
mysql.default_password =
mysql.connect_timeout = 60
mysql.trace_mode = Off
[MySQLi]
mysqli.max_links = -1
mysqli.default_port = 3306
mysqli.default_socket =
mysqli.default_host =
mysqli.default_user =
mysqli.default_pw =
mysqli.reconnect = Off
[mSQL]
msql.allow_persistent = On
msql.max_persistent = -1
msql.max_links = -1
[PostgresSQL]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1
pgsql.max_links = -1
pgsql.ignore_notice = 0
pgsql.log_notice = 0
[Sybase]
sybase.allow_persistent = On
sybase.max_persistent = -1
sybase.max_links = -1
sybase.min_error_severity = 10
sybase.min_message_severity = 10
sybase.compatability_mode = Off
[Sybase-CT]
sybct.allow_persistent = On
sybct.max_persistent = -1
sybct.max_links = -1
sybct.min_server_severity = 10
sybct.min_client_severity = 10
[bcmath]
bcmath.scale = 0
[Informix]
ifx.default_host =
ifx.default_user =
ifx.default_password =
ifx.allow_persistent = On
ifx.max_persistent = -1
ifx.max_links = -1
ifx.textasvarchar = 0
ifx.byteasvarchar = 0
ifx.charasvarchar = 0
ifx.blobinfile = 0
ifx.nullformat = 0
[Session]
session.save_handler = files
session.use_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 256000
session.bug_compat_42 = 0
session.bug_compat_warn = 1
session.referer_check =
session.entropy_length = 0
session.entropy_file =
session.cache_limiter = nocache
session.cache_expire = 18000
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 5
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
[Tidy]
tidy.clean_output = Off
[soap]
soap.wsdl_cache_enabled=1
soap.wsdl_cache_dir="/tmp"
soap.wsdl_cache_ttl=86400
[Zend]
zend_optimizer.optimization_level=2 ; 2 потому что на архетитуре amd64 
 ; при дефолтном значении 15 кладет пых в корку
zend_extension_manager.optimizer="/usr/local/lib/php/20060613/Optimizer"
zend_extension_manager.optimizer_ts="/usr/local/lib/php/20060613/Optimizer_TS"
zend_extension="/usr/local/lib/php/20060613/ZendExtensionManager.so"
zend_extension_ts="/usr/local/lib/php/20060613/ZendExtensionManager_TS.so"

Тепер переходим к тюнингу tcp стека:
ee /etc/sysctl.conf
net.inet.tcp.blackhole=2 # включаем черные дыры для tcp
net.inet.udp.blackhole=1 # и udp
kern.ipc.nmbclusters=65536 # увеличиваем лимиты
kern.ipc.somaxconn=32768 
kern.ipc.maxsockets=204800
kern.maxfiles=256000
kern.maxfilesperproc=230400
net.inet.ip.portrange.first=1024
net.inet.ip.portrange.last=65535
net.inet.ip.portrange.randomized=0
net.inet.tcp.maxtcptw=40960
# самый на мой взгляд важный параметр, субьективно:
# при уменьшении уменьшается количество вейтов, сервер лудьше держит нагрузку
# при увеличении реже рветься связь на плохих каналах, нагрузка возрастает
net.inet.tcp.msl=40000
net.inet.tcp.finwait2_timeout=40000
net.inet.tcp.syncookies=1
net.inet.tcp.sack.enable=1
net.inet.tcp.nolocaltimewait=1
net.inet.tcp.fast_finwait2_recycle=1
net.inet.icmp.drop_redirect=1
net.inet.icmp.log_redirect=1
net.inet.ip.redirect=0
kern.polling.enable=1
kern.polling.burst_max=1000
kern.polling.each_burst=50
net.inet.icmp.icmplim=5000

ee /boot/loader.conf
net.inet.tcp.syncache.hashsize=1024
net.inet.tcp.syncache.bucketlimit=100
net.inet.tcp.tcbhashsize=4096

По оптимизации стека и настройку sysctl можно почитать следующщее:
http://www.opennet.ru/base/net/tune_freebsd.txt.html
http://www.lissyara.su/?id=1147

По настроке nginx:
http://sysoev.ru/nginx/docs/
http://www.lexa.ru/nginx-ru/

Ну и напоследок гугл еще никто не отменял ;-)


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



Ссылка на обсуждение: http://forum.lissyara.su/viewforum.php?f=3.

размещено: 2008-04-18,
последнее обновление: 2008-11-21,
автор: nikll

оценить статью:

arksu, 2008-11-20 в 13:54:31

норм статья! побольше бы таких глубоких материалов.
собрано много много житейского опыта на продакшн серверах )))

RWH, 2008-11-20 в 14:10:50

+5

Паха, 2008-11-20 в 14:33:13

Вот! А я искал это! Спасибо! Побольше пиши))
Вся правильно и работоспособно! Как и все твои статьи... добавил в свой архивчик статью

gmn, 2008-11-20 в 18:16:07

фильтры в ядро вкомпиливать не обязательно.
Можно загрузить так:
/boot/loader.conf
accf_data_load="YES"
accf_http_load="YES"

nikll, 2008-11-20 в 18:37:21

Можно и не вкомпиливать, но если ядро всеравно пересобирать, и фильтры всеравно понадобяться почему бы и нет?

Medved, 2008-11-20 в 20:09:27

worker_connections  51200
и
open_file_cache max=100000

ужасно больши и никак не влезут в worker_rlimit_nofile и tcp4 (при fastcgi_pass)

nikll, 2008-11-20 в 20:28:32

Про worker_connections я так и не нашел ни одного нормлаьного обьяснения что это такое и как этот параметр правильно настраивать.
Про open_file_cache на мой сугубо неопытный взгляд все в порядке, http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#open_file_cache тут описание этой директивы. Вопрос почему бы и нет? Ну будет у меня 100тыс записей о файлах и что такого, на тех серверах как минимум 4гб озу, ее хватает за глаза...
P.S. у меня аська есть 322344962, плиз, если есть маленько свободного времени, проконсультироваться хочу :)

nikll, 2008-11-20 в 20:45:38

Вот я вспомнил где я нашел рекомендацию к выставлению большого значения worker_connections
http://www.lexa.ru/nginx-ru/msg06936.html

sect0id, 2008-11-21 в 13:09:36

спасибо хорошая статья
опыт виден

location /.,ak,234sfyf34.:,.s/
это так прячешь?

nikll, 2008-11-21 в 14:58:34

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

Андрей, 2009-01-14 в 19:14:07

Какое количество соединений в секунду держит данный конфиг?

nezabor, 2009-01-16 в 22:03:34

open# wget http://php-fpm.anight.org/downloads/freebsd-port/php5-fpm-0.5.9.tar.gz
--2009-01-16 22:02:46—  http://php-fpm.anight.org/downloads/freebsd-port/php5-fpm-0.5.9.tar.gz
Resolving php-fpm.anight.org... 89.235.197.21
Connecting to php-fpm.anight.org|89.235.197.21|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2009-01-16 22:02:50 ERROR 404: Not Found.

torki, 2009-01-16 в 23:37:01

Статья просто бомба!!! Все возможные спасибы!!!
Вот как-бы наладить обмен умными мыслями, блин, фантазии на такие статьи не хватает:(

nikll, 2009-01-18 в 9:49:26

http://php-fpm.anight.org/downloads/freebsd-port/php-5.2.8-fpm-0.5.10.tar.gz
обновился порт, чо нельзя было зайти и посмотреть?

Anik777, 2009-01-29 в 17:02:06

Ух, спасибо тебе nikll - мега статья, очень полезная и объемная. Отдельное спасибо за оттюненые конфиги php и nginx.
А какую примерно нагрузку держит такая сборка???

nikll, 2009-02-06 в 5:07:57

Тестировал на сервере 2xXeonQuad 8Gb RAM, на гигабитном линке отдает в срендем 90Мбайт динамики с учетом что примерно половина нагрузки ложится на мускул.
Загрузка сначала подскакивает гдето до 70% по процу и 3гб озу потом увеличевается кеш, отжирается еше 2гб озу, но проц грузит менше (40-50%). Нагрузка создавалась синтетическая наклепал пару пхп скриптов которые манипулируют с мускулом и нагружал все это дело с пяти других аналогичных серверов при помощщи ApacheBench и несколько экземпляров из портов.
В пике получалось более 300тыс соеденений.....

Le1, 2009-02-06 в 9:21:35

Статья супер, то что надо, актуальная - т.к. если сервак крутит только апач, то в полне отлично перейти на nginx, автору спасибо и зачет !

gaara, 2009-02-18 в 3:24:41

mysql 5.1 на сильнонагруженом сервере - зло

nikll, 2009-02-18 в 9:57:11

А вы надо пологать тока оракл юзаете....
Если правильно настроить мускул и железо достаточно мощное то мускул соовсем не мешает, а даже наоборот сервер с локальным мускулом работает быстрее чем с мускулом который на выделенном сервере...

gaara, 2009-02-21 в 3:22:03

nikll,

не, я не про то - сырая ветка 5.1 еще, на синтетических тестах все в порядке, поставили в продакшн - падения (segfault-ы), непонятно почему висящие в состоянии locked запросы и т.д.

лучше пока сидеть на 5.0, хотя и в 5.1 много вкусностей

а даже наоборот сервер с локальным мускулом работает быстрее чем с мускулом который на выделенном сервере...

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

xmaster !, 2009-03-01 в 21:47:53

net.inet.tcp.msl=40000        

немного ли ?  
у меня 4500

bzik, 2009-03-16 в 21:15:28

Спасибо за статью. Очень пригодилась!!!
если кому то интересен мониторинг то вот довольно неплохая статья.
http://blog.kovyrin.net/2006/04/29/monitoring-nginx-with-rrdtool/
советую почитать коменты у кого возникнут проблемы.

zulus, 2009-03-19 в 22:51:27

Отличная статья, большое человеческое спасибо за неё автору !!!

Арт, 2009-03-21 в 19:46:58

Спасибо за статью

titan, 2009-04-27 в 16:41:30

  Не используйте параметр sendfile_max_chunk 256k;
без предварительного понимания что он делает и зачем.
С текущим значением у меня сетевая карточка дропала 50% данных под нагрузкой. Без нагрузки работало все идеально.
FreeBSD 7.1 amd64 nginx 6.3.5

Psixozzz, 2009-05-22 в 9:57:42

автору надо учебник русского языка подарить. Лучше два. А в целом статья ничего так.

nikll, 2009-05-24 в 13:15:49

ыгы а тебе учебник по фре :), каждый спец в своей области.

opt1k, 2009-06-13 в 9:36:04

зачем wget? чем fetch не устроил?

kav, 2009-06-13 в 14:14:06

много спорных моментов в статье, с этим всем лучше ломится в рассылку по nginx-у
там русскоязычное, вменяемое комьюнити

Wic, 2009-07-13 в 22:18:13

А php-fpm из портов не ставится что ли? зачем такой изврат?

Yuna, 2009-07-13 в 22:24:58

Вообще-то, если вы не знали, php-fpm НЕ включен по умолчанию в порты, и потому порт его нужно скачивать ОТДЕЛЬНО.

xmaster, 2009-08-12 в 8:55:05

вышла поновее счас буду тестировать
http://php-fpm.org/downloads/freebsd-port/php-5.2.10-fpm-0.5.13.tar.gz

demonsked@gmail.com, 2009-11-06 в 17:05:29

А где порт для 5.2.11 взять? Со старым не собирается. А как из исходников собрать я не понял.

nikll, 2009-11-06 в 17:46:46

Возьми да сам сделай :), там ничего сложного, проанализируй различия между php5 и php5-fpm (последний из них делал я), вот те линк на свежий патч http://php-fpm.org/downloads/php-5.2.11-fpm-0.5.13.diff.gz, вперед, как сделаеш вышли его на mike503@gmail.com, выложат на сайт :).

playnet, 2009-11-19 в 16:45:22

обнАвляем, позвАляет.. ппц, аффтар, что у тебя в году по русскому? 3 с натяжкой?

KaMa-CyTpA, 2009-11-19 в 17:17:59

комрат
тут зырят нина форму ана садиржанийе.
токма эт тожэ для избранных.
тут кагбэ пакрасившэ сказать... карочи для тибя тут калашный ряд.

lissyara, 2009-11-19 в 17:23:08

=)
тем не менее, он тоже прав.
Как минимум стоит после написания самому целиком читать.

nikll, 2009-11-19 в 21:51:09

Блин все такие умные как полгяжу :), я уже писал выше что каждый в своей области достигает чегото, я например довольно профессиональный сисадмин и программист на куче осей и языков, а вы я как погляжу только русский язык профессионально освоили.
P.S. lissyara, я читал то что я написал, если тебя глубоко оскорбляют мелкие синтаксические ошибки то можеш их исправить. Если статья из за этих ошибок теряет свою актуальность можеш смело ее снести я тебе разрешаю.

lissyara, 2009-11-19 в 21:55:26

Мне - вообще пофиг. Сам с ошибками пишу, и очепятками.
Тем не менее, до публикации статьи даю линк на форуме, народ ошибки указывает.
Чтоб в камменты не гадили =))

Александр, 2009-12-09 в 20:32:43

Используйте Firefox - там есть проверка на орфографию.. и проблем не будет! кроме ошибок - бывают опечатки..

По статье - можно использовать перечень параметров, но не их значения :)

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

sun, 2009-12-10 в 8:35:26

Статья зачетная афтор спс! ))) Правда запарился искать порт php-fpm-0.6-5.2.11, пол дня убил чтоб найти )))

baton4eg, 2009-12-28 в 10:17:04

сам нашёл, а ссылочку ?
http://groups.google.ru/group/highload-php-ru/browse_thread/thread/8c36cd8d7c5709db?fwc=2&pli=1

paranoidchaos, 2010-01-22 в 11:41:41

register_globals = On

ставить не надо

nikll, 2010-01-22 в 12:16:18

По поводу надо не надо register_globals советую погуглить, как правило в большенстве свежего софта ненужен, но бывают случаи когда без него как минимум придется переписать половину уже отлаженного и рабочего кода который писал незивестно кто и когда.

paranoidchaos, 2010-01-22 в 12:51:38

))))

тот кто использовал register_globals ваще понятия не имеет о безопасности

вам всё же придётся переписывать скрипты

This feature has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.

paranoidchaos, 2010-01-22 в 12:53:20

погуглил

http://www.citforum.ru/internet/php/register_globals/

nikll, 2010-01-22 в 13:11:07

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

This feature has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged. - вкурсе и очень рад этому, ибо $_GET['param'] куда выразительней понятней и читабельней чем просто $param который непонятно откуда появился.

Sw%00p aka Jerom, 2010-01-22 в 13:18:54

>>Кста о баранах, если не баран то перед работой со своими переменными ты их обнуляеш, иначе пых ругаетсо

непонял юмора ?????
обнулять, во-первых, можно только численные значения.

во-вторых, да не отрицаю того, что при обьявлении любой переменной сразу же её инициализация - является хорошим тоном программирования.

а то что такой механиз как регистер_глобалс был в пхп говорит о том что его разработчики типичные говнокодеры

Аноним, 2010-01-26 в 0:04:16

Сетапим на сервер фрю семерку

/etc/make.conf
...
NO_PROFILE=yes
NO_GAMES=yes
...
WITH_IDEA=yes
MAKE_IDEA=yes
WITHOUT_GAMES=yes
WITHOUT_INET6=yes
WITHOUT_INET6_SUPPORT=yes
WITHOUT_PROFILE=yes

дальше не читал ... автору читать man src.conf до просветления в голове

nikll, 2010-01-26 в 8:48:20

Для особо одоренных анонимусов через 10 строк ниже
ee /etc/src.conf
WITHOUT_INET6=yes            # рубим ipv6, рассадник дыр в безопастности и глюков
WITHOUT_INET6_SUPPORT=yes    # практическая его полездность будет еще не скоро...
WITHOUT_PROFILE=yes  

На момент выхода фри 7.0 часть параметров необходимо было дублировать в make.conf (до 7.0 src.conf небыло) иначе они не применялись (от пары лишних строк хуже не станет, зато всегда 100% применялись).
Так что читать маны и на основании этого думать что ты самый умный можеш и дальше, а практический опыт некакими манами не заменить.

Аноним, 2010-01-29 в 18:50:51

Дело не в паре лишних строк, дело в том что если Вы пишите статью не задумываясь о том что ее прочитает новичок и сделает так как в ней написано полагая что тот кто ее писал точно знает что надо делать. Может все же пойти новичкам навстречу и чуть-чуть поправить статью, а не ругаться тут неизвестно из за чего?

BTW
"options HZ=1000" - это уже давно по дефолту
"options DEVICE_POLLING" - polling стоит использовать только методом научного тыка, т.к. на разных системах в разных ситуациях с ним бывает лучше и наоборот - все может стать только хуже. Сделайте заметку что стоит почитать man polling и пусть себе человек пробует.

gurt, 2010-02-26 в 16:36:58

Сетапим на сервер фрю семерку архтиктуры amd64
..
ee /etc/make.conf
CPUTYPE?=core2
..
#   Intel x86 architecture:
#       (AMD CPUs)      opteron athlon64 athlon-mp athlon-xp athlon-4
#                       athlon-tbird athlon k8 k6-3 k6-2 k6 k5
#       (Intel CPUs)    core2 core nocona pentium4m pentium4 prescott
#                       pentium3m pentium3 pentium-m pentium2
#                       pentiumpro pentium-mmx pentium i486 i386
#       (Via CPUs)      c3 c3-2
#   Alpha/AXP architecture: ev67 ev6 pca56 ev56 ev5 ev45 ev4
#   AMD64 architecture: opteron, athlon64, nocona, prescott, core2
#   Intel ia64 architecture: itanium2, itanium

nikll, 2010-02-27 в 2:44:49

Ну а в чем проблема то?

AMD64 architecture: opteron, athlon64, nocona, prescott, core2

тобиш под  интеловский 64разнядный камень, во фре оно AMD64 называетсо... в линухе тоже самое x86_64

Pandora, 2010-02-28 в 16:27:29

register_globals = On

о боже

Pandora, 2010-02-28 в 16:59:59

post_max_size = 32M   ; 20M
upload_max_filesize = 64M   ;10M
memory_limit = 256M    ;  128M  ;  увеличиваем лимит по памяти для "тяжелых" скриптов
max_execution_time = 60  ; 30
date.timezone = Europe/Kiev
disable_functions = system,curl_exec,curl_multi_exec,passthru,shell_exec,proc_open,popen,parse_ini_file,show_source,ini_restore,com_load_typelib,symlink

по дефалту

session.save_handler = files

можно менять на eaccelerator если установлен

session.save_handler = eaccelerator

у меня на точке монтирования /usr/ терабайт так что там временная папка

session.save_path = /usr/local/www/tmp/php/session

Pandora, 2010-02-28 в 18:07:33

doc_root = переменная задаёт каталог, в котором размещаются PHP-скрипты. Эта директива разрешает исполнение скриптов только в указанном каталоге и его поддиректориях.

в моем случае doc_root = /usr/local/www/hosts

артур, 2010-05-11 в 19:47:47

Написали бы ман с использованием php 5.3.x (последний на данный момент). Под эту версию пыха нет пакета php-fpm =\ Но каким-то образом поднимают связку.

sabas, 2010-05-12 в 16:05:12

артур,
лови , правда там не так хорошо все разжевано ... но если с "ручками" порядок , соберешь минут за 20 ))) http://forum.nginx.org/read.php?25,73314

артур, 2010-05-14 в 11:06:14

С горем пополам собрал.
Последние версии php-fpm надо прям в исходники пыха влить и вместе с пыхом собирать.
Не понял сам как собралось если честно) Вроде работает.

Pandora, 2010-08-04 в 20:57:54

location ~ \.php$ {
   ....
   try_files $uri =404;
   ...
}

exploit http://site.ru/images/as5df3.jpeg/.php

risk94, 2010-09-12 в 14:45:37

Таки начиная с шестерки параметр kern.polling.enable убран из sysvtl ... и рулится непосредственно через ifconfig:

http://svn.freebsd.org/viewvc/base?view=revision&revision=196267

Fire_Anton, 2010-10-04 в 2:12:15

Ай, Ай, Ай. Чему вы молодежь учите.
reboot - это экстренная перезагрузка, все демоны выбрасываются из памяти и комп идет на перезагрузку.
shutdown -r now - это есть корректная перезагрузка системы с завершением всех демонов, а не выкидывание их из памяти.

Статья супер. ;) Поправь перезагрузку.

maximus, 2010-12-28 в 16:37:18

Ребут - привычка линуховая, ибо что ребут, что шатдаут - уже ни какой разницы нет =) по крайней мере еще когда учился по книжке Slackware 3.1
В целом я бы и до сих пор им пользовался... Если бы не hal начиная с 11 версии.
Получил головняк когда одна из 5 сетевух вышла из строя, после смены долго танцевал с их именами/адресами.. с тех пор всё сетевое - на Фре.
Именно тогда я почуял удовольствие от названия интерфейсов.. em, xl, rl bg и т.д

Илья, 2013-04-11 в 15:49:02

register_globals=On !!!! На костер его!!!

Интересующийся, 2013-04-26 в 8:46:40

Сделал все как описано в статье. Но при попытке открыть .cgi отображается их содержимое, хотя .php нормально выполняются

nikll, 2013-04-26 в 10:54:28

на костер не надо :) там же вполне ясно написанно:
>> Пхп каждый конфигурит себе сам, но на основе длительного ковыряния с кучей серверов у меня получилось оптимальным вот это

Между прочим статья 2008 года, на тех серверах крутился софт котрый требовал register_globals=On вариант переписать ту кучу кала даже не рассматривался.

nginx не умеет .cgi, только fcgi


Оставьте свой комментарий:
Ваше имя:   *
e-mail:  
жирный
наклонный
подчёркнутый
ссылка
цвет
Нынешний год:   *
 


Хостинг HOST-FOOD

2014-07-27, lissyara
gmirror

Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9

Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту

Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis

Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS

Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT

В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat

Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp

Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration

Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster

HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS

История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire

Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной

Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server

Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-11, Fomalhaut
cvs, svn, portsnap

Обновление сорцов системы через CVS и SVN, портов - CVS и portsnap. Обновление через Proxy-сервер.
2011-01-07, lissyara
Canon/gphotofs

Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec

Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash

Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPT

Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3

Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
2010-08-31, Cancer
Установка и настройка OpenVPN

На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
2010-08-25, manefesto
freebsd lvm

Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
2010-04-30, gonzo111
proftpd file auth&quota

Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
2010-04-22, lissyara
tw_cli

Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
2010-04-14, fox
MySQL Master+Master

MySQL (Master Master) and (Master Slave) Как настроить репликацию…
2010-03-22, Mufanu
named 9.7.0

Система доменных имен (Domain Name Service, DNS) - одна из тех незаметных, закулисных программ, которым не уделяется и половины того внимания, которого они заслуживают.
2010-03-09, terminus
DNS zones

Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
2010-03-09, aspera
Squid+AD (group access)

Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы
2010-03-02, BlackCat
Шлюз: Часть 4

Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org.
2010-03-01, BlackCat
Шлюз: Часть 3

Настройка DHCP и DNS серверов для работы внутри частной сети, c поддержкой внутренних (частных зон) DNS, а так же интеграция DHCP и DNS сервисов.
2010-03-01, BlackCat
Шлюз: Часть 2

Конфигурация МСЭ pf для проброса портов с изменением порта назначения и без, а так же поддержки активного режима FTP и ограничения максимального размера сегмента
2010-03-01, BlackCat
Шлюз: Часть 1

Быстрая настройка шлюза/маршрутизатора с установлением PPPoE-соединения, поддержкой NAT и DNS-forwarding.
2010-02-23, Morty
darkstat

Простая считалка траффика, со встроенным веб-сервером. Очень маленькая, может делать отчеты трафика по хостам, портам, протоколам, а также строить графики
2010-01-23, gonzo111
squid+sams+sqstat

Пилим squid и sams - примеры конфигов с объяснениями. Установка SqStat.
2009-12-19, schizoid
mpd5 + radius + ng_car + Abills

Настройка pppoe-сервера с биллинговой системой Abills и шейпером ng_car
2009-11-16, lissyara
UFS->ZFS

Удалённая миграция с UFS на ZFS. Загрузка с раздела zfs. Настройка для работы с малым количеством памяти под архитектурой i386.
2009-11-13, gx_ua
fusefs-ntfs

Установка, настройка и использование fusefs-ntfs, драйвер NTFS, предназанченного для монтирования NTFS разделов под FreeBSD
2009-11-12, Morty
LiveCD

Создание собственного LiveCD с необходимыми вам изменениями, автоматизирование данного процесса, а так же вариант скоростной сборки СД.
2009-09-27, lissyara
Samba как PDC

Контроллер домена - аналог M$ NT4 домена под самбой, без использования LDAP и прочей хиромантии. Просто и быстро =)
2009-08-30, terminus
ipfw nat

Подробное руководство по ipfw nat, сложные случаи конфигурации.
2009-08-24, levantuev
HotSpot

Установка Hotspot системы в общественное заведение.
2009-08-18, lissyara
diskless

Создание бездисковых терминалов под управлением FreeBSD - с загрузкой по сети. Используются для старта rdesktop и подключения к виндовому серверу терминалов.
2009-07-29, BAV_Lug
Видеонаблюдение

Настройка бюджетного варианта видеонаблюдения на удаленном объекте
2009-07-22, Cancer
OpenLDAP адресная книга

Настройка и создание адресной книги на базе OpenLDAP + phpLDAPadmin
2009-06-30, SergeySL
AimSniff

Руководство по созданию системы мониторинга ICQ-переписки на базе AimSniff, использующей базу данных MySQL для хранения и Web-интерфейс WAS (Web Aim Sniff) для просмотра перехваченных сообщений
2009-06-25, atrium
Управление правами доступа

Полномочия пользователей и файлов, принадлежащих им, формирует концепцию ОС UNIX.
2009-06-16, DNK
Exim+PgSQL

Установка почтовой системы exim+pgsql на FreeBSD 7.1
2009-05-30, mvalery
HDD(mbr) -> HDD(gpt)

Как разбить диск размером более 2TB на разделы, сделать загрузочным, а затем перенести на него информацию с рабочей системы — донора.
2009-05-22, Cancer
SendXMPP

Отправка сообщений на Джаббер сервер по средствам SendXMPP
2009-05-11, Raven2000
Network UPS Tools

Network UPS Tools представляет собой набор программ, которые обеспечивают общий интерфейс для мониторинга и администрирование UPS оборудования.
2009-04-29, m0ps
IPSEC over GRE with RIP

Пример IPSEC over GRE и динамическим роутингом (RIP), с ADSL в качестве последней мили на оборудовании Cisco.
2009-04-24, WhiteBear777
qemu network

Появилась необходимость поставить на БСД эмулятор(qemu) и настроить в качестве гостевой ОС Windows XP, предоставив ей выход в локалку и в сеть internet...
2009-04-22, vp
freebsd + huawei 162 gsm modem

В статье описывается простой способ подключения модема huawei 162 к freebsd + первичная настройка smstools
2009-04-12, mvalery
Мониторинг RAID

Мониторинг из командной строки RAID компаний AMCC 3ware, HighPoint, Dell (Perc 5/i и PERC 6/i) и LSI (MegaRAID SAS 8408E и SAS1078)
2009-04-09, texnotronic
RAID1 via LAN

Функциональности DRBD во FreeBSD можно добиться примонтировав блочное устройство по сети при помощи GEOM Gate (ggate) и добавив его в зеркало с локальным диском средствами gmirror.
2009-04-03, Raven2000
Оптимизация хоста для CMS

В последнее время на старый и не очень быстрый ПК (Celeron 800 RAM 256) мною было навешано с десяток сайтов и некоторые были из серии тяжелых CMS. И так нам дано FreeBSD 7.1 и ~10 сайтов/CMS.
2009-04-01, atrium
VSFTPD + AD && MySQL

Настройка самого безопасного сервера FTP - vsftpd.
2009-03-31, Dron
Peoplenet + C-motech (3G)

Описание подключения к сети Peoplenet посредством 3G модема С-motech CCu-650U на FreeBSD
2009-03-25, lissyara
mod_auth_external

mod_auth_external - авторизация пользователей в apache c помощью внешней программы - например, системных пользователей.
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 11 чел.
За последние 30 мин было: 68 человек
За сегодня было
13264 показов,
1683 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

веселые картинки развлекательные гифки интресные факты смешные видео смешные истории из соцсетей

Время генерации страницы 1.0087 секунд
Из них PHP: 97%; SQL: 3%; Число SQL-запросов: 77 шт.
У Вас отключено GZIP-сжатие в браузере. Размер страницы 189823