[РЕШЕНО] настройка Nginx на Digital Ocean под Drupal

Пнд, 06/01/2014 - 06:38

Настраиваю сервер Nginx для сайта c Domain Access на Диджитал Оушене (можно и на vultr.com, он дешевле и даже немного лучше).

Есть ли какие-нибудь особенности настройки его под Друпал для максимальной пользы?

----------------------------------------------------------------------------------------------------------------------

Настроил, может кому пригодится, использовал:

каплю - Debian 7 64 php 5.4 NGINX

1. Перенос:

# использовал SCP:

https://www.digitalocean.com/community/articles/how-to-migrate-a-mysql-database-between-two-servers

Но можно и проще (?):

https://www.digitalocean.com/community/articles/how-to-use-sshfs-to-mount-remote-file-systems-over-ssh

Вроде неплохая подборка видео по переносу:

http://www.youtube.com/playlist?list=PL91978F0CB6BC302B

2. Установка сервера:

https://www.digitalocean.com/community/articles/how-to-install-drupal-with-nginx-on-an-ubuntu-13-04-vps

Написано под Ubuntu 13.04, я ставил в Debian 7, всё норм.

# Сначала ставим всё необходимое:

sudo apt-get update

sudo apt-get install mysql-server php5-mysql

sudo apt-get install nginx

# Запускаем сервер:

sudo service nginx start

# Устанавливаем PHP:

sudo apt-get install php5-fpm

# Настраиваем PHP:

открываем php.ini

sudo nano /etc/php5/fpm/php.ini

# Меняем на 0 (для безопасности):

cgi.fix_pathinfo=0

# Далее редактируем конфигурацию php5-fpm:

sudo nano /etc/php5/fpm/pool.d/www.conf

# В нём находим строку listen = 127.0.0.1:9000, и меняем 27.0.0.1:9000 на /var/run/php5-fpm.sock:

listen = /var/run/php5-fpm.sock

# Рестарт php5-fpm:

sudo service php5-fpm restart

# Загружаем друпал:

wget http://ftp.drupal.org/files/projects/drupal-7.25.tar.gz

7.25 - меняем на актуальную версию.

(я делал драшем)

# Распаковываем:

tar xzvf drupal-7.25.tar.gz

7.25 - меняем на актуальную версию.

## Создаем БД и юзера:

# Заходим:

mysql -u root -p

# Создаем БД:

CREATE DATABASE drupal;

вместо drupal - можно любое название

# создаем юзера:

CREATE USER drupaluser@localhost;

# Устанавливаем пароль нового юзера password

SET PASSWORD FOR drupaluser@localhost= PASSWORD("password");

# Даем юзеру привилегии:

GRANT ALL PRIVILEGES ON drupal.* TO drupaluser@localhost IDENTIFIED BY 'password';

# Обновляем MySQL:

FLUSH PRIVILEGES;

# Выходим из MySQL:

# Копируем файлы:

Директория сервера в Ubuntu 13.04 находится в /usr/share/nginx/html/.

(У меня в Debian 7 в /usr/share/nginx/www/)

# Создаем директорию drupal:

sudo mkdir /usr/share/nginx/html/drupal

# Копируем файлы друпала из своей домашней директории:

cd ~
sudo mv drupal-7.25/* /usr/share/nginx/html/drupal/

## Настройка Друпала:

# Копируем default.settings.php и переименовываем в settings.php

sudo cp /usr/share/nginx/html/drupal/sites/default/default.settings.php /usr/share/nginx/html/drupal/sites/default/settings.php

# Даем права на запись:

sudo chmod a+w /usr/share/nginx/html/drupal/sites/default/settings.php

# Меняем права для директории:

sudo chmod a+w /usr/share/nginx/html/drupal/sites/default

ИЛИ Есть классный скрипт (https://www.drupal.org/node/244924) который автоматически проставляет везде нужные права :

<pre>#!/bin/bash
if [ $(id -u) != 0 ]; then
        printf "This script must be run as root.\n"
        exit 1
fi
drupal_path=${1%/}
drupal_user=${2}
httpd_group="${3:-www-data}"
# Help menu
print_help() {
cat <<-HELP
This script is used to fix permissions of a Drupal installation
you need to provide the following arguments:
1) Path to your Drupal installation.
2) Username of the user that you want to give files/directories ownership.
3) HTTPD group name (defaults to www-data for Apache).
Usage: (sudo) bash ${0##*/} --drupal_path=PATH --drupal_user=USER --httpd_group=GROUP
Example: (sudo) bash ${0##*/} --drupal_path=/usr/local/apache2/htdocs --drupal_user=john --httpd_group=www-data
HELP
exit 0
}
# Parse Command Line Arguments
while [ $# -gt 0 ]; do
        case "$1" in
                --drupal_path=*)
