.ru .su .net .com .info
.eu .de .ca .ua co.il

Благодаря технологиям нового поколения процесс создания веб-сайта упрощен до 5 шагов
Служба Предложить, Пожаловаться или Поблагодарить.<br /> <strong>Нам очень важно Ваше мнение!</strong>

Подписка на новости

    


Мы принемаем webmoney Проверенный,  верифицированный  аттестат продавца - WM: 315719604612
Проверенный,  верифицированный  аккаунт продавца PayPal Более 30 способов оплаты наших услуг с помощью Interkassa
Мы принимаем Яндекс деньги  41001160191272 Проверенный,  верифицированный  аккаунт продавца  Z-PAYMENT
Услуги в кредит Журнал Веб-Аналитик.ИНФО
Главная Домой Решение проблем PHP программирование Установка Nginx с PHP5 и MySQL с поддержкой Fedora 11

Установка Nginx с PHP5 и MySQL с поддержкой Fedora 11

Напечатать E-mail

Nginx (engine x) (читается как энджин икс) - это очень быстрый и легкий проксирующий веб-сервер, имеющий очень мощные возможности. Является свободным, открытым исходным кодом, высокопроизводительный сервер HTTP. Nginx известен своей стабильностью, богатым набором функций, простая конфигурация, и низкое потребление ресурсов. В этом учебнике показано, как можно установить на Nginx Fedora 11 сервер с PHP5 (с помощью FastCGI) и поддержкой MySQL.

Я не даю никакой гарантии, что это будет работать у Вас, но у нас это работает на все 100%!

1. Предварительное примечание 1. Предварительное примечание

В этом уроке я использую имя хоста server1.root-host.pro с IP адресом 192.168.0.100. Эти параметры могут отличаться для вас, поэтому вам придется заменить их в случае необходимости.

2 Установка MySQL 5 2 Установка MySQL 5

Сначала установите MySQL 5.0 следующим образом:

yum install mysql mysql-server

Затем мы создаем систему запуска ссылки на MySQL (так, что MySQL запускается автоматически при загрузке системы) и запустить сервер MySQL

chkconfig --levels 235 mysqld on

Включен. Теперь убедитесь, что сеть работает.

netstat -tap | grep mysql

Она должна показать что-то вроде этого:

It should show something like this:

[root@server1 ~]# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 1702/mysqld
[root@server1 ~]#

Если это не так, отредактируйте/etc/my.cnf и закомментируйте опцию skip-networking:

vi /etc/my.cnf

[...]
#skip-networking
[...]

и перезапустите сервер MySQL:

/etc/init.d/mysqld restart

Выполнить

mysqladmin -u root password yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpassword

Чтобы установить пароль для пользователя, root (в противном случае любой желающий может получить доступ к базе данных MySQL!).

3. Установка Nginx 3. Установка Nginx

Nginx доступен в виде пакета для Fedora 11, который мы можно установить следующим образом:

yum install nginx

Затем мы создаем систему запуска ссылки на Nginx и запускаем его:

chkconfig --levels 235 nginx on
/etc/init.d/nginx start

Введите IP вашего веб-сервера адрес или имя хоста в браузере (например, http://192.168.0.100), и вы должны увидеть страницу приветствия Nginx:

Установка Nginx с PHP5 и MySQL с поддержкой Fedora 11

4. Установка PHP5 4. Установка PHP5

Мы можем сделать PHP5 работу в Nginx через FastCGI. Там нет автономного демона FastCGI пакета для Fedora, поэтому мы используем пакет из Lighttpd FastCGI (Lighttpd-FastCGI) и установить его вместе с PHP-CLI PHP5 и некоторые модули, как PHP-MySQL, которые нужны, если вы хотите использовать MySQL из PHP сценария:

yum install lighttpd-fastcgi php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mapserver php-mbstring php-mcrypt php-mhash php-mssql php-shout php-snmp php-soap php-tidy

Затем откройте /etc/php.ini и добавьте строку cgi.fix_pathinfo = 1 right в самом конце файла:

vi /etc/php.ini

[...]
cgi.fix_pathinfo = 1

Lighttpd FastCGI-пакет поставляется с исполняемым /usr/bin/spawn-fcgi которые мы можем использовать для запуска FastCGI процессов. Взгляните на

spawn-fcgi --help

Для запуска демона PHP FastCGI на порту 9000 на локальной системе и работает в качестве пользователя и группы Nginx, мы запустим следующую команду:

/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u nginx -g nginx -f /usr/bin/php-cgi -P /var/run/fastcgi-php.pid

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

vi /etc/rc.local

... и добавить команду в конец файла:

[...]
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u nginx -g nginx -f /usr/bin/php-cgi -P /var/run/fastcgi-php.pid

 5. Настройка Nginx 5. Настройка Nginx

Nginx конфигурации в /etc/nginx/nginx.conf который мы открываем сейчас:

vi /etc/nginx/nginx.conf

Конфигурацию легко понять. (Больше об этом Вы можете узнать здесь: http://wiki.codemongers.com/NginxFullExample и здесь: http://wiki.codemongers.com/NginxFullExample2)

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

[...]
worker_processes 5;
[...]
keepalive_timeout 2;
[...]

Виртуальных хостов определяется по серверу {} контейнерах. Давайте изменим умолчанию Vhost следующим образом:

[...]
server {
listen 80;
server_name _;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
root /usr/share/nginx/html;
index index.php index.html index.htm;
}

error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/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 /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$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;
}
}
[...]

server_name _; делает это по умолчанию Vhost всеохватывающий (конечно, Вы можете также указать имя хоста здесь например, www.example.com).

В location / part, я добавил index.php индекса строки. root /usr/share/nginx/html; означает, что документ корень директории /usr/share/nginx/html.

Важной частью для PHP является location ~ \.php$ {} stanza. Раскомментируйте, чтобы включить его. Сменить root line to the web site's dosument root (e.g. root /usr/share/nginx/html;). Пожалуйста, убедитесь, что вы измените fastcgi_param линию fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; потому что в противном случае интерпретатор PHP не найдете сценарии PHP, в Вашем браузере.

Теперь сохраните файл и перезагрузите Nginx:

/etc/init.d/nginx stop
/etc/init.d/nginx start

(Я не мог использовать /etc/init.d/nginx restart потому что это остановить Nginx, но не смог запустить его - не знаю, почему ...)

Теперь создадим следующий PHP файл в корневом каталоге document root /usr/share/nginx/html...

vi /usr/share/nginx/html/info.php

<?php
phpinfo();
?>

Теперь мы называем этот файл в браузере (например, http://192.168.0.100/info.php):

Установка Nginx с PHP5 и MySQL с поддержкой Fedora 11

Как видите, PHP5 работает, и что он работает через FastCGI, как показано в строке Server API. Если вы опуститесь дальше вниз рисунка, вы увидите все модули, которые уже включены в PHP5, включая MySQL модуля:

Установка Nginx с PHP5 и MySQL с поддержкой Fedora 11


Вернуться назад Обсудить на форуме  

Вход в систему биллинга
Логин:
Пароль:

Вход в панель управления хостингом
Логин:
Пароль: