не запускается nginx windows 10

Как установить и запустить сервер Nginx на Windows 10

Как установить и запустить сервер Nginx на Windows 10

Nginx — это веб-сервер, который очень популярен в Linux и BSD системах. Многие полагают, что установить Nginx на Windows 10 невозможно. Это совсем не так.

Согласно информации, размещенной на сайте Nginx, установка на Windows 10 возможна, но есть несколько ограничений производительности, которые пока не были устранены. К ним относятся только одно рабочее веб-приложение, отсутствие масштабируемости и возможные проблемы с UDP аутентификацией. На данный момент Nginx уже упоминал, что он решит все проблемы в своих будущих выпусках.

Чтобы успешно установить и запустить Nginx на Windows 10, выполните следующие действия.

Загрузите Nginx Server

Существует много загружаемых версий Nginx для Windows, но Nginx рекомендует использовать «mainline version». Однако, вы не найдете никаких проблем, если загрузите последнюю стабильную версию этой программы.

Выберите последний ZIP-файл и загрузите его в новую папку.

В качестве первого шага необходимо распаковать его. Вы можете использовать 7-Zip, WinRAR или любое другое популярное программное обеспечение для архивации.

После извлечения содержимого архива из первоначальной директории необходимо переместить папку, которая поставлялась со встроенной загрузочной копией. в «Program Files».

Мы запустим Nginx из этого места в качестве веб-сервиса по умолчанию.

Установка Nginx

Чтобы установить и запустить Nginx, выберите и дважды щелкните файл Nginx.exe.

На следующем шаге вам нужно проверить, была ли установка успешной. Для этого вы можете перейти в браузер по умолчанию и ввести «localhost». Если вы увидите следующее окно с сообщением об успешной установке и работе веб-сервера Nginx, то проблем с установкой в Windows 10 не было.

Чтобы остановить Nginx, вы можете завершить его из окна Диспетчер задач.

Запуск Nginx на компьютере с ОС Windows

Для запуска Nginx, вы должны использовать Internet Information Services (IIS), который является веб-сервером Microsoft, обслуживающим запрошенные HTML страницы или файлы. Вы можете включить его в меню Turn Windows Features On or Off в Панели управления. Проверьте необходимые поля для Web Management Tools и IIS Management Console.

Для включения IIS на вашем компьютере потребуется некоторое время.

Менеджер IIS Manager можно открыть непосредственно из меню Пуск. Здесь вы сможете получить доступ к веб-сайту по умолчанию, который обычно расположен по адресу «inetpub wwwroot». Он также известен как корень веб-приложения.

Полезно изменить физический путь этого корня в более подходящую папку. Я создал новую папку «Work» в C:\ и изменил физический путь на «C:\Work».

После этого перейдите в папку Nginx, которую переименовали в файлах программы. Нажмите «Conf» и выберите «nginx.conf». Этот файл можно редактировать с помощью текстового редактора Notepad++.

В Notepad++ измените корень на отредактированный физический путь, о котором мы говорили выше.

Вы можете отредактировать файл index.html в корневой папке на отдельной вкладке. Измените текст на то, что вы хотите, чтобы веб-сервер отображался на экране.

Теперь снова запустите программу Nginx.exe и введите «localhost» в окне браузера. Веб-сервер Nginx выделит сделанные вами изменения.

На сайте ресурсов Nginx представлен полный список веб-приложений, которые можно использовать для запуска на Windows PC.

Вывод

Nginx является одной из ведущих компаний по разработке веб-серверов, которая, как ожидается, затмит Apache в будущем. Кроме того, он быстрее, может справляться с большим количеством параллельных задач и надежен. Подводя итог, можно сказать, что если у вас есть простой сайт, который вы хотите подключить к Nginx, вы можете сделать это прямо сейчас без каких-либо проблем.

Спасибо, что читаете! Подписывайтесь на мои каналы в Telegram, Яндекс.Мессенджере и Яндекс.Дзен. Только там последние обновления блога и новости мира информационных технологий.