drupal_path="${1#*=}"
;;
--drupal_user=*)
drupal_user="${1#*=}"
;;
--httpd_group=*)
httpd_group="${1#*=}"
;;
--help) print_help;;
*)
printf "Invalid argument, run --help for valid arguments.\n";
exit 1
esac
shift
done
if [ -z "${drupal_path}" ] || [ ! -d "${drupal_path}/sites" ] || [ ! -f "${drupal_path}/core/modules/system/system.module" ] && [ ! -f "${drupal_path}/modules/system/system.module" ]; then
printf "Please provide a valid Drupal path.\n"
print_help
exit 1
fi
if [ -z "${drupal_user}" ] || [ $(id -un ${drupal_user} 2> /dev/null) != "${drupal_user}" ]; then
printf "Please provide a valid user.\n"
print_help
exit 1
fi
cd $drupal_path
printf "Changing ownership of all contents of "${drupal_path}":\n user => "${drupal_user}" \t group => "${httpd_group}"\n"
chown -R ${drupal_user}:${httpd_group} .
printf "Changing permissions of all directories inside "${drupal_path}" to "rwxr-x---"...\n"
find . -type d -exec chmod u=rwx,g=rx,o= '{}' \;
printf "Changing permissions of all files inside "${drupal_path}" to "rw-r-----"...\n"
find . -type f -exec chmod u=rw,g=r,o= '{}' \;
printf "Changing permissions of "files" directories in "${drupal_path}/sites" to "rwxrwx---"...\n"
cd sites
find . -type d -name files -exec chmod ug=rwx,o= '{}' \;
printf "Changing permissions of all files inside all "files" directories in "${drupal_path}/sites" to "rw-rw----"...\n"
printf "Changing permissions of all directories inside all "files" directories in "${drupal_path}/sites" to "rwxrwx---"...\n"
for x in ./*/files; do
find ${x} -type d -exec chmod ug=rwx,o= '{}' \;
find ${x} -type f -exec chmod ug=rw,o= '{}' \;
done
echo "Done settings proper permissions on files and directories"

Копируешь код данный выше в файл и называешь его, нарример "fix-permissions.sh" и запускаешь: <pre>sudo bash fix-permissions.sh --drupal_path=your/drupal/path --drupal_user=your_user_name</pre> т.е. с нашими данными, это примерно так: <pre>sudo bash fix-permissions.sh --drupal_path=/usr/share/nginx/www/директория_нашего_сайта --drupal_user=www-data</pre>

# Устанавливаем php модуль:

sudo apt-get install php5-gd

# Рестартим

sudo service php5-fpm restart

## Настраиваем виртуальные хосты:

# Копируем дефолтный конфиг и переименовываем в drupal (конфиг для нашего сайта):

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/drupal

# Редактируем наш конфиг:

sudo nano /etc/nginx/sites-available/drupal

Как то так:

server {
        listen   80;
        root /usr/share/nginx/html/drupal;
        index index.php index.html index.htm;
        server_name 162.243.9.129;
        location / {
                try_files $uri $uri/ /index.php?q=$uri&$args;
        }
        error_page 404 /404.html;
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
              root /usr/share/nginx/html/drupal;
        }
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9$
        location ~ \.php$ {
                #fastcgi_pass 127.0.0.1:9000;
                # With php5-fpm:
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;

                 }

Т.е.:

- поменяли root на /usr/share/nginx/html/drupal

- поменяли server_name из localhost на доменное имя твоего сайта или его IP

- поменяли "try_files $uri $uri/ /index.html;" на "try_files $uri $uri/ /index.php?q=$uri&$args;"

!!! Есть более интересный вариант, если установить

sudo apt-get install nginx-doc

то в директории /usr/share/doc/nginx-doc/examples/, уже есть готовый конфиг, заточенный под друпал:

cd /usr/share/doc/nginx-doc/examples/
gunzip drupal.gz

# Активируем конфигурацию:

sudo ln -s /etc/nginx/sites-available/drupal /etc/nginx/sites-enabled/drupal

# Удаляем дефолтную:

sudo rm /etc/nginx/sites-enabled/default

# Перегружаем сервер:

sudo service nginx restart

# Открываем IP сайта (или домен)/drupal/setup.php и устанавливаем друпал.
-------------------------------------------------------------------------------------------

А вот здесь уже готовый конфиг, но немного сложноватый:

https://github.com/perusio/drupal-with-nginx/blob/D7/README.md

с этим (от perusio) конфигом используем сборку сервера из http://debian.perusio.net/unstable/

3. Настройка мультисайтинга:

https://www.digitalocean.com/community/articles/how-to-enable-multiple-sites-on-a-drupal-installation-on-ubuntu-12-04

4. настройка DNS:

я просто добавил домены в ДНС на оушене и прописал у регистратора - ns1.digitalocean.com ns2.digitalocean.com ns3.digitalocean.com.

5. Кэширование:

http://www.echoditto.com/blog/more-drop-bucket-drupal-8-nginx-and-microcaching

# Микрокэширование

в файле конфига твоего сайта на nginx добавляешь

location ~ \.php$ {
set $no_cache "";
if ($request_method !~ ^(GET|HEAD)$) {
set $no_cache "1";
}
if ($no_cache = "1") {
add_header Set-Cookie "_mcnc=1; Max-Age=2; Path=/";
add_header X-Microcachable "0";
}
if ($http_cookie ~ SESS) { #checks an auth'd user
set $no_cache "1";
}
#... lots of fastcgi stuff to do the caching
}

http://valic.me/article/how-configure-nginx-php-fpm-mysql-memcached-apc-and-drush-drupal-7-debian-70-wheezy-20#.UtQKovQW2Pt

http://www.accella.net/drupal-7-memcached-apc-nginx-php5-fpm-squeeze-optimization/

# Сжатие gzip:

http://stackoverflow.com/questions/15999606/enable-gzip-compression-with-nginx

я просто вот так раскомментировал в конфиге nginx /etc/nginx/nginx.conf:

##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

6. Защита:

- связка nginx, logwatch, fail2ban и ufw http://habrahabr.ru/post/153589/

пока только fail2ban поставил, якобы из коробки работает, посмотрим:

- http://putty.org.ru/articles/fail2ban-ssh.html

Мэмкеш настроить пока не получилось (php 5.4).

Панель не ставил - но хорошие отзывы по веста.

7. Для внеклассного чтения подробные/детальные руководства/гайды:

Очень неплохое руководства в друпал-nginx группе: https://groups.drupal.org/node/388488

С картинками + защита от атак +SSL: http://dashohoxha.blogspot.ru/2012/10/using-nginx-as-web-server-for-drupal.html

PS: Кому что непонятно пишите в коментах, это позволит мне лучше расписать тему.

________________________________________________________________________________________________________________

<<<ПРОДОЛЖЕНИЕ ЗДЕСЬ>>>, т.к. сюда уже не вмещается.

1 Спасибо

Комментарии

Аватар пользователя ttenz
3 года 2 months назад ttenz #

как-то так

0 Спасибо
Аватар пользователя grob.82
3 года 2 months назад grob.82 #

спасибо, на досуге полистаю

0 Спасибо
Аватар пользователя grob.82
3 года 2 months назад grob.82 #
ttenz написал:
Мэмкеш настроить пока не получилось (php 5.4).

Вроде Drupal 7 плохо дружит с php 5.4

0 Спасибо
Аватар пользователя ttenz
3 года 2 months назад ttenz #
grob.82 написал:
Вроде Drupal 7 плохо дружит с php 5.4

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

а друпал норм летает.

0 Спасибо
Аватар пользователя natbampo
3 года 2 months назад natbampo #

куча варнингов и тому подобное у друпал 7 на php 5.4.

0 Спасибо
Аватар пользователя ttenz
3 года 2 months назад ttenz #
natbampo написал:

не знаю, у меня всё чисто D7:

php -v
PHP 5.4.4-14+deb7u7 (cli) (built: Dec 12 2013 08:42:07)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
0 Спасибо
Аватар пользователя grob.82
3 года 2 months назад grob.82 #

Спасибо, сейчас попробую все заново!

0 Спасибо
Аватар пользователя grob.82
3 года 2 months назад grob.82 #

Конфигом mysql можешь поделится?

0 Спасибо
Аватар пользователя ttenz
3 года 2 months назад ttenz #
grob.82 написал:

а он (пока) у меня дефолтный, я его никак не правил /etc/mysql/my.cnf

0 Спасибо
Аватар пользователя Lizergin
3 года 2 months назад Lizergin #
ttenz написал:
а он (пока) у меня дефолтный, я его никак не правил /etc/mysql/my.cnf

MySQLTuner

0 Спасибо
Аватар пользователя Lizergin
3 года 2 months назад Lizergin #
ttenz написал:
sudo apt-get install php5-fpm

получается ты вообще от индейца (apache) отказался?

0 Спасибо
Аватар пользователя ttenz
3 года 2 months назад ttenz #
imenami написал:

да.

«Apache is like Microsoft Word, it has a million options but you only need six. Nginx does those six things, and it does five of them 50 times faster than Apache.»

-- Chris Lea

0 Спасибо
Аватар пользователя Lizergin
3 года 2 months назад Lizergin #
ttenz написал:
«Apache is like Microsoft Word, it has a million options but you only need six. Nginx does those six things, and it does five of them 50 times faster than Apache.»
-- Chris Lea

ох ох, главное что б сео-слайдер улетно работал и конфиг ngnix-а грамотно настрой, а то еще через статику кто проникнет )))

0 Спасибо
Аватар пользователя okolobaxa
3 года 2 months назад okolobaxa #

Брал конфиг nginx отсюда, всё шикарно работает.

0 Спасибо
Аватар пользователя ttenz
3 года 2 months назад ttenz #
okolobaxa написал:

а сервер из сорцев собирал (+Upload Progress Module)?

0 Спасибо
Аватар пользователя ttenz
3 года 2 months назад ttenz #
okolobaxa написал:

ага теперь понятно.
Благодарю.

0 Спасибо
Аватар пользователя FORTIS
3 года 2 months назад FORTIS #

ядрышко норм работает а вот при большом числе контрибов варнинги будут сыпаться, тот же кикстартер изобилует ими на 5.4

0 Спасибо
Аватар пользователя FORTIS
3 года 2 months назад FORTIS #
ttenz написал:
А вот здесь уже готовый конфиг, но немного сложноватый:
https://github.com/perusio/drupal-with-nginx/blob/D7/README.md
с этим (от perusio) конфигом используем сборку сервера из http://debian.perusio.net/unstable/

у вас с этим конфигом php-fpm в логи жалуется на ооочень долгое время выполнения index/cron ?

0 Спасибо
Аватар пользователя okolobaxa
3 года 2 months назад okolobaxa #
FORTIS написал:
у вас с этим конфигом php-fpm в логи жалуется на ооочень долгое время выполнения index/cron ?

Вот такая строчка в логе есть, оно?
[pool www1] child 15530, script '/home/oldsaratov/www/index.php' (request: "GET /index.php") executing too slow (6.188998 sec), logging

0 Спасибо
Аватар пользователя FORTIS
3 года 2 months назад FORTIS #

да только чаще там бывает тысячи секунд, сейчас правда пропало может изза keepalive 1 (вместо 5), но было проблемой

0 Спасибо
Аватар пользователя okolobaxa
3 года 2 months назад okolobaxa #

Посмотрел логи за последний месяц - дольше 10 секунд нигде нет

0 Спасибо
Аватар пользователя ttenz
3 года 2 months назад ttenz #
FORTIS написал:
у вас с этим конфигом php-fpm в логи жалуется на ооочень долгое время выполнения index/cron ?

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

0 Спасибо
Аватар пользователя grob.82
3 года 2 months назад grob.82 #
ttenz написал:
на отдельном ресурсе.

полезно будет, так что ждем!

0 Спасибо
Аватар пользователя Lotar
3 года 2 months назад Lotar #

Читаю

0 Спасибо
Аватар пользователя ttenz
3 года 2 months назад ttenz #

Подводный камень №1:

интересную вещь обнаружил - кернел на лету в можно менять Settings - Kernel, поменял на 32 разрядность Debian 7.1., т.к. памяти меньше 3 Гб, то якобы лучше 32, меньше памяти ест, проверим.

!!!изменил, перегрузил, не перегрузилась, пришлось из образа восстанавливать и вернуть версию кернела, надо было сразу при создании дроплетки.

0 Спасибо
Аватар пользователя grob.82
3 года 2 months назад grob.82 #
ttenz написал:
то якобы лучше 32

Чем оно лучше? если даже и лучше мы этого не заметим.

0 Спасибо
Аватар пользователя petrovnn
3 года 1 month назад petrovnn #
ttenz написал:
интересную вещь обнаружил - кернел на лету в можно менять Settings - Kernel, поменял на 32 разрядность Debian 7.1., т.к. памяти меньше 3 Гб, то якобы лучше 32, меньше памяти ест

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

0 Спасибо
Аватар пользователя ttenz
3 года 1 month назад ttenz #
petrovnn написал:

да, почему же, типа свобода, не знаю, я на 64 512 мб, норм, летает, быстрее чем на it-patrol было.

0 Спасибо
Аватар пользователя petrovnn
3 года 1 month назад petrovnn #

еще вопрос к автору - сколько памяти у вас (оперативной), и ядер?
UPD
не обновил страницу.
Выходит 512 и одно ядро, уже понял. Я тоже начал с этого тарифа, но если удастся настроить чтобы не падало, перейду на тариф с гигом памяти.

Я пока сижу на ЛАМПе, но если не получится, попробую вашу инструкцию

0 Спасибо
Аватар пользователя ttenz
3 года 1 month назад ttenz #
petrovnn написал:
попробую вашу инструкцию

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

0 Спасибо
Аватар пользователя petrovnn
3 года 1 month назад petrovnn #
ttenz написал:
скоро выйдет обновленный пост, но на другом ресурсе, дам ссылку позже.

ок, буду ждать.
А почему выбрал Debian 7 64? Там большая будет разница между ним и убунтой 12.04 или 13.04?

0 Спасибо
Аватар пользователя ttenz
3 года 1 month назад ttenz #
petrovnn написал:

но что 64 пожалел, для 512 Мб надо бы 32, а Debian он вылизанный, стабильный, обкатанный.

petrovnn написал:
Там большая будет разница между ним и убунтой 12.04 или 13.04?

не, там пути к сайту разные и всё.

0 Спасибо
Аватар пользователя petrovnn
3 года 1 month назад petrovnn #

ок, при написании статьи прошу учесть существование таких материалов (может что-то найдется полезное)
https://github.com/perusio/drupal-with-nginx
http://pastebin.com/ZkY99qFe
https://www.digitalocean.com/community/articles/how-to-install-drupal-with-nginx-on-an-ubuntu-13-04-vps
https://www.digitalocean.com/community/articles/how-to-install-linux-nginx-mysql-php-lemp-stack-on-ubuntu-12-04

0 Спасибо
Аватар пользователя ttenz
3 года 1 month назад ttenz #
petrovnn написал:
http://pastebin.com/ZkY99qFe

мою любимый,

а perusio я все равно добью.

0 Спасибо
Аватар пользователя chilic
3 года 1 month назад chilic #

Немного критики:

ttenz написал:
location / { try_files $uri $uri/ /index.php?q=$uri&$args; }

Не очень удачное решение. т.к. при такой конфигурации может не работать модуль globalredirect.

На мой взгляд лучше будет так:

location / {
    try_files      $uri @drupal;
}
         
location @drupal { ...

Почему?

ttenz написал:
error_page 404 /404.html;

У Вас imagecache и агрегация js/css работают?

Обычно выглядит:

error_page 404 = @backend;

Бессиыссленно:

ttenz написал:
location = /50x.html { root /usr/share/nginx/html/drupal; }

0 Спасибо
Аватар пользователя ttenz
3 года 1 month назад ttenz #

подумаю, но у меня всё работает и глобалредирект и картинки и сжатие (css точно).

но по картинкам я дописывал (сюда инфа уже не добавляется):

     location ~ ^/sites/.*/files/styles/ {
                try_files $uri @rewrite;
        }
 
        location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
                expires max;
                log_not_found off;
        }

