У цій статті ви дізнаєтеся про засоби настройки елемента FastCGI, а також про те, як можна налаштувати PHP, щоб він міг розміщувати всі програми PHP на веб-сервері IIS 7 та останніх версіях.


На платформі IIS елемент FastCGI дозволяє включити ті широко використовувані рамки додатків, які одночасно пропонують підтримку елементів FastCGI і дозволяють розміщувати елементи на надійному та високоефективному шляху на веб-сервері веб-сервера IIS. FastCGI передбачає можливість обміну на загальний інтерфейс шлюзу (CGI), який є засобом вищого класу для взаємодії зовнішніх програм із тими веб-серверами, який був функцією, підтримуваною IIS з першого разу, коли він був випущений.

Програми CGI – це файли, які можна виконувати і в більшості випадків; Веб-сервери запускають їх для кожного запиту, який визначає обробку запиту та створення спеціальних відповідей, які потім будуть повернуті цьому користувачеві. Через те, що багатопотокове виконання не підтримується великою кількістю цих фреймів, тоді CGI допоможе їм надійно виконати на платформі IIS точним виконанням єдиного запиту для кожного процесу. Через витрати, пов’язані з початком, а також закриття єдиного процесу для кожного запиту, це дає дуже поганий результат.

Забезпечуючи засоби, за допомогою яких процес знову і знову використовується для обробки безлічі запитів, FastCGI вирішує всі питання, що стосуються продуктивності, спільних з CGI. Створюючи резерв для пулу процесів, які можна використовувати повторно, і переконуючись, що лише запит обробляється лише процесом одночасно, FastCGI підтримує сумісність поряд з тими бібліотеками, які не є безпечними для потоків..

Ізоляція безпеки для веб-сайтів PHP

Всі рекомендації IIS щодо ізоляції загальної безпеки відповідають рекомендаціям, які використовуються для ізоляції веб-сайтів, що підтримують PHP, в середовищі, яким можна ділитися для хостингу. Рекомендація щодо ізоляції веб-сайтів PHP в середовищі спільного хостингу є послідовною. Таким чином, наведені нижче рекомендації:

  • Переконайтеся, що ви використовуєте єдиний пул додатків лише для одного веб-сайту.
  • Переконайтеся, що для пулу додатків ви використовуєте спеціалізований обліковий запис користувача
  • Для того, щоб використовувати ідентичність пулу програм, налаштуйте ідентифікацію користувача, яка є анонімною.
  • Переконайтеся, що ви включили імперсонацію FastCGI у файлі php.ini таким чином: (fastcgi.impersonate = 1)

Поведінка переробки процесів PHP

Переконайтесь, що перш ніж розпочати переробку для рідного PHP, FastCGI вже переробив процеси php-cgi.exe. Поведінка рециркуляції системи FastCGI регулюється атрибутами конфігурації “instanceMaxRequests”. Тепер ця властивість визначає кількість запитів, якими FastCGI може керувати перед переробкою.

Крім того, PHP має пов’язану систему переробки, що регулюється PHP_FCGI_MAX_REQUESTSсередовищем. Переконуючись, що instanceMaxRequests має налаштування, яке дорівнює або менше PHP_FCGI_MAX_REQUESTS, ви можете бути впевнені, що логіка переробки для рідного PHP ніколи не активується.

Для того, щоб налаштувати параметри FastCGI, ви можете скористатися AppCmd командний рядок інструмент або менеджер IIS.

Відповідь: Як використовувати IIS Manager для налаштування параметрів переробки FastCGI

Крок 1: Виберіть Налаштування FastCGI

Переконайтесь, що ви встановили пакет адміністрації IIS на власному сервері та натисніть на менеджер IIS, щоб відкрити його. Потім двічі клацніть на налаштуваннях FastCGI на рівні сервера.

Крок 2: Оберіть варіант редагування

Виберіть конкретну програму FastCGI, яку ви хочете налаштувати, а потім виберіть панель із тегом “Дія” та виберіть варіант редагування.

Крок 3: Налаштуйте “InstanceMaxRequests"

В Редагуйте програму FastCGI діалогове вікно, інтегруйте 10000 як InstanceMaxRequestssetup і виберіть вкладку з тегом “Огляд”, розташовану поблизу налаштувань змінних середовищ..

Крок 4: Додати середовище

Для EnvironmentVariables Collection Editor, діалогове вікно інтегрувати "PHP_FCGI_MAX_REQUESTS"змінна середовищеі виберіть 10000 його значення.

Це важливо, оскільки якщо ви не налаштуєте налаштування, система автоматично застосує для вас налаштування за замовчуванням, наведені нижче:

ДляininMaxRequests = "200"

Для PHP_FCGI_MAX_REQUESTS = “500” (використовується в основному для конфігурацій PHP).

Як налаштувати параметри утилізації FastCGI за допомогою командного рядка

Для того, щоб налаштувати поведінку PHP та FastCGI щодо рециркуляції, скористайтеся AppCmd з використанням наведених нижче команд:

консольКопіювати

C:>% windir% system32inetsrvappcmd встановити config -section: system.webServer / fastCgi / evidencefullPath=’c:{php_folder}php-cgi.exe’ kome.instanMaxRequests:10000

C:>% windir% system32inetsrvappcmd.exe встановлено config -section: system.webServer / fastCgi /+"[fullPath = ‘C: {php_folder} php-cgi.exe’]. середовищеVariables. [name = ‘PHP_FCGI_MAX_REQUESTS’, значення = ‘10000’]"

Увімкнення версії PHP

Більшість програм, що підтримуються PHP, залежать від особливостей або функцій, які доступні лише для певних версій PHP. Для цього конкретного сервера для розміщення цих типів додатків необхідно ввімкнути різні версії PHP, які також повинні одночасно працювати з ним. Зчитування декількох версій PHP на тому ж веб-сервері повністю підтримується обробником для IIS FastCGI.

Наприклад, коли ви плануєте інтегрувати PHP 5.2.5, 5.2.1 та 4.4.8, все це як безпечне для потоків на вашому веб-сервері. Спочатку потрібно вставити в систему файлу та в різні папки еквівалентні бінарні файли PHP, щоб дозволити цю конкретну конфігурацію. (наприклад, C: \ php525 \, C: \ php521 і C: \ php448 \ nts). Після цього потрібно створити для кожної версії різні пули процесів для програм FastCGI.

консольКопіювати

C:>% windir% system32inetsrvappcmd встановити config /section:system.webServer/fastCGI /+ evidencefullPath=’c:php525ntsphp-cgi.exe ‘]

C:>% windir% system32inetsrvappcmd встановити config /section:system.webServer/fastCGI /+ evidencefullPath=’c:php521php-cgi.exe ‘]

C:>% windir% system32inetsrvappcmd встановити config /section:system.webServer/fastCGI /+ evidencefullPath=’c:php448php.exe ‘]

У випадку, коли у вас є три веб-сайти «сайт 1», «сайт 2» та «сайт 3», і для кожного з сайтів необхідно використовувати окрему версію PHP. Потім можна зробити визначення відображень обробника на кожному з сайтів, щоб зробити посилання на відповідний пул процесів для програми FastCGI.

Добре подбайте, щоб зауважити, що для кожного з пулів процесів

для FastCGI створюється унікальна ідентичність шляхом поєднання властивостей аргументу та fullPath.

C:>% windir% system32inetsrvappcmd встановити конфігурацію site1 -розділ: system.webServer / обробники /+"..[name = ‘PHP448_via_FastCGI’, path = ‘*. php’, verb = ‘*’, module = ‘FastCgiModule’, scriptProcessor = ‘c: php448php.exe’, resourceType = ‘Either’]

C:>% windir% system32inetsrvappcmd встановити конфігурацію site2 -розділ: system.webServer / обробники /+"..[ім’я = ‘PHP521_via_FastCGI’, шлях = ‘*. php’, verb = ‘*’, модулі = ‘FastCgiModule’, scriptProcessor = ‘c: php521php-cgi.exe’, resourceType = ‘Або’]