Респект за пост! Спасибо за работу!

Хотите больше постов? Узнавать новости технологий? Читать обзоры на гаджеты? Для всего этого, а также для продвижения сайта, покупки нового дизайна и оплаты хостинга, мне необходима помощь от вас, преданные и благодарные читатели. Подробнее о донатах читайте на специальной странице.

Заранее спасибо! Все собранные средства будут пущены на развитие сайта. Поддержка проекта является подарком владельцу сайта.

Последние

Реклама

telegram

Рубрики

СЧЕТЧИКИ

РЕКЛАМА И ДОНАТЫ

Социальные сети

©2016-2021 Блог Евгения Левашова. Самое интересное и полезное из мира ИТ. Windows 10, Linux, Android и iOS. Обзоры программ и веб-сервисов. Статьи о мотивации и продуктивности.

Использование материалов разрешается с активной ссылкой на levashove.ru.

Данный блог является личным дневником, содержащим частные мнения автора. В соответствии со статьей 29 Конституции РФ, каждый человек может иметь собственную точку зрения относительно его текстового, графического, аудио и видео наполнения, равно как и высказывать ее в любом формате. Блог не имеет лицензии Министерства культуры и массовых коммуникаций РФ и не является СМИ, а, следовательно, автор не гарантирует предоставления достоверной, не предвзятой и осмысленной информации. Сведения, содержащиеся в этом блоге не имеют никакого юридического смысла и не могут быть использованы в процессе судебного разбирательства. Автор блога не несёт ответственности за содержание комментариев к его записям.

Источник

Django CMS Обучение

среда, 26 декабря 2012 г.

Установка Nginx под Windows

Чтобы установить nginx/Windows, скачайте дистрибутив с сайта nginx.org. Затем распакуйте дистрибутив, перейдите в каталог nginx-1.3.10 и запустите nginx. Вот пример для корневого каталога на диске C:

cd c:\
unzip nginx-1.3.10.zip
cd nginx-1.3.10
start nginx

(Опытным путем было выяснено, что в тарых версиях под Windows Nginx должен быть обязательно установлен на диск C, иначе он не запускается. Но в новых версиях (проверил на nginx/Windows-1.0.11) это замечание не актульно. Устанавливать можно на любой диск.)

В результате выполнения данных команд запустится сервер Nginx.
Проверить его работу вы можете в браузере, перейдя по адресу http://localhost

Чтобы увидеть процессы nginx, запустите утилиту командной строки tasklist:

C:\nginx-1.3.10>tasklist /fi «imagename eq nginx.exe»
C:\nginx-1.3.10>tasklist /fi «imagename eq nginx.exe»

Image Name PID Session Name Session# Mem Usage
=============== ======== ============== ========== ============
nginx.exe 652 Console 0 2 780 K
nginx.exe 1332 Console 0 3 112 K

nginx/Windows использует каталог, в котором он был запущен, в качестве префикса для относительных путей в конфигурации. В вышеприведённом примере префиксом является C:\nginx-1.3.10\. Пути в конфигурационном файле должны задаваться в UNIX-стиле с использованием прямых слэшей:

access_log logs/site.log;
root C:/web/html;

nginx/Windows работает как стандартное консольное приложение (не сервис) и управляется при помощи следующих команд:

Для простоты управления веб-сервером nginx создадим несколько bat файлов в папке сервера C:\nginx-1.3.10:

@ECHO OFF
start C:\nginx-1.3.10\nginx.exe

ping 127.0.0.1 > NUL
echo Starting nginx
ping 127.0.0.1 > NUL
EXIT

При запуске файла start.bat на некоторое время появится окно, показывающее, что серевер запускается.

Создадим папку C:\nginx-1.3.10\mysql

Скачиваем MySQL установщик mysql-5.1.41-win32.msi и запускаем его.

Выбираем режим «Custom», чтобы иметь возможность указать папки для установки и исключаем из установки документацию («Documentation»).

