قبل حين لقد أخبرتك عن هذه السلسلة من الدروس، حول كيفية تثبيت خادم وتكوينه للاستضافة عالية الطلب. ستكون هذه المقالة حول التثبيت والتكوين Nginx + PHP مع SpawnFastCGI:
Spawn_FastCGI:
يمكن القول أن هذا هو ما يربط Nginx بـ PHP ، أي أنه حتى لو كان لديهم حزمة PHP5 مثبتة إذا لم يكن لديهم Spawn_FastCGI مثبتًا ومنفذًا عند فتح موقع في PHP ، فسيقوم المتصفح بتنزيل الملف ، ولن يقوم بذلك أظهر لهم أي شيء تمت برمجته .php لأن الخادم لا يعرف كيفية معالجة ملفات .php ، وهذا هو السبب في أنه من الضروري تثبيت وتهيئة Spawn_FastCGI.
إذا استخدمنا Apache ، فسيكون الأمر بسيطًا مثل تثبيت حزمة libapache2-mod-php5 ولكن نظرًا لأننا نستخدم Nginx ، فسيتعين علينا تثبيت حزمة spawn-fcgi بدلاً من ذلك. سأشرح أيضًا في البرنامج التعليمي كيفية إنشاء نص أولي له في /etc/init.d/ حتى تتمكن من التحكم فيه بشكل أكثر راحة.
1. التثبيت:
سنبدأ بالأول ، تثبيت Spawn-FastCGI و PHP من مستودعاتنا.
إذا كنت تستخدم توزيعة على الخادم الخاص بك مثل Debian أو Ubuntu أو بعض المشتقات في الجهاز ، فيجب عليك وضع ما يلي والضغط على أدخل :
aptitude install spawn-fcgi php5-cgi php5-curl
2. التكوين:
في الخطوة السابقة (عندما قمنا بتثبيت Nginx) قمنا بتنزيل ملف يسمى nginx-spawn-fastcgi.tar.gz والذي عند فك ضغطه أنشأ المجلد nginx-spawn-fastcgi في منزلنا ، سنقوم بنسخ الملف منه spawn-fastcgi إلى /etc/init.d/:
cp ~/nginx-spawn-fastcgi/spawn-fastcgi /etc/init.d/
نحتاج أيضًا إلى ملف php-fastcgi القابل للتنفيذ في / usr / bin /
cp ~/nginx-spawn-fastcgi/php-fastcgi /usr/bin/
ممتاز ، لقد جهزنا الملف الذي سيسمح لنا بالتحكم في spawn-fastcgi وأيضًا ملف php-fastcgi القابل للتنفيذ ، والآن سنبدأ spawn-fastcgi:
/etc/init.d/spawn-fastcgi start
سيظهر لنا شيئًا مثل: spawn-fcgi: تم تكاثر الطفل بنجاح: PID: 3739
سنقوم الآن باستبدال ملف /etc/nginx/sites-available/mywebsite.net الخاص بنا بـ ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net
cp ~/nginx-spawn-fastcgi/mywebsite_plus_php.net /etc/nginx/sites-available/mywebsite.net
لماذا ا؟ بسيط ، لأن ملفنا القديم mywebsite.net لا يدعم PHP ، أي أنه Nginx فقط ، في حين أن الملف mywebsite_plus_php.net يدعم PHP ، أي Nginx + PHP باستخدام SpawnFastCGI.
الاختلافات بين هذه الملفات متعددة ، على سبيل المثال:
- في السطر الثالث ، تمت إضافة الملف الذي يدعم PHP index.php
- سطر جديد تحت رقم 3 يحتوي على: fastcgi_index index.php؛
- العديد من الأسطر الجديدة التي تخبر Nginx بكيفية معالجة PHP.
- … .. على أي حال ، إليك صورة ستساعدك على معرفة الفروق بين الملفين:
إن ملف mywebsite_plus_php.net هو مضيف vhost يخدم كمثال ، أي ، وبعبارة أخرى ، يجب علينا تعديله وإنشاء تكويناتنا.
يجب تغيير ما يلي:
- access_log (السطر 3): سيكون هذا هو مسار ملف سجل الوصول إلى هذا الموقع
- error_log (السطر 4): سيكون هذا هو مسار ملف سجل الأخطاء لهذا الموقع
- اسم_الخادم (السطر 5): عنوان URL، المجال الذي تتم استضافته في هذا المجلد، على سبيل المثال، إذا كان المنتدى DesdeLinux سيكون: اسم خادم المنتدى.desdelinuxصافي
- الجذر (السطر 6): المسار إلى المجلد حيث توجد ملفات html ، فلنترك هذا في / var / www / لأنه سيكون اختبارًا فقط
جاهز ، سنقوم الآن بإعادة تشغيل Nginx:
/etc/init.d/nginx restart
للتحقق من أن Nginx الخاص بنا يعالج PHP بشكل صحيح ، دعنا ننسخ الملف phptest.php إلى المجلد المستضاف ، أي ، الملف المشار إليه في السطر رقم 6 من ملف mywebsite_plus_php.net (على سبيل المثال ، root / var / www /) ، بافتراض ذلك استضاف الموقع مباشرة في / var / www / سيكون:
cp ~/nginx-spawn-fastcgi/phptest.php /var/www/
لنفترض أنه في السطر 5 من mywebsite_plus_php.net (أي سطر اسم الخادم) قلنا أن موقعنا هو www.mysite.net ، ثم يجب علينا الوصول إلى www.mysite.net/phptest.php. بمعنى آخر ، الفكرة هي الوصول إلى ملف phptest.php من متصفحنا وإذا ظهر ما يلي ، فإن Nginx مرتبط تمامًا بـ PHP:
في حالة عدم ظهور ذلك ، أي أن المتصفح يحاول تنزيل ملف .php ... هذا يعني أنهم فعلوا شيئًا خاطئًا ، وأنهم لم يستبدلوا /etc/nginx/sites-available/mywebsite.net بـ ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net ... أنك نسيت إعادة تشغيل Nginx مع إعادة تشغيل /etc/init.d/nginx أو أنك نسيت بدء Spawn-FastCGI مع /etc/init.d/spawn-fastcgi start
حتى الآن البرنامج التعليمي لربط Nginx بـ PHP باستخدام SpawnFastCGI ، نحتاج فقط إلى MySQL و APC 🙂
آمل أن يكون هذا ممتعًا بالنسبة لك.
إذا كان ربعًا ، فلماذا تقول الصورة 3؟ بدأت في 0 أعتقد؟ منشور ممتاز.
تحياتي
الأول: العرض
الثاني: Nginx
ثالثًا: Nginx + PHP (Spawn_FastCGI)
؟؟؟؟
شكرا لقراءة ^ _ ^
ماذا حدث للجزء الرابع ؟؟؟
و مع اللاحق ؟؟؟؟؟
مرحبا
سيكون خيارًا أفضل إذا استخدمت MariaDB بدلاً من mysql ، كما يجب أن تعلم ، فإن الأخير هو مفترق من الأول ، وهناك حديث بالفعل أنه سيكون Mysql في المستقبل (http://www.genbetadev.com/bases-de-datos/mariadb-sera-el-mysql-del-futuro) حيث أن Mysql مجاني ، إلى حد ما.
SkySQL ، وهي شركة تقدم خدمات من قواعد بيانات مجانية ، تدعم مشروع MariaDB ماليًا (http://www.genbetadev.com/bases-de-datos/mariadb-y-skysql-unen-fuerzas-para-llevar-a-mariadb-a-lo-mas-alto) و Google التي تريد التوقف عن الاعتماد على Mysql ، كما فعلت ويكيبيديا ، وستنتقل من MySQL 5.1 إلى MariaDB 10.0 بمساعدة ، على وجه التحديد ، SkySQL ، الذين هم بالفعل خبراء في هذا المجال.
Salu2.
مرحبا،
نعم بالطبع ، أعرف MariaDB وفي الواقع ، لقد تحدثنا بالفعل عن ذلك: https://blog.desdelinux.net/tag/mariadb/
No obstante, ahora mismo estoy usando MySQL pues estos tutoriales los hago desde la experiencia particular que tuve al migrar DesdeLinux (con todos sus servicios) hacia otros servidores, en ese momento cambiamos la tecnología completamente y las tareas o cambios que tuve que afrontar no fueron pocos.
اقرأ تعليقي هذا منذ تلك اللحظة: https://blog.desdelinux.net/el-blog-desdelinux-abandona-hostgator-y-pasa-a-gnutransfer/comment-page-1/#comment-81291
الفكرة النهائية هي نعم بالفعل ، الهجرة إلى MariaDB ، لكن لم يكن لدي الوقت لإجراء الاختبارات ذات الصلة 🙂
شكرا للقراءة
سيساعدني هذا البرنامج التعليمي في تثبيت zPanel X مع NGINX حتى لا أشبع موقعي عند الانتقال إلى GNUPanel VPS.
هدية عيد الميلاد؟ كنت أتطلع إلى التهنئة للجميع.
شكرا شريك
تمت الإضافة إلى المفضلة!
بالمناسبة ، لدي هذا الشك والسؤال ، هل يمتلك Nginx أداءً أكثر من Apache؟
تحيات!
حسنًا ، يمكن تحسين Apache كثيرًا ولكن ... حتى الآن ، نتفق مع Google وجميعنا تقريبًا على أن Nginx يستهلك ذاكرة وصول عشوائي (RAM) أقل بكثير ، ولديه أداء لا يُستهان به ، على الرغم من أنه ليس بهذه البساطة تمامًا عند التكوين.
Good KZKG ^ Gaara معلومات ممتازة لأولئك منا المهتمين بهذا العالم ، سؤال ، عندما تكون المشاركة الرابعة 😀