текущая конфигурация здесь описана - http://saitodelatel.ru/nastroika-servera-na-digital-ocean-pod-drupal

chilic написал:
Почему?

я пока не дошел до этапа осмысления, пока просто поиск решений и их тестирование, всё работает как бы.

0 Спасибо
Аватар пользователя Fly dream
2 года 11 months назад Fly dream #

Сделал все по как описано в статье, при попытке открыть страницу выдает 403 ошибку, почему - не могу разобраться. Сменил владельца папки с сайтом на www-data и вообще доступ выставил на 777, где еще может быть собака зарыта?

0 Спасибо
Аватар пользователя ttenz
2 года 11 months назад ttenz #
Fly dream написал:
Сделал все по как описано в статье, при попытке открыть страницу выдает 403 ошибку

перечитай здесь, сравни конфиги, выложи логи - http://saitodelatel.ru/nastroika-servera-na-digital-ocean-pod-drupal

перенос сайта, новый сайт?

логин пароль базы сеттингс?

использовалась панель?

0 Спасибо
Аватар пользователя Fly dream
2 года 10 months назад Fly dream #

Делаю перенос сайта, конфиги переправил на те что по ссылке, логи какие именно?
В error.log 2014/04/28 15:28:35 [error] 5760#0: *1 directory index of "/usr/share/nginx/html//" is forbidden, client: 5.18.184.29, server: **, request: "GET / HTTP/1.1", host: "188.226.***.***"
Логин\пароль от базы прописал в сеттингах друпала
Все делаю по ssh