Затем выбираем пункт «MySQL Server» и нажимаем кнопку «Change. «, после чего выбираем созданную нами ранее директорию C:\nginx-1.3.10\mysql.

Повторяем выбор директории и для пункта «MySQL Server Datafiles». После этого нажимаем «Next».

Просматриваем, что все верно и жмем «Install».
Теперь ждем пока MySQL установится.

Далее появляется рекламка, но она нам неинтересна, поэтому пролистываем ее нажимая кнопку «Next».

После этого появляется окно с приглашением выполнить настройку MySQL и зарегистрировать его.

Регистрировать не будем, поэтому снимаем эту галочку и жмем кнопку «Finish».

Открывается окно настройки MySQL, жмем кнопку «Next».

Выбираем «Standard Configuration», жмем кнопку «Next».

Далее ничего не меняем, жмем кнопку «Next».

После этого нас просят указать пароль для пользователя root имеющего полные права на доступ и управление MySQL.

Все готово к применению настроек жмем «Execute».

Если никаких проблем не возникло, должно результат должен быть как на картинке ниже.

Жмем кнопку «Finish»

На этом установка MySQL оканчивается.

Скачаем и распакуем php-5.2.12-Win32-VC6-x86.zip в C:\nginx-1.3.10\php

Скопируем C:\nginx-1.3.10\php\php.ini-recommended в C:\nginx-1.3.10\php\php.ini
Далее переходим к редактированию C:\nginx-1.3.10\php\php.ini

Внимание! По умолчанию вывод ошибок на страницах отключен.
Вывод ошибок рекомендуется включать только для тестирования и отладки скриптов. Для включения необходимо заменить

Код:
display_errors = Off

Код:
display_errors = On

Далее увеличиваем ограничения на вложения
заменить

Код:
post_max_size = 8M

Код:
post_max_size = 30M

Код:
upload_max_filesize = 2M

Код:
upload_max_filesize = 20M

Код:
extension_dir = «./ext»

После этого подключаем необходимые расширения, найдя и раскомментировав (убрав «;» вначале строки) следующие строки

Код:
;extension=php_gd2.dll
;extension=php_mbstring.dll
;extension=php_sockets.dll
;extension=php_mysql.dll
;extension=php_mcrypt.dll
;extension=php_zip.dll

@ECHO OFF
taskkill /f /IM nginx.exe
taskkill /f /IM php-cgi.exe
EXIT

Теперь при запуске start.bat вместе с Nginx будет запускаться и PHP.
Внимание! После запуска start.bat появляется консольное окно php-cgi, которое не надо закрывать!

Если открытое окно мешает можно воспользоваться следующим способом:

Вариант скрытого запуска php-cgi.

1. Скачать программу chp.exe http://www.commandline.co.uk/chp/
2. Разместить chp.exe в каталоге с nginx ( C:\nginx-1.3.10\chp.exe)
3. Модифицировать start.bat следующим образом:

Еще один вариант (но chp.exe под Windows 7 не заработал).

1. Скачать программу Hidden Start http://www.ntwind.com/software/hstart.html
2. Разместить hstart.exe в каталоге с nginx (C:\nginx-1.3.10\hstart.exe)
3. Модифицировать start.bat следующим образом:

Далее создадим в папке C:\nginx-1.3.10\html (являющеюся на данный момент корневой для веб-сервера) файл test.php следующего содержания:

После запускаем наш веб-сервер, через файл start.bat и открываем в браузере адрес http://localhost/test.php

Как вы можете видеть nginx отдал php-файл как обычный текстовый,
потому что мы еще не сказали ему как с ними работать.

Итак, на этом этап настройки php можно считать оконченным, остановить веб-сервер, используя файл stop.bat и переходить к настройке nginx.

Так как, скорее всего, наиболее популярным будет вопрос по созданию виртуальных хостов в Nginx, то сразу рассмотрим как их сделать на примере установки phpMyAdmin на отдельный хост.

Файл с основным конфигом nginx у нас находится в папке C:\nginx-1.3.10\conf и называется nginx.conf.

