كيفية تهيئة Nginx لصفحة PHP

في هذه المقالة ، أوضحنا كيفية تهيئة Nginx لصفحة PHP على CentOS.

في هذا البرنامج التعليمي ، قمنا بتثبيت NGINX. سيغطي هذا البرنامج التعليمي التكوين الأساسي لخادم الويب NGINX لمعالجة تطبيق PHP وخادمه على المنفذ 80. يوصى بدراسة NGINX و PHP-FPM.

المتطلبات الأساسية

  • خادم مخصص أو خادم سحابي مثبت عليه CentOS.
  • تم تثبيت NGINX على CentOS.
  • تم تثبيت PHP.
  • SSH كمستخدم أساسي (يمكنك استخدام مستخدم عادي له حقوق sudoer ، استخدم sudo مع كل أمر).

وفيما يلي المواد ل تركيب إنجن إكس و تركيب PHP .

بمجرد تثبيت كليهما ، افتح ملف تكوين PHP-fpm الرئيسي:

# vi /etc/php.ini

نحن نبحث عن المعلمة التي تحدد cgi.fix_pathinfo . لن يتم التعليق عن طريق إزالة الفاصلة المنقوطة (؛) وضبطها على 0.

هذا إعداد غير آمن للغاية لأنه يخبر PHP بمحاولة تنفيذ أقرب ملف يمكنه العثور عليه إذا كان ملف PHP لا يتطابق تمامًا. سيسمح هذا بشكل أساسي للمستخدمين بصياغة طلبات PHP بطريقة تسمح لهم بتنفيذ البرامج النصية التي لا ينبغي السماح لهم بتنفيذها.

لذلك ، سنقوم بتغيير كلا الشرطين عن طريق إلغاء تعليق السطر وتعيينه على "0" على النحو التالي:

cgi.fix_pathinfo=0

بمجرد الانتهاء من ذلك ، قم بالحفظ والخروج.

بعد ذلك ، أعد تشغيل خدمة php-fpm:

# systemctl restart php-fpm

قم بتكوين كتلة خادم Nginx لاستخدام معالج PHP

# vi /etc/nginx/sites-available/default

ملاحظة: قد يكون اسم ملف كتلة الخادم مختلفًا كما هو موضح أعلاه.

قد تبدو كتلة الخادم الافتراضي لـ Ngnix بالشكل التالي:

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

root /usr/share/nginx/html;
index index.html index.htm;

server_name localhost;

location / {
try_files $uri $uri/ =404;
}
}

  • نحتاج هنا إلى إضافة توجيه فهرس index.php للسماح بتقديم ملفات PHP عند طلب دليل.
  • قم بتعديل التوجيه server_name. استبدل localhost باسم مجال FQDN أو عنوان IP العام.
  • أضف أمر try_files للتأكد من أن Nginx لا يمرر الطلبات السيئة إلى معالج PHP الخاص بنا.

تبدو كتلة الخادم كما يلي:

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

root /usr/share/nginx/html;
index index.php index.html index.htm;

server_name server_domain_name_or_IP;

location / {
try_files $uri $uri/ =404;
}

error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}

location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

تكوين مثل التغييرات المذكورة أعلاه ، الآن احفظ والخروج من الملف.

أعد تشغيل Ngnix لإجراء التغييرات اللازمة:

# systemctl restart nginx

الآن ، قم بإنشاء ملف اختبار PHP:

# vi /usr/share/nginx/html/info.php

أضف كود PHP صالحًا يعرض معلومات منسقة حول خادمنا:

<>
phpinfo();
?>

حفظ وخروج.

هذا كل ما قمنا به من التكوين المطلوب بالإضافة إلى التعديلات.

أخيرًا ، دعنا نصل إلى ملف info.php ، الذي أنشأناه سابقًا:

https://server_domain_name_or_IP/info.php

يجب أن تشاهد صفحة ويب تم إنشاؤها بواسطة PHP تحتوي على معلومات حول الخادم الخاص بك.

