====== Битрикс: Apache+PHP+MySQL+Nginx ======
===== APC =====
Добавляем в /etc/php5/conf.d/apc.ini
; Settings for Bitrix
apc.num_files_hint=20000
apc.user_entries_hint=20000
apc.ttl=86400
apc.max_file_size=8M
apc.shm_size=512M
===== PHP =====
Добавляем в .htaccess
php_flag session.use_trans_sid off
php_value max_execution_time 300
php_value realpath_cache_size 8192
php_value max_input_vars 3000
php_value memory_limit 128M
php_value upload_tmp_dir /home/testuser/tmp
php_value upload_max_filesize 512M
php_value session.save_path /home/testuser/tmp
# php_value pcre.recursion_limit 14000
# php_value realpath_cache_size 4096k
===== Apache2 =====
Добавить в /etc/init.d/apache2 строку
ulimit -s unlimited
Для соответствия php5/mbstring пожеланиям битрикса можно добавить в конфигурацию виртуального хоста следующее:
php_value default_charset utf-8
php_admin_value mbstring.func_overload 2
php_value mbstring.internal_encoding utf-8
php_admin_value realpath_cache_size "4096k"
===== MySQL =====
Добавить в /etc/mysql/my.cnf
[mysqld]
transaction-isolation = READ-COMMITTED
tmp_table_size = 48M
max_heap_table_size = 48M
table_open_cache = 800
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT
===== Траблшутинг =====
==== Работа с сокетами: Ошибка ====
Варианты:
* Тупо не может разыменовать имя домена, лечим правкой /etc/hosts
* Порт веб-сервера закрыт фаерволом, проверяем iptables
==== Размер стека и pcre.recursion_limit Замечание. Возможны проблемы в работе с длинными строками из-за системных ограничений ====
CentOs:
* В файле /etc/php.d/bitrixenv.ini изменить "pcre.recursion_limit = 14000" на "pcre.recursion_limit = 100000"
* В скрипте запуска сервера HTTP Apache /etc/rc.d/init.d/httpd изменить функцию "start()", добавив в нее одну строку (ulimit -s unlimited):
start() {
echo -n $"Starting $prog: "
ulimit -s unlimited
LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch ${lockfile}
return $RETVAL
}
После это предупреждения о проблемах с размером стека и pcre.recursion_limit появляться не будут
==== Где взять скрипт restore.php ====
Если есть готовый бэкап, то restore.php можно найти в bitrix/module/main/admin/
{{tag>bitrix apache apache2 nginx php php5 mysql speed оптимизация настройка restore.php}}