Создадим папки, которые будут корневыми для наших виртуальных хостов: C:\nginx-1.3.10\html\default и C:\nginx-1.3.10\html\pma

Итак приступим к настройке.
Пропишем в C:\WINDOWS\system32\drivers\etc\hosts имя хоста для доступа к phpMyAdmin.

Может потребовать перезагрузить браузер или компьютер, если изменения в файле hosts не подхватятся сразу.

Заменим содержимое C:\nginx-1.3.10\conf\nginx.conf на код:

error_log logs/error.log;
pid logs/nginx.pid;

events <
worker_connections 64;
>

http <
include mime.types;
default_type application/octet-stream;

sendfile on;
#tcp_nopush on;

client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;

#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;

access_log logs/default.access.log main;
error_log logs/default.error.log error;

location / <
index index.php;
>

access_log logs/pma.access.log main;
error_log logs/pma.error.log error;

location / <
index index.php;
>

upstream backend <
server 127.0.0.1:521;
>

И создадим файл C:\nginx-1.3.10\conf\fastcgi с кодом:

fastcgi_connect_timeout 1;
fastcgi_next_upstream timeout;

fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;

Для теста в папке C:\nginx-1.3.10\html\default создадим файл C:\nginx-1.3.10\html\test.php с кодом:

А в папке C:\nginx-1.3.10\html\pma создадим файл test2.php с кодом:

Теперь запускаем наш веб-сервер (через файл start.bat) и смотрим что получилось:

Теперь у нас есть работающий вер-сервер.

Установка связки Nginx + Apache.

Для установки нам понадобится:

— установленный Apache
— актуальная версия Nginx

Вместо чистого Apache можно применять любую сборку веб-сервера основанную на Apache: например Denwer (Денвер), TopServer, XAMPP и тому подобное, либо собрать связку Apache + PHP + MySQL самому вручную.

Итак, порядок установки:
Этап 1. Перенос Apache на порт отличный от 80-го.
Этап 2. Настройка Nginx для работы с Apache.
Этап 3. Установка и настройка RPAF в Apache.

Этап 1. Перенос Apache на порт отличный от 80-го.

Изначально Apache настроен на прослушивание 80-го порта, что вполне логично и правильно, но в нашем случае 80-й порт будет прослушиваться Nginx’ом, поэтому и требуется перенести Apache на другой порт.

Открываем C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf и ищем в нем строчку Listen 80 (либо свой номер порта, если у Вас веб-сервер был установлен на другом порту) и заменяем ее на Listen 127.0.0.1:81
Также просматриваем строчки задания виртуальных хостов (если они есть) и меняем их тоже:
находим NameVirtualHost *:80 и меняем на NameVirtualHost *:81
находим все и меняем на

После этого сохраняем изменения и перезапускаем Apache.

Теперь можно проверить, что веб-сервер отвечает на порту 81 (Для проверки был создан файл test.php содержащий ).

Этап 2. Настройка Nginx для работы с Apache.

Открываем файл конфига C:\nginx-1.3.10\conf\nginx.conf и заменяем его на код:

#2 рабочих процесса
worker_processes 2;

# лог для ошибок
error_log C:/nginx-1.3.10/logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

events <
# максимум рабочих соединений
worker_connections 2000;
>

http <
include mime.types;
default_type application/octet-stream;

# Таймаут при чтении заголовка запроса клиента
client_header_timeout 3m;
# Таймаут при чтении тела запроса клиента
client_body_timeout 3m;
# Таймаут при передаче ответа клиенту
send_timeout 3m;
# Таймаут keep-alive соединения
keepalive_timeout 2m;

server <
# Слушать 80 порт
listen 80;
# Использовать следующие хосты.
server_name _;

# Лог доступа для конкретного виртуального хоста
#access_log logs/host.access.log main;

# Отдаем статику напрямую
location

/\.ht <
deny all;
>
# Передаем запрос Apache
location / <
# Адресс и порт Apache
proxy_pass http://127.0.0.1:81/;
proxy_redirect off;

