1. Мы продолжаем публиковать интересные статьи на тему SocialEngine 4. Одна из статей посвящена правильному выбору сервера для вашей социальной сети, а другая содержит советы по увеличению производительности платформы. Также мы добавили большую статью о пользовательских уровнях. Ознакомиться со статьями вы можете в разделе Вопросы и Ответы SocialEngine 4.
  2. Вам кажется, что ваша версия SocialEngine 4, работает медленно?

    Голосуйте. Пишите свою версию системы, железо на чем работает и количество пользователей. Будем увеличивать производительность :-) Подробнее

  3. В связи с участившимися случаями попыток продажи пользователями форума различных "сборок" коммерческих социальных платформ, обычно основанных на SocialEngine 3, вводится новое правило для форума. Запрещается создание тем или размещение в уже созданных предложений о продаже или размещение ссылок на сайты, где происходит продажа "сборок". Пользователи, которые продолжат свою коммерческую деятельность в данном направлении, будут заблокированы. Подробнее.

Ставим Debian, nginx + fastcgi php+ mysql...Yesterdaay....

Discussion in 'Сервера' started by dream, Apr 4, 2011.

  1. dream Thread starter User


    Offline
    Message Count:
    144
    Likes Received:
    32
    Установим собственно php, в подходящей нам комплектации:
    aptitude install php5 php5-cgi php5-mysql php5-curl php5-gd php5-json php5-mcrypt

    Теперь нам нужно исправить конфигурационный файл php до нужного нам состояния. Откроем файл /etc/php5/cgi/php.ini в любимом текстовом редакторе. Поиском находим строку, содержащую cgi.fix_pathinfo. Нам нужно привести её к виду:

    cgi.fix_pathinfo = 1
    Если перед ней есть символ ; – уберите его, расскоментировав тем самым эту строку. Если там 0 – замените на 1.

    Теперь нам нужно установить lighttpd или spawn-fcgi. В комплекте с lighttpd идёт утилита spawn-fcgi. В более старых дистрибутивах (etch, убунты 8.х и, возможно, lenny) нет отдельного пакета spawn-fcgi.

    Для начала проверим, есть ли пакет spawn-fcgi:[у меня не было]
    PHP:
    root@debian-nginx-fastcgi:~$ aptitude search spawn-fcgi
    Если вы увидите строку:
    p spawn-fcgi – A fastcgi process spawner
    то спаунер у нас есть и мы его установим:
    PHP:
    root@debian-nginx-fastcgi:~$ aptitude install spawn-fcgi
    и переходим к части статьи «установка nginx»
    Если спаунера у нас нет, то ставим lighttpd:
    PHP:
    root@debian-nginx-fastcgi:~$ aptitude install lighttpd
    После чего отключаем его и «убираем из автозагрузки»:
    PHP:
    root@debian-nginx-fastcgi:~$ /etc/init.d/lighttpd stop && update-rc.-f lighttpd remove
    Установим nginx:
    PHP:
    root@debian-nginx-fastcgi:~$ aptitude install nginx
    Создадим каталог для сайта:
    PHP:
    root@debian-nginx-fastcgi:~$ mkdir /var/www/example.ru
    Как вы уже догадались, имя сайта у нас будет example.ru. Для редактирования файлов сайта мы будем использовать пользователя web (например, вообще же – используйте кого хотите).
    Для запуска же скриптов мы будем использовать пользователя www-data. Он появится у нас после установки nginx. Напоминаю, что fastcgi – это вполне себе обычный CGI. Так что запускать мы скрипты можем от любого пользователя. Над безопасностью будем думать в следующих статьях.

    Выдадим соответствующие права на каталог:
    PHP:
    root@debian-nginx-fastcgi:~$ chown -R web:www-data /var/www/example.ru && chmod -R 750 /var/www/example.ru
    В дальнейшем, для каталогов, в которые скрипты могут записывать файлики – нам необходимо указывать chmod 770 для каталогов и 660 для файлов.

    Запустим наш процесс fastcgi:
    HTML:
    root@debian-nginx-fastcgi:~$ /usr/bin/spawn-fcgi -a 127.0.0.1 -p 8080 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php1.pid
    Мы должны увидеть надпись вроде «Child spawned with PID xxxx». Если надпись какая то другая – обязательно сообщите мне. Я составляю список проблем для статьи «анализ ошибок». Почта – vlad@debian.pro.

    Немного об опциях:
    -a 127.0.0.1 – указываем IP, на котором будет запущен php процесс. В дальнейшем этот адрес мы укажем в конфиге nginx. Можно запустить php на одном сервере, а nginx’ом дергать php скрипты с другого сервера…) Но это вы уже сами решайте.
    -p 8080 – указываем порт, который будет служен php процесс. Опцию так же укажем в конфиге nginx. Для разных процессов следует использовать разные порты. Я ещё не говорил, что мы можем запускать неограниченное количество процессов spawn-fcgi )?
    -u www-data -g www-data – пользователь и группа, от которых будут выполняться скрипты.
    -f /usr/bin/php5-cgi – не меняйте эту опцию, если не уверены.
    -P /var/run/fastcgi-php1.pid – PID файл процесса. Не пытайтесь использовать один PID файл разными процессами.

    Переходим к настройке nginx.
    Отсюда вы можете почерпнуть тайные знания о том, как настроить nginx (файл /etc/nginx/nginx.conf)
    Вообще же нам сейчас нужно создать файл виртуального хоста для нашего сайта. Напомню, что у нас это – example.ru.

    Создаём файл /etc/nginx/sites-enabled/example.ru и пишем в него примерно следующую билиберду:

    PHP:
    server {
    listen 80;
    server_name default.ru;
    access_log /var/log/nginx-example.ru.log;
    location / {
    root /var/www/example.ru;
    index index.php index.html index.htm;
    }
    location ~ \.php$ {
    fastcgi_pass 127.0.0.1:8080;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /var/www/example.ru$fastcgi_script_name;
    include 
    fastcgi_params;
    }
    # другие опции
    }
    Перезапускаем nginx:
    PHP:
    root@debian-nginx-fastcgi:~$ /etc/init.d/nginx restart
    Затем ...ставим mysql так : 1. apt-get install mysql-server mysql-client
    2. /etc/init.d/mysql restart 3. /etc/init.d/nginx restart

    Ну и осталось проверить работоспособность связки и повыпендриваемся перед друзьями – создадим файл /var/www/example.ru/info.php и впишем в него код:

    После чего по адресу http://example.ru/info.php мы должны увидеть типичную страничку с информацией о том, каким образом запущен наш php. Вы должны увидеть CGI/FastCGI в строке Server API.
    Не забудьте файлик удалить потом.

    Теперь в общем то вы можете разместить в каталоге /var/www/example.ru вы можете размещать файлы сайта. Работать должна любая CMS, не требущая mod_rewrite (использования файла .htaccess).
    Спасибо debian.pro / редактировал Dream.

    ---------- Сообщение добавлено в 19:35 ---------- Предыдущее сообщение было в 19:27 ----------

    [SPOILER="My Server Conf"]Kernel and CPU Linux 2.6.26-2-xen-686 on i686
    Processor information Intel(R) Core(TM) i7 CPU 930 @ 2.80GHz, 2 cores
    System uptime 1 hours, 11 minutes
    Running processes 60
    CPU load averages 0.21 (1 min) 0.10 (5 mins) 0.03 (15 mins)
    CPU usage 0% user, 0% kernel, 0% IO, 100% idle
    Real memory 1 GB total, 97.64 MB used

    Virtual memory 2 GB total, 0 bytes used

    Local disk space 59.06 GB total, 3.92 GB used[/SPOILER]
    :) на apche было при том же состоянии системы... 1 GB total, 273.86 MB used

Share This Page

All rights reserved SocEngine.ru ©