Установка БД 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
Ну и не забываем, прописать локальные домены в файл C:\Windows\System32\drivers\etc\hosts
Всё.