За последние 24 часа нас посетили 18332 программиста и 1600 роботов. Сейчас ищут 959 программистов ...

[гайд для ламеров] Установка Nginx+PHP5 под винду

Тема в разделе "Установка PHP", создана пользователем Vladson, 11 июл 2009.

  1. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Собственно небольшой гайд для тех кому лень рыться в гугле (честно запарился искать нормальный гайд, в итоге кстати так и не нашёл, видимо нет их нормальных, по этому разобрался сам и написал свой)

    Для начала идём на сайт http://sysoev.ru/nginx/download.html и скачиваем на данный момент стабильная версия nginx-0.7.61.zip но собственно ничего кардинального в настройке не меняется вроде обычно

    Распаковываем тупо на диск "C:" и если всё прошло удачно то открываем файл C:\nginx-0.7.61\conf\nginx.conf

    Там всё что нам нужно это добавить index.php (а index.htm я убираю, непринципиально в общем, для наглядности я оставил и оригинальную строчку просто закоментировал)

    Код (Text):
    1.         location / {
    2.             root   html;
    3.         #   а, да, можно ещё добавить autoindex (просмотр списка папок без index-ной страницы)
    4.             autoindex    on;
    5.         #   index  index.html index.htm;
    6.             index  index.html index.php;
    7.         }
    И раскоментировать следующие строки (а изменить только одну, та что закоментированная как оно было, под ней как надо чтоб стало)

    Код (Text):
    1.         location ~ \.php$ {
    2.             root           html;
    3.             fastcgi_pass   127.0.0.1:9000;
    4.             fastcgi_index  index.php;
    5.         #   fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    6.             fastcgi_param  SCRIPT_FILENAME  C:/nginx-0.7.61/html$fastcgi_script_name;
    7.             include        fastcgi_params;
    8.         }
    Собственно с сервером всё, можно даже запускать "C:\nginx-0.7.61\nginx.exe" смело (можно ещё кинуть на него ярлык в startup чтоб при загрузки винды он врубался)

    Далее установка РНР (проще пареной репы)

    Распаковываем пых-пых в C:\PHP5 правим прилагающийся php.ini или вовсе создаём пустой и вписываем в него эти две строчки
    Код (Text):
    1. cgi.fix_pathinfo=0
    2. extension_dir="C:\php5\ext"
    3. ; а уже остальное по вкусу, т.е подключаем всякие extension-ы
    4. ; и прочий хлам, например так:
    5. extension=php_bz2.dll
    6. extension=php_curl.dll
    7. extension=php_gd2.dll
    8. extension=php_gettext.dll
    9. extension=php_imap.dll
    10. extension=php_ldap.dll
    11. extension=php_mbstring.dll
    12. extension=php_mysql.dll
    13. extension=php_mysqli.dll
    14. extension=php_openssl.dll
    15. extension=php_pdo_odbc.dll
    16. extension=php_pdo_pgsql.dll
    17. extension=php_pdo_sqlite.dll
    18. extension=php_pgsql.dll
    19. extension=php_shmop.dll
    20. extension=php_soap.dll
    21. extension=php_sockets.dll
    22. extension=php_sqlite.dll
    23. extension=php_tidy.dll
    24. extension=php_xmlrpc.dll
    25. extension=php_xsl.dll
    И запускаем командой (лучше создаём ярлык)
    Код (Text):
    1. "C:\PHP5\php-cgi.exe" -b 127.0.0.1:9000
    Повиснет чёрное окошко консоли это и есть наш FastCGI сервер (я на него вывожу всякую отладочную информацию, очень удобно)

    Ну для проверки удаляем C:\nginx-0.7.61\html\index.html и создаём C:\nginx-0.7.61\html\index.php
    PHP:
    1. <?php
    2. ?>
    И идём на сайт http://localhost/ возможно вас ждёт приятный сюрприз (если конечно вы всё сделали правильно)

    Всё это опробовано лично на версиях РНР-5.2.х РНР-5.3.х и даже PHP-6.0.dev (только там если я не ошибаюсь папка по дефолту C:\PHP6)

    Для автозапуска после рестарта можно создать "батник" (файл "PHP.BAT") и закинуть его в папку Startup (для WinXP это "C:\Documents and Settings\All Users\Start Menu\Programs\Startup") и запихнуть в него следующее
    Код (Text):
    1. @echo off
    2. set PHP_FCGI_MAX_REQUESTS=0
    3. "C:\nginx-0.7.61\nginx.exe"
    4. "C:\PHP5\php-cgi.exe" -b 127.0.0.1:9000
    (вторая строчка это чтоб РНР5 не вылетал время от времени, не знаю баг это или фича, но факт остаётся фактом)

    На моём домашнем компе стоит nginx-0.8.4 с РНР-5.3.0 (хотя уже 8.5 вышел) настраивается точно так-же без каких либо изменений...

    P.S. - Так я и не порадовал вас гайдом про апач на bsd, чтож в замен даю Nginx под винду...