Установка БД MySQL, либо любой другой, никак не связанно с nginx и PHP, но сам PHP, легко настраивается под любую БД. Поэтому, тут не будет про вопросы, связанные со связкой с БД.
Скачать nginx и PHP, для Windows
Nginx: https://nginx.org/ru/download.html
PHP: https://windows.php.net/download
Расположить распакованные файлы по путям
D:\nginx и D:\php
Создать bat-файлы, чтобы было легко запускать
Создать папку D:\bin и сохранить там следующие bat-файлы:
start.bat
@ECHO OFF :: Start Nginx tasklist /FI "IMAGENAME eq nginx.exe" 2>NUL | find /I /N "nginx.exe">NUL IF NOT "%ERRORLEVEL%"=="0" ( :: Nginx is NOT running, so start it d: cd \nginx start nginx.exe ECHO Nginx started. ) else ( ECHO Nginx is already running. ) :: Start php tasklist /FI "IMAGENAME eq php-cgi.exe" 2>NUL | find /I /N "php-cgi.exe">NUL IF NOT "%ERRORLEVEL%"=="0" ( :: PHP is NOT running, so start it d: cd \php start php-cgi.exe -b 127.0.0.1:9000 ECHO PHP started. ) else ( ECHO PHP is already running. ) d: cd \bin
stop.bat
@ECHO OFF :: Stop Nginx tasklist /FI "IMAGENAME eq nginx.exe" 2>NUL | find /I /N "nginx.exe">NUL IF NOT "%ERRORLEVEL%"=="0" ( ECHO Nginx is not running. ) else ( ECHO Nginx is shutting down... Taskkill /f /im nginx.exe ECHO Nginx is stopped. ) :: stop php tasklist /FI "IMAGENAME eq php-cgi.exe" 2>NUL | find /I /N "php-cgi.exe">NUL IF NOT "%ERRORLEVEL%"=="0" ( ECHO PHP is not running. ) else ( ECHO PHP is shutting down... Taskkill /f /im php-cgi.exe ECHO PHP is stopped. )
start_nginx.bat
@ECHO OFF :: Start Nginx tasklist /FI "IMAGENAME eq nginx.exe" 2>NUL | find /I /N "nginx.exe">NUL IF NOT "%ERRORLEVEL%"=="0" ( :: Nginx is NOT running, so start it d: cd \nginx start nginx.exe ECHO Nginx started. cd .. cd \bin ) else ( ECHO Nginx is already running. )
stop_nginx.bat
@ECHO OFF :: Stop Nginx tasklist /FI "IMAGENAME eq nginx.exe" 2>NUL | find /I /N "nginx.exe">NUL IF NOT "%ERRORLEVEL%"=="0" ( ECHO Nginx is not running. ) else ( ECHO Nginx is shutting down... Taskkill /f /im nginx.exe ECHO Nginx is stopped. )
Конфигурация nginx
В файле D:\nginx\conf\nginx.conf добавляем строчку
include vhosts/*.conf;
перед закрывающей скобкой блока http
В папке D:\nginx\conf создаём папку vhosts
В папке D:\nginx\conf\vhosts создаём конфиги локальных сайтов по следующему примеру
my-site.local.conf
server { listen 80; server_name my-site.local; root D:/www/my-site; index index.php index.html index.htm; location / { # Redirect everything that isn't a real file to index.php try_files $uri $uri/ /index.php$is_args$args; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; #include fastcgi_params; include fastcgi.conf; try_files $uri =404; } }
Создаём общую папку для веб-сайтов D:\www
Для приведённого конфига сайта my-site.local, создаём отдельную папку с веб-документами и скриптами:
D:\www\my-site
Кладём туда проект, либо создаём в нём новые скрипты
Запуск и остановка nginx и PHP
Открываем в файловом менеджере, либо Проводнике, либо в консоли windows, папку D:\bin
Запускаем start.bat
Для остановки, запускаем stop.bat
Если нужно работать только с nginx, то пользуемся файлами start_nginx.bat и stop_nginx.bat