Установка Nginx, PHP и MariaDB на Windows 10


Структура директорий:

d:\server\ - директория для хранения ПО и данных сервера
d:\server\bin\ - программное обеспечение
d:\server\bin\nginx
d:\server\bin\php
d:\server\bin\mariadb
d:\server\data\ - хранение данных (например логов)

Nginx

Скачиваем последнюю версию Nginx и размещаем в директории d:\server\bin\nginx.

Настройка

В файле конфигурации D:\server\bin\nginx\conf\nginx.conf нужно добавить строку внутри блока http

include vhosts/*.conf;

и создать директорию D:\server\bin\nginx\conf\vhosts

Виртуальный хост

Для теста можно создать хост для фреймворка Laravel. Для этого нужно разместить в директории D:\server\bin\nginx\conf\vhosts файл laravel.conf

server {
	listen 80;
	server_name laravel.test;
	root D:/projects/php/laravel.test/public;

	add_header X-Frame-Options "SAMEORIGIN";
	add_header X-XSS-Protection "1; mode=block";
	add_header X-Content-Type-Options "nosniff";

	index index.php;

	charset utf-8;

	location / {
		try_files $uri $uri/ /index.php?$query_string;
	}

	location = /favicon.ico { access_log off; log_not_found off; }
	location = /robots.txt  { access_log off; log_not_found off; }

	error_page 404 /index.php;

	location ~ \.php$ {
		fastcgi_pass   127.0.0.1:9000;
		fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
		include fastcgi_params;
	}

	location ~ /\.(?!well-known).* {
		deny all;
	}
}

После этого добавляем строку

127.0.0.1 localhost laravel.test

в файл C:\Windows\System32\drivers\etc\hosts

PHP

Скачиваем PHP (Non Thread Safe) и размещаем в директории d:\server\bin\php. Также нужно установить компонент Visual C++ Redistributable for Visual Studio. Ссылку на эту программу можно найти в левой боковой колонке страницы

И подключаем необходимые модули расскоментируя строки extension=имя_модуля в файле D:\server\bin\php\php.ini

MariaDB

Скачиваем последнюю версию MariaDB. Я обычно выбираю MSI-пакет и устанавливаю в директорию d:\server\bin\mariadb. Впрочем эту программу можно разместить где угодно.

Но можно скачать архивный вариант и использовать разные версии сервера. Только нужно будет в bat-файлах настроить запуск и остановку сервера.

Запуск, остановка и перезапуск сервера

Нужно скачать полезную программу RunHiddenConsole.exe, которая позволяет скрыть консоль после запуска программы. Можно сохранить в директории d:\server\bin\.

bat-файлы для управления сервером

start.bat

pushd d:\server\bin\nginx
start nginx.exe
popd
d:\server\bin\RunHiddenConsole.exe "d:\server\bin\php\php-cgi.exe" -b 127.0.0.1:9000 -c "d:\server\bin\php\php.ini"

stop.bat

taskkill /IM nginx.exe /F
taskkill /IM php-cgi.exe /F

restart.bat

call stop.bat
call start.bat
EXIT /b

Источник:

14.06.2020

Прежде чем написать комментарий, нужно авторизаться на сайте