إذا رأيت صفحة معلومات PHP تم إنشاؤها بواسطة PHP ، فهذا يعني أنك قد أعددت معالجة PHP باستخدام Nginx بنجاح.

في الوقت الحالي ، قم بإزالة الملف بكتابة:

sudo rm /usr/share/nginx/html/info.php

في هذه المقالة ، رأينا كيف يقوم مهندسو الدعم لدينا بتكوين Nginx لصفحة PHP.


كيفية تحديث عناصر المجلد في Windows 11

كيفية تحديث عناصر المجلد في Windows 11

مع فقدان خيار التحديث في قائمة السياق ، إليك كيف يمكنك تحديث العناصر في File Explorer على Windows 11.

كيفية إصلاح خطأ ترتيب النسخ utf8mb4_0900_ai_ci عند استيراد قاعدة بيانات WordPress

كيفية إصلاح خطأ ترتيب النسخ utf8mb4_0900_ai_ci عند استيراد قاعدة بيانات WordPress

إذا كنت تقوم بتبديل تثبيت WordPress الخاص بك من خادم MySQL 8 إلى MySQL 5.7 (أو أقل) ، فستواجه على الأرجح

كيفية تعيين المحرر الكلاسيكي كمحرر افتراضي في WordPress بدلاً من Gutenberg

كيفية تعيين المحرر الكلاسيكي كمحرر افتراضي في WordPress بدلاً من Gutenberg

سيصبح محرر Gutenberg قريبًا المحرر الافتراضي في WordPress. سيكون لديك خيار تحديد المحرر الكلاسيكي

كيفية إصلاح مشاكل WordPress 5.0

كيفية إصلاح مشاكل WordPress 5.0

تم طرح الإصدار 5.0 من WordPress أخيرًا وهو يجلب معه تجربة تحرير جديدة تمامًا مع Gutenberg

🔧 إصلاح: يبدو أن تثبيت PHP الخاص بك يفتقد إلى ملحق MySQL المطلوب بواسطة WordPress

🔧 إصلاح: يبدو أن تثبيت PHP الخاص بك يفتقد إلى ملحق MySQL المطلوب بواسطة WordPress

هل تتطلع إلى تشغيل موقع WordPress تتم إدارته ذاتيًا؟ رائعة. ستتعلم الكثير من الأشياء. أحد الأجزاء الحاسمة في الإعداد

كيفية تعطيل محرر الحظر وتثبيت Classic Editor في WordPress 5.0

كيفية تعطيل محرر الحظر وتثبيت Classic Editor في WordPress 5.0

بدءًا من الإصدار 5.0 من WordPress ، فإن المحرر الافتراضي في WordPress هو محرر Block الجديد. المحرر الجديد مختلف جذريا

تصحيح: واجه المحرر خطأ غير متوقع في WordPress بعد التحديث

تصحيح: واجه المحرر خطأ غير متوقع في WordPress بعد التحديث

غير قادر على كتابة منشور جديد باستخدام محرر القوالب الجديد في WordPress؟ من المحتمل أن تحصل على "المحرر

كيفية تمكين علامات PHP القصيرة

كيفية تمكين علامات PHP القصيرة

في هذه المقالة ، تناولنا كيفية تمكين علامات PHP القصيرة. تحلل PHP الملف باستخدام علامات الفتح والإغلاق ، والتي تبدو مثل. لتمكين علامات PHP القصيرة

قم بتكوين mod_evasive لمنع هجمات DoS و DDoS على CentOS

قم بتكوين mod_evasive لمنع هجمات DoS و DDoS على CentOS

في هذه المقالة ، سوف نتعلم كيفية تثبيت وتكوين mod_evasive لمنع هجوم DoS و DDoS على CentOS. وحدة اباتشي mod_evasive.

كيفية تثبيت PHP مع PHP-FPM لـ NGINX على CentOS

كيفية تثبيت PHP مع PHP-FPM لـ NGINX على CentOS

كيفية تثبيت PHP مع PHP-FPM لـ NGINX على CentOS. التكوين الأساسي لخادم الويب NGINX لمعالجة تطبيق PHP وخادمه على المنفذ 80.