# Максимальный размер тела запроса клиента
client_max_body_size 10m;
client_body_buffer_size 128k;
#client_body_temp_path tmp/client_body_temp;

proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;

proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
#proxy_temp_path tmp/proxy_temp;

#error_page 404 /404.html;

# При перечисленных ошибках показывать статическую страницу /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html <
root html;
>
>
>

Комментарии по тексту есть, но все же поясню пару мест.

Приведу пример каркаса структуры для пояснения:

.
http <
.
server <
# хост по умолчанию
server_name _;
.
>

server <
# несколько перечисленных хостов
server_name pupkin.ru www.pupkin.ru;
.
>

Этап 3. Установка и настройка RPAF в Apache.

Так как у нас обращение к Apache идет не напрямую, а через Nginx, то теперь в REMOTE_ADDR у нас не пользовательский IP, а IP-адрес сервера, на котором расположен Nginx. Поэтому на помощь приходит RPAF, он берет тело заголовка X-Forwarded-For, присланного от фронтенда и формирует в Apache из него REMOTE_ADDR.

Таким образом заголовок REMOTE_ADDR снова имеет пользовательский IP.

Скачиваем mod_rpaf
mod_rpaf.rar
и распаковываем в папку модулей Apache (C:\Program Files\Apache Software Foundation\Apache2.2\modules). После этого открываем C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf и добавляем в конец файла следующий код:

LoadModule rpaf_module modules/mod_rpaf.so

RPAFenable On
RPAFsethostname On
RPAFheader X-Forwarded-For
RPAFproxy_ips 192.168.1.26 127.0.0.1

Вместо 192.168.1.26 укажите IP адрес сервера, на котором расположен Nginx.
Теперь сохраняем изменения и перезапускаем Apache.

Также желательно перенести папку C:\Program Files\Apache Software Foundation\Apache2.2\icons в папку C:\Program Files\Apache Software Foundation\Apache2.2\htdocs. Без этого при просмотре содержимого каталогов (опция Indexes в Apache) Nginx будет пытаться загрузить несуществующие иконки для файлов.

Источник

Устранение неполадок установки и настройки Nginx

Nginx – это свободный и открытый веб-сервер, который используется для обслуживания сайтов и приложений любой сложности. Nginx известен своим низким воздействием на память, высокой масштабируемостью и модульной, управляемой событиями архитектурой, которая может обеспечить надежную и предсказуемую производительность. Nginx работает не только как веб-сервер, но и как балансировщик нагрузки, кэширующий HTTP-сервер и обратный прокси-сервер.

Конечно, сначала может быть сложно запомнить все команды и рекомендации по управлению сервером Nginx. Это руководство предназначено для тех, кто работает с Nginx. Оно охватывает некоторые основные команды управления сервисами, а также советы по диагностике и решению некоторых распространенных проблем.

Каждый раздел может использоваться независимо от других, поэтому вы можете пропустить разделы, которые вам не нужны. Все условные значения в командах выделены красным; вместо этих значений вы можете подставить свои данные.

Каждый раздел предлагает ссылки на другие руководства, с которыми можно проконсультироваться.

Примечание: Предполагается, что вы работаете с версией Nginx, установленной из репозитория по умолчанию в Debian-подобном дистрибутиве. Некоторые из команд и директив, описанных в этом руководстве, отсутствуют в других дистрибутивах или в версиях Nginx, установленных из других источников.

Установка Nginx

Обновите индекс пакетов, а затем установите Nginx:

sudo apt-get update
sudo apt-get install nginx

Проверка состояния Nginx

Чтобы проверить состояние веб-сервера на текущей машине, введите:

sudo systemctl status nginx

Автозагрузка Nginx

По умолчанию сервис Nginx запускается автоматически. Если вы хотите изменить это поведение, введите:

sudo systemctl disable nginx

Чтобы снова добавить Nginx в автозагрузку, введите:

sudo systemctl enable nginx

Управление сервисом Nginx

