The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск сервера приложений NGINX Unit 1.11.0"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Выпуск сервера приложений NGINX Unit 1.11.0" +/
Сообщение от Ilya Indigo (ok), 21-Сен-19, 17:16 
Благодарю Вас, Валентин, за подробный и развёрнутый ответ! :-)
Вы меня серьёзно озадачили и заставили пересмотреть некоторые мои знания, впрочем этого я и хотел. :-)

> А для чего у вас php c Apache через FastCGI работает вместо mod_php? Есть конечно кейсы в которых даже с Apache такой вариант необходим, но FastCGI имеет свои накладные расходы и тут не добавляет эффективности.

Мне казалось что mod_php это удел конфигураций всяких денверов на локалхостах, которые не могут осилить нормальную конфигурацию сервера.

В mod_php:
- можно использовать только prefork, нельзя использовать event, что мне тогда казалось снижает производительность.
- интерпритатор задействован даже когда отдаётся статика.
- на каждый запрос создаётся свой процесс что приводит к повышенному расходу ОЗУ
- Ошибка в одном PHP-скрипте может положить Apache со всеми виртуальными хостами
- нельзя использовать разные версии PHP для разных виртуальных хостов.
- не читаются .user.ini файлы https://www.php.net/manual/ru/configuration.file.per-user.php

В FastCGI этого всего нет, мне тогда он казался однозначно лучше, хотя сейчас погуглив эту тему, пишут что при высокой нагрузке mod_php показывает большую производительность.
Почему большую, мне не понято. Читая Ваш ответ про MPM event, он должен быть. как минимум, не хуже.

> Но так ли необходим .htaccess?
> Даже просто отказ от него с сохранением Apache даст заметный прирост производительности.

Вот это для меня было новостью.
Я и не предполагал что mod_rewrite так сильно влияет на производительность Apache.
Я его использую для маршрутизации, тут https://www.opennet.ru/openforum/vsluhforumID3/118512.html#59 привёл пример его использования.

Пол дня думал над тем, могу ли я от него отказаться.
Если кратко, то в DOCUMENT_ROOT у меня есть только 2 объекта к которым можно обращаться
это директория static и файл index.php
Если я откажусь от .htaccess мне нужно чтобы на стороне сервера я мог прописать нечто такое.
- Если URI начинается на /static/ (/static/img/favicon.png) то сервер отдавал статику, даже не пытаясь задействовать php (короче чтобы он не вмешивался и делала что и обычно).
- Но если запрос НЕ содержит /static/ (/ru/user/1.html) то мне нужно чтобы сервер НЕ изменяя URL (пользователь должен всегда оставаться на том URL с которого он пришёл, если я сам в PHP/JS  не решу иначе) вместо попытки обращения к директориям ru и user и поиска там файла 1.html сразу перенаправил запрос на index.php?get=/ru/user/1.html а на стороне PHP я уже сам смогу определить что делать дальше с этим URI из $_GET['get']

Такое можно прописать на Apache или nginx или nginx unit?
Ну или какие-нибудь иные соображения как можно эффективно организовать ЧПУ маршрутизацию без mod_rewrite?

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Выпуск сервера приложений NGINX Unit 1.11.0, opennews, 20-Сен-19, 07:35  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру