Веб-сервер с Nginx + php-cgi + mysql + xcache

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

И так, приступим к

Установке Nginx + php-cgi + mysql + xchache на Debian / Ubuntu / LinuxMint:



Перед началом установки обновимся:

apt-get update
apt-get upgrade


и установим некоторые пакеты, которые помогут для ручной сборки из сорсов:

apt-get install build-essential

Начнем установку с Nginx
. Добавим репозитории стабильной версии для debian:

nano /etc/apt/sources.list

deb http://nginx.org/packages/debian/ squeeze nginx
deb-src http://nginx.org/packages/debian/ squeeze nginx


загрузим ключ и добавим в систему

wget http://nginx.org/keys/nginx_signing.key


apt-key add nginx_signing.key

теперь мы можем установить Nginx

apt-get update
apt-get install nginx


после установки, для проверки, набираем наш ip/домен в браузере и видим:

Welcome to nginx!

Это сообщение обозначает, что установка прошла успешна и наш веб-сервер работает отлично. Далее нам необходимо установить fastcgi. Его можно собрать из исходников, но я буду ставить из пакетов.

PHP-CGI
apt-get install php5-cgi php5-mysql php5-curl php5-gd php5-json php5-mcrypt

после чего редактируем

nano /etc/php5/cgi/php.ini

и ищем закоментированную строчку, чтобы расскоментировать её:

cgi.fix_pathinfo = 1


Пришло время подружить Nginx и php-cgi. Редактируем наш конфиг nginx и добавляем домен.

nano /etc/nginx/nginx.conf

и меняем пользователя под которым nginx будет работать:

user www-data www-data;


затем идем в conf.d ил sites-enabled (у кого какая директория будет) и создаем там новый домен:

cp default.conf alushta.us.conf
nano alushta.us.conf


server {
    listen       80; #порт
    server_name  alushta.us; #адрес сайта

    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;

    location / {
        root   /var/www/alushtalive.com; #корневая директория сайта
        index  index.php; #индексные файлы, можно добавить index.html etc
    }
 
        location ^~ /phpadmin/ {
            alias /usr/share/phpmyadmin/;
            index index.php;
            location ~ /phpadmin(/.*\.php) {
                include fastcgi_params;
                fastcgi_param SERVER_NAME localhost;
                fastcgi_param SCRIPT_FILENAME /usr/share/phpmyadmin$1;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
   # error_page   500 502 503 504  /50x.html;
    #location = /50x.html {
    #    root   /usr/share/nginx/html;
    #}

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
        location ~ \.php$ {
        root /var/www;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /var/www/alushta.us$fastcgi_script_name;
        include fastcgi_params;
        }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

}


/etc/init.d/nginx restart

создаем для теста файл в корневом каталоге сайта c расширением php

nano /var/www/alushta.us/phpinfo.php

с таким содержанием внутри

<?php
phpinfo();
?>


Проверяем в браузере — httр://ваш-адрес/phpinfo.php — вы должны увидеть таблицу с различной информацией о сервере, если этого не произошло, возвращайтесь к началу поста и внимательно изучайте, что же вы могли пропустить.

Пришло время установить базу данных Mysql:

apt-get install mysql-server mysql-client

в процессе установке будет предложено задать пароль для пользователя root, надеюсь вы сможете с этим справиться.

Xcache:

apt-get install php5-xcache

и отредактируем его конфиг добавив свой логин и пароль в md5:

nano /etc/php5/cgi/conf.d/xcache.ini

extension = xcache.so
xcache.admin.enable_auth = On
# Configure this to use admin pages
 xcache.admin.user = "admin"
; xcache.admin.pass = md5($your_password)
xcache.admin.pass = "xxxx"
xcache.size = 64M
xcache.var_size = 32M
xcache.cacher = On


Вот собственно и все.

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.