Чтобы остановить сервер Nginx, введите следующую команду:

sudo systemctl stop nginx

Чтобы запустить сервер Nginx, введите:

sudo systemctl start nginx

Чтобы остановить сервис и запустить его снова, введите:

sudo systemctl restart nginx

Если вы изменили конфигурацию, вы можете перезагрузить Nginx в текущей сессии. Введите следующую команду:

sudo systemctl reload nginx

Создание корневого каталога для статического контента

При создании сайтов на Nginx разработчики часто используют виртуальные хосты (или блоки server) – это хосты, которые обслуживают отдельные сайты или домены. Для этого нужно создать document root, каталог верхнего уровня, который Nginx проверяет при обслуживании контента.

Команды в приведенном ниже блоке создадут новый корневой каталог, передадут права на него пользователю sudo и изменят права доступа к каждому подкаталогу в подкаталога в /var/www/.

В данном случае корневой каталог предлагает глобальные права на чтение и исполнение. Чтобы выбрать другие права доступа, замените 775 и укажите требуемые права.

Помните, что права доступа должны меняться в соответствии с ситуацией.

Создание корневого каталога для динамических файлов

Если ваш сайт использует динамические модули типа PHP-FPM, вам может понадобиться передать права на некоторые файлы группе www-data. Если группе нужно право на запись в каталоге, передайте группе права собственности на каталог.

Предложенные ниже команды создают новый document root, передают его группе www-data и изменяют права на каждый подкаталог в /var/www.

Включение и отключение конфигурационных файлов

Чтобы включить виртуальный хост, нужно создать симлинк из каталога sites-available в каталог sites-enabled, который Nginx читает во время запуска.

Для этого введите комнаду:

После этого нужно перезагрузить Nginx, чтобы настройки обновились.

Устранение неполадок с хэш-таблицей

Nginx использует хэш-таблицы, чтобы быстро обрабатывать статические данные (имена серверов, MIME-типы). Если вы добавили несколько имен серверов, есть вероятность, что заданного размера хэша имени сервера будет не хватать, и при внесении изменений вы увидите ошибку server_names_hash_bucket_size. Ее можно устранить, отредактировав одно значение в файле /etc/nginx/nginx.conf.

Откройте этот файл:

sudo nano /etc/nginx/nginx.conf

Найдите в файле директиву server_names_hash_bucket_size. Удалите символ #, чтобы раскомментировать строку, и увеличьте значение директивы:

Это увеличит размер хэш-таблиц имен серверов Nginx и позволит сервису обрабатывать все имена серверов, которые вы добавили. Сохраните и закройте файл, а затем перезапустите Nginx, чтобы обновить настройки.

Тестирование конфигурации

Каждый раз, когда вы вносите изменения в конфигурационные файлы Nginx, обязательно выполните следующую команду, чтобы проверить наличие синтаксических ошибок:

Если в конфигурации есть ошибки, вывод команды укажет, где именно они обнаружены. Если же в конфигурационных файлах нет синтаксических ошибок, вы увидите примерно такой вывод:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Если ошибок нет, вы можете перезагрузить сервис:

sudo systemctl restart nginx

Важные файлы и каталоги Nginx

Контент

Каталог /var/www/html хранит весь контент сайта (это корневой каталог сайта). Вы можете изменить стандартные настройки Nginx и указать другие каталоги в var/www.

Конфигурация сервера

Чтобы получить доступ к логам systemd процесса Nginx, запустите эту команду:

Заключение

Данный мануал перечислил общие процедуры по поддержке сервера Nginx. Чтобы узнать больше о работе с Nginx, ознакомьтесь со следующими руководствами:

Источник

Понравилась статья? Поделиться с друзьями:

Не пропустите наши новые статьи:

  • не запускается nfs shift 2 на windows 10
  • не запускается next rp на виндовс 10
  • не запускается napoleon total war на windows 10
  • не запускается msi файл windows 10
  • не запускается msi afterburner на виндовс 10

  • Операционные системы и программное обеспечение
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии