Установка PHP5
Мы можем запустить в работу PHP5 в Nginx через FastCGI. Там нет автономного FastCGI пакета демона для CentOS, поэтому мы используем FastCGI пакет Lighttpd (Lighttpd, FastCGI) и установить его вместе с PHP-CLI и некоторые PHP5 модули, такие как PHP-MySQL которой вам нужно, если Вы хотите использовать MySQL с вашего PHP скрипта:
|
Затем откройте /etc/php.ini и добавьте строку cgi.fix_pathinfo = 1 в самом конце этого файла:
|
[...] cgi.fix_pathinfo = 1
Lighttpd FastCGI - пакет поставляется с исполняемым /usr/bin/spawn-fcgi которыqй мы можем использовать для запуска FastCGI процессов. Посмотрм на:
|
... чтобы узнать больше об этом.
Для запуска демона PHP FastCGI прослушиваем порт 9000 на localhost и запустим в качестве пользователя и группы Nginx, выполним следующую команду:
|
Конечно, Вы не хотите вводить эту команду каждый раз вручную, при запуске системы, поэтому, чтобы система выполняла команду автоматически во время загрузки, откройте /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
Настройка Nginx
Конфигурации Nginx в /etc/nginx/nginx.conf который мы открываем сейчас:
|
Конфигурация легко понять (Вы можете узнать больше об этом здесь: http://wiki.codemongers.com/NginxFullExample и здесь: http://wiki.codemongers.com/NginxFullExample2)
Первая (это не обязательно), вы можете увеличить количество рабочих процессов и установить keepalive_timeout до разумного значения:
[...]
worker_processes 5;
[...]
keepalive_timeout 2;
[...]
Виртуальные хосты определяются server {} контейнерах. Давайте изменим умолчанию виртуальный хост следующим образом:
[...]
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 _; делает этот виртуальный хост по умолчанию всеохватывающий (конечно, Вы можете также указать имя хоста здесь, как www.example.com ).
В location / части, я добавил index.php на index строки. root /usr/share/nginx/html, означает, что корневая директория файлов /usr/share/nginx/html.
Важной частью для PHP это location ~ \.php$ {} строфы. Уберите это, чтобы включить его. Изменение корневой строки dosument корень веб-сайта (например, root /usr/share/nginx/html; ). Пожалуйста, убедитесь, что Вы изменили fastcgi_param строки SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; поскольку в противном случае PHP интерпретатор не найдет PHP скрипт, который Вы вызываете в Вашем браузере.
— Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта.
— Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы).
— SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание.
SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение
Теперь сохраните файл и перезагрузите Nginx:
|
Теперь создайте следующий файл PHP в корневой документ /usr/share/nginx/html ...
|
<?php phpinfo(); ?>
Теперь мы вызываем этот файл в браузере (например, http://192.168.2.222/info.php ):

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

На данный урок имеется виртуальный образ готового сервера, ознакомиться с которым подробней и скачать его можно на форуме Nginx с PHP5 и MySQL в CentOS 5.6 + скачать.
- << Назад
- Вперёд