0 Спасибо
Аватар пользователя ttenz
2 года 10 months назад ttenz #
Fly dream написал:
"/usr/share/nginx/html/"

если структура не /usr/share/nginx/www/, то соответственно и в руководстве нужно использовать эту структуру, соответственно и в конфигах не root /usr/share/nginx/www/_наш_сайт_;, а /usr/share/nginx/html/ /_наш_сайт_;.

+ покажи ps faxu

0 Спасибо
Аватар пользователя Moel
2 года 8 months назад Moel #
ttenz написал:
ttenz

Пасибки, интерестно. Настроил на DO.

0 Спасибо
Аватар пользователя ttenz
2 года 8 months назад ttenz #
Moel написал:

не за что, а было на чем?

0 Спасибо
Аватар пользователя Moel
2 года 8 months назад Moel #
ttenz написал:
не за что, а было на чем?

Было на it-patrol.

0 Спасибо
Аватар пользователя Moel
2 года 8 months назад Moel #

Кстати по панелям. Есть у меня веста на другом проекте. Красивая, удобная и т.д. Но везде пишут что память она отжирает неплохо.

0 Спасибо
Аватар пользователя ttenz
2 года 8 months назад ttenz #

я панель не ставил, мне проще через командную, но планирую поэкспериментировать с вестой и isp менеджером.

0 Спасибо
Аватар пользователя Moel
2 года 8 months назад Moel #

Еще поставил APC. Настроил как кэширующий бэкэнд c помощью модуля https://www.drupal.org/project/apc.
Вроде норм работает. Конфиг APC
extension=apc.so
;включено
apc.enabled=1
;сегменты
apc.shm_segments=1
;память
apc.shm_size=64
;через сколько милисекунд очищать кэш
apc.ttl=0
;процесс загрузки
apc.rfc1867=1
;кэшируем все файлы или не все
apc.cache_by_default = 0
;то что кэшируем
apc.filters = "+_папка вашего сайта_"

В settings.php дописываем
$conf['cache_backends'] = array('sites/all/modules/apc/drupal_apc_cache.inc');
$conf['cache_default_class'] = 'DrupalAPCCache';

0 Спасибо

Страницы