C:>% windir% system32inetsrvappcmd встановити конфігурацію site3 -розділ: system.webServer / обробники /+"..[name = ‘PHP525nts_via_FastCGI’, path = ‘*. php’, verb = ‘*’, module = ‘FastCgiModule’, scriptProcessor = ‘c: php525ntsphp-cgi.exe’, resourceType = ‘Або’]

Рекомендації щодо безпеки PHP

Щоб переконатися, що при встановленні PHP ви маєте жорсткий захист, наведені нижче налаштування допоможуть вам дуже допомогти. Перший крок для цього – знайти та натиснути файл php.ini відкритим, а потім відредагувати параметри для конфігурацій, як зазначено нижче.

enable_url_fopen = Виключено enable_url_include = Вимкнено

Цей параметр використовується для відключення віддалених URL-адрес, які використовуються для функцій обробки файлів, що може спричинити вразливість введення коду.

register_globals = Вимкнено

Цей параметр використовується для відключення register_globals

open_basedir ="c: inetpub"

Цей параметр використовується для обмеження областей, які можна записати та прочитати процесами PHP у файловій системі.

safe_mode = Вимкнено safe_mode_gid = Вимкнено
Цей параметр використовується для відключення безпечного режиму.
max_execution_time = 30 max_input_time = 60
Цей параметр використовується для обмеження часу на виконання сценарію
memory_limit = 16M upload_max_filesize = 2M post_max_size = 8M max_input_nesting_levels = 64

Цей параметр використовується для обмеження використання пам’яті та розмірів файлів

display_errors = Вимкнено log_errors = Увімкнено помилка_log ="С: патофіуркоз"

Цей параметр використовується для налаштування журналів і повідомлень про помилки

fastcgi.logging = 0

Цей параметр змусить модуль IIS FastCGI відмовити будь-який запит, коли PHP надсилає дані про stderr за допомогою протоколу FastCGI. Він також вимикає журнал FastCGI, тим самим запобігаючи PHP можливість надсилати інформацію про помилки по stderr і мати можливість генерувати 500 кодів відповідей для клієнта.

expose_php = Вимкнено

Цей параметр використовується для приховування присутності PHP.

Висновок

Там у вас є всі поради та кроки, які допоможуть вам налаштувати модуль Fastcgi та PHP для розміщення програм PHP на IIS 7 та вище. Ви повинні мати можливість виконати дію, якщо дотримуєтесь кроків у цій статті до кінця. Однак, якщо вам трапляються запаси по лінії, сміливо залишайте коментар, щоб отримати допомогу від члена громади

Ознайомтеся з цими топ-3 найкращими послугами веб-хостингу

FastComet

Стартова ціна:
2,95 дол


Надійність
9.7


Ціноутворення
9.5


Користувач
9.7


Підтримка
9.7


Особливості
9.6

Прочитайте відгуки

Відвідайте FastComet

А2 хостинг

Стартова ціна:
3,92 дол


Надійність
9.3


Ціноутворення
9,0


Користувач
9.3


Підтримка
9.3


Особливості
9.3

Прочитайте відгуки

Відвідайте хостинг A2

ChemiCloud

Стартова ціна:
2,76 дол


Надійність
10


Ціноутворення
9.9


Користувач
9.9


Підтримка
10


Особливості
9.9

Прочитайте відгуки

Відвідайте ChemiCloud

Пов’язані статті “Як”

  • Як використовувати FastCGI для розміщення програм PHP на IIS 7
    проміжний
  • Як встановити та налаштувати MySQL для PHP-програм у Windows IIS 7
    проміжний
  • Як встановити MySQL на веб-сервері Windows під управлінням Apache
    новачок
  • Як встановити PHP Composer на CentOS 7 VPS або на виділений сервер
    проміжний
  • Як одразу вийти з облікового запису всіх користувачів у WordPress
    проміжний
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me