قم بإعداد NGINX و PHP-FPM و MariaDB على دبيان 8

سيوضح لك هذا الدليل كيفية تثبيت وتكوين حزمة LAMP "بديلة" بشكل صحيح في دبيان 8 باستخدام NGINX و PHP Fast Process Manager و MariaDB.

NGINX

NGINX هو "وكيل عكسي أولاً ، خادم الويب ثانياً". إنه بديل شائع ومتزايد لـ Apache ، ويوفر مرونة أكبر وأداء أفضل في كثير من الحالات. في هذا البرنامج التعليمي ، سوف نستخدمه كخادم الويب الخاص بنا.

قم بتشغيل عميل SSH المفضل لديك وقم بتسجيل الدخول إلى الخادم الخاص بك. بالنسبة لمستخدمي Windows ، يعد "PuTTY" عميل SSH مجاني وخفيف الوزن. يمكن لمستخدمي Linux و Mac استخدام الوحدة الطرفية المضمنة بشكل افتراضي مع نظام التشغيل الخاص بهم. في هذا البرنامج التعليمي ، سنفترض أنك قمت بتسجيل الدخول إلى الخادم الخاص بك كمستخدم "جذري".

بالنسبة للمبتدئين ، دعنا نتأكد من أن كل شيء محدث. اكتب ما يلي للتحقق من وجود تحديثات ثم قم بتثبيتها.

apt-get update && apt-get upgrade

سنقوم بتحرير ملفات التكوين الخاصة بنا في فيم. لا يتم تثبيت Vim افتراضيًا ، فلنقم بتثبيته!

apt-get install vim

حان الوقت الآن لتثبيت NGINX. سنقوم بتثبيت أحدث إصدار من NGINX من مستودع NGINX Debian الرسمي.

wget http://nginx.org/keys/nginx_signing.key
apt-key add nginx_signing.key
echo 'deb http://nginx.org/packages/debian/ jessie nginx' >> /etc/apt/sources.list
echo 'deb-src http://nginx.org/packages/debian/ jessie nginx' >> /etc/apt/sources.list
apt-get update && apt-get install nginx

الآن نحن بحاجة إلى تعديل تكوين NGINX بعض. انتقل إلى دليل التكوين.

cd /etc/nginx

درس سريع

استخدم مفاتيح الأسهم للتنقل في المستند النصي. لبدء إجراء التعديلات ، اضغط على الزر "إدراج" على لوحة المفاتيح. إذا كانت لوحة المفاتيح لا تحتوي على زر إدراج ، فاضغط على مفتاح "i". في الجزء السفلي من vim ستلاحظ أنها تقول الآن "INSERT". سيسمح لك وضع الإدراج بالحذف عبر مسافة للخلف أو إدراج أحرف جديدة بكتابتها.

دعونا ننفتح nginx.confونفكر:

vi nginx.conf

دعنا نغير المستخدم الافتراضي ، ونتحقق من عدد العمليات المنفذة ، ونوقف سجل الوصول.

التوجيه "المستخدم" و "عامل_العملات" بالقرب من القمة. جرب القيم أدناه:

لاحظ أنك ستحتاج إلى تعيين "worker_processes" على عدد نوى وحدة المعالجة المركزية المتاحة على الخادم الخاص ب��. في هذا المثال ، لدينا 1 ، وهو NGINX الافتراضي.

user www-data;
worker_processes 1;

سنريد أيضًا تعطيل سجل الوصول من أجل تحسين أداء الإدخال / الإخراج. انتقل لأسفل باستخدام مفاتيح الأسهم حتى تجد "access_log". قم بتعديله لما يلي:

access_log off;

وأخيرًا ، سنقوم بتعيين "client_max_body_size" لتتوافق مع بعض التغييرات التي تم إجراؤها على PHP لاحقًا. دعونا ننقذ المتاعب ونفعل ذلك الآن. أضف أدناه "access_log" أدناه:

client_max_body_size 12m;

عند الانتهاء من التحرير ، اضغط على "Esc" على لوحة المفاتيح. لن يقول Vim بعد ذلك "INSERT" في نهاية الملف.

لحفظ التغييرات وإنهاء vim ، اضغط على تسلسل المفاتيح التالي:

SHIFT :(colon)
wq
Press "Enter"

سوف يكتب vim kung fu أعلاه التغييرات التي قمت بها على القرص والخروج من vim ، مما يسقطك مرة أخرى في غلاف bash.

الآن ، نحن بحاجة إلى تكوين تكوين خاص بالموقع لمثالنا! سنحذف أيضًا أمثلة التهيئة الأخرى. حاول القيام بما يلي:

cd conf.d
rm example_ssl.conf default.conf
vi my_site.conf

سنقوم بعمل قصير وبسيط www.confيعتمد بشكل فضفاض على تكوين NGINX الافتراضي ، ولكن مع بعض التعديلات. اضغط على insert ويمكنك نسخ / لصق المثال أدناه.

لا تنس تحرير التوجيه "الجذر" للإشارة إلى الدليل الجذر لموقع الويب الخاص بك ، و "server_name" لتتوافق مع نطاقك.

server {
    listen 80;

    root /path/to/your/website;
    index index.php index.html index.htm;

    server_name mydomainname.com www.mydomainname.com;

    location / {
            try_files $uri $uri/ /index.php;
    }

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

لقد انتهينا الآن من قسم تكوين NGINX في هذا البرنامج التعليمي. سنعيد تشغيل NGINX بعد قليل من تثبيت PHP.

PHP-FPM

PHP-FPM هو مدير العمليات السريعة لـ PHP. إنه مطلوب عند استخدام NGINX ، لأنه بخلاف Apache ، لا يعمل NGINX PHP كوحدة نمطية. تم ذلك لتقليل بصمة ذاكرة NGINX. هل تتذكر هذا الجزء من كون NGINX وكيلاً عكسيًا أولاً وقبل كل شيء؟ وهنا يأتي دور ذلك ؛ تتم تغذية طلبات PHP المرسلة إلى NGINX إلى PHP-FPM للقيام بالرفع الثقيل.

دعنا نثبت PHP-FPM.

apt-get install php5-fpm php5-mysqlnd

لاحظ أنه بناءً على ما تتطلبه برامج PHP النصية الخاصة بك ، قد تضطر إلى تثبيت وحدات PHP أخرى غير مضمنة افتراضيًا. الشعبية هي php5-gdو php5-mcrypt. يمكنك تثبيت هذه باستخدام الأمر التالي.

apt-get install php5-module_name_here

الآن بعد أن تم تثبيت PHP-FPM ، سنريد إجراء بعض التعديلات السريعة لتحسين الأمان والوظائف.

cd /etc/php5/fpm
vi php.ini

حان الوقت لدرس سريع آخر! في php.iniملف ضخم للغاية. البحث عن عدد قليل من القيم الرئيسية سيستغرق كل يوم. نظرًا لأننا نعرف ما نبحث عنه ، فسنبحث. اكتب ما يلي:

/upload_max_filesize

يتم تعيين هذا افتراضيًا على 2 ميغا بايت. إذا كنت ترغب في السماح للمستخدمين بتحميل الملفات إلى تطبيقات PHP التي يزيد حجمها عن 2 ميغا بايت ، فستحتاج إلى تغيير ذلك. من المحتمل أن يكون 10M رهانًا آمنًا في الوقت الحالي ، ولكن القيم الأعلى مقبولة أيضًا. سيختلف هذا الإعداد بين التكوينات. من أجل البرنامج التعليمي:

upload_max_filesize = 10M

عيب أمني أكثر وضوحا. انتقل لأسفل قليلاً أو ابحث. نحن بحاجة إلى تحويل "allow_url_fopen" إلى "إيقاف". سيمنع هذا PHP من تشغيل ملفات PHP المستضافة عن بعد ، والمعروفة باسم RFI (تضمين الملفات عن بعد). يتم اختراق العديد من الخوادم بهذه الطريقة.

allow_url_fopen = Off

ولأننا قمنا بتغيير "upload_max_filesize" ، علينا الآن تغيير "post_max_size". يجب أن تكون هذه القيمة أكبر قليلاً من "upload_max_filesize" ، لأننا يجب أن نأخذ في الاعتبار النفقات العامة المرتبطة بطلباتنا التي تمت معالجتها بواسطة PHP.

لنبحث مرة أخرى باستخدام "/ post_max_size".

post_max_size = 12M

لاحظ أنه سيتعين عليك العودة إلى تكوين NGINX وتعديل "client_max_body_size" إذا قررت الذهاب بقيم أكبر من هذه الأمثلة لأحجام ملفات PHP.

ذلك حول هذا الموضوع في الوقت الراهن. تأكد من أنك لست في وضع التحرير بالضغط على "Esc". حفظ والخروج فيم.

SHIFT :(colon)
wq
Press 'Enter'

اكتمل إعداد PHP-FPM.

MariaDB

حتى في عالم يتحرك باستمرار نحو NoSQL أو MongoDB ، لا يزال البعض منا يجد أنه من الأسهل التمسك بـ MySQL. هذا ينطبق بشكل خاص على العديد من تطبيقات الويب. لحسن الحظ ، يوجد الآن عدد من بدائل "الاستبدال" لـ Oracle MySQL. يتضمن Debian 8 الآن MariaDB المشهور. يعد MariaDB تفرعًا من Oracle MySQL استنادًا إلى الإصدار 5.5. MariaDB ، لجميع المقاصد والأغراض ، يستدعي هذا MariaDB 10. ويعتبر بديلاً كاملاً لـ Oracle MySQL. فكر في الأمر على أنه MySQL في صميمه ، دون العلامة التجارية Oracle ، وبعض الميزات الجديدة.

apt-get install mariadb-server

هام: أنت بالتأكيد بحاجة إلى اختيار كلمة مرور جذرية قوية لـ MariaDB. احفظه في مكان آمن. ستحتاج إلى إدخاله مرتين أثناء تثبيت MariaDB.

دعونا نقوم بتعديل تكوين MariaDB قليلاً. سنقوم بتعطيل الاستماع إلى MariaDB عبر واجهة الشبكة. بدلاً من ذلك ، كما هو الحال مع PHP-FPM سابقًا ، سنلتزم فقط بمقبس UNIX. يجب أن تدعم معظم تطبيقات PHP الاتصال بخادم قاعدة البيانات عبر مقبس UNIX بدلاً من واجهة الاسترجاع المحلية.

cd /etc/mysql
vi my.cnf

ابحث عن "عنوان ربط = 127.0.0.1". التعليق على هذا الخط. فوقها أو تحتها تضاف "تخطي الشبكات".

#bind-address = 127.0.0.1
skip-networking

لقد انتهينا من MariaDB! في النهاية ، قد ترغب في تعديل تكوين MariaDB بناءً على ما إذا كنت ستستخدم محركي التخزين MyISAM أو InnoDB بشكل أساسي ، ولكن أيضًا لعدد مراكز وحدة المعالجة المركزية وذاكرة الوصول العشوائي المتاحة لخادمك. ستجعلنا الإعدادات الافتراضية تعمل وتعمل في نفس الوقت.

دعنا نعيد تشغيل كل من الخدمات التي تم تعديل ملفات التكوين لها في هذا البرنامج التعليمي.

systemctl restart nginx.service
systemctl restart php5-fpm.service
systemctl restart mysql.service

هذا كل شيء - انتهينا جميعًا. عند هذه النقطة ، لديك خادم LNMP (LEMP) يعمل بشكل كامل عبر الإنترنت!

كان هذا الدليل بمثابة قاعدة عامة عامة للبدء في الخدمات المذكورة أعلاه مع الحد الأدنى من التغيير. لمزيد من المعلومات ، اقرأ وثائق الحزم المذكورة أعلاه. على الرغم من أن هذا المثال يجب أن يعمل بشكل جيد "من خارج الصندوق" ، إلا أنه يمكن إجراء التعديلات ، وعلى الأرجح ستحتاج لتناسب احتياجاتك بشكل أفضل.

المجالات الموصى بها للبحث:

  • استخدام وتعديل التحكم في ذاكرة التخزين المؤقت في NGINX.
  • إعدادات مدير المهام PHP-FPM "ثابتة" أو "ديناميكية" أو "عند الطلب".
  • ضبط أداء MariaDB لتحقيق أقصى استفادة من خادم قاعدة البيانات.


Leave a Comment

قم بإعداد NFS Share على دبيان

قم بإعداد NFS Share على دبيان

NFS هو نظام ملفات قائم على الشبكة يسمح لأجهزة الكمبيوتر بالوصول إلى الملفات عبر شبكة الكمبيوتر. يوضح هذا الدليل كيف يمكنك فضح المجلدات عبر NF

نشر WebDAV على دبيان 10 باستخدام WsgiDAV

نشر WebDAV على دبيان 10 باستخدام WsgiDAV

مقدمة: التأليف والإصدار الموزع على الويب (WebDAV) هو امتداد HTTP يوفر إطار عمل لإنشاء الملفات وتعديلها عن بُعد على

استخدام طرق عرض MySQL على دبيان 7

استخدام طرق عرض MySQL على دبيان 7

مقدمة يتميز MySQL بميزة رائعة تعرف باسم طرق العرض. المشاهدات هي استعلامات مخزنة. اعتبرها اسمًا مستعارًا لاستعلام طويل. في هذا الدليل ،

إنشاء Chroot على دبيان

إنشاء Chroot على دبيان

ستعلمك هذه المقالة كيفية إعداد سجن سريع على دبيان. أفترض أنك تستخدم Debian 7.x. إذا كنت تقوم بتشغيل دبيان 6 أو 8 ، فقد يعمل هذا ، ولكن

كيفية تثبيت PiVPN على دبيان

كيفية تثبيت PiVPN على دبيان

مقدمة طريقة سهلة لإعداد خادم VPN على دبيان هي PiVPN. PiVPN هو أداة تثبيت وغلاف لـ OpenVPN. يخلق أوامر بسيطة لك

كيفية بناء Brotli من المصدر على دبيان 9

كيفية بناء Brotli من المصدر على دبيان 9

استخدام نظام مختلف؟ Brotli هو طريقة ضغط جديدة مع نسبة ضغط أفضل من Gzip. يتم استضافة رمز المصدر الخاص به علانية على Github. ثي

كيفية تثبيت Neos CMS على دبيان 9

كيفية تثبيت Neos CMS على دبيان 9

استخدام نظام مختلف؟ Neos عبارة عن منصة تطبيق محتوى مع CMS وإطار تطبيق في جوهرها. سيوضح لك هذا الدليل كيفية التثبيت

قم بإعداد Cacti على Debian Jessie

قم بإعداد Cacti على Debian Jessie

مقدمة Cacti هي أدوات مراقبة ورسوم بيانية مفتوحة المصدر تعتمد بالكامل على بيانات RRD. من خلال Cacti ، يمكنك مراقبة أي نوع من أنواع الأجهزة تقريبًا

كيفية تثبيت Golang 1.13 على CentOS 8 و Ubuntu 18.04 و Debian 10 و Fedora 31

كيفية تثبيت Golang 1.13 على CentOS 8 و Ubuntu 18.04 و Debian 10 و Fedora 31

Go (تُعرف أيضًا باسم Golang) هي لغة برمجة مكتوبة بشكل ثابت ومجمعة على شكل حرف C تم تطويرها بواسطة Google. جعلت البساطة وتعدد الاستخدامات ب

كيفية تثبيت InvoicePlane على دبيان 9

كيفية تثبيت InvoicePlane على دبيان 9

استخدام نظام مختلف؟ InvoicePlane هو تطبيق فواتير مجاني ومفتوح المصدر. يمكن العثور على رمز المصدر الخاص به في مستودع Github هذا. هذا الدليل

كيفية تثبيت Reader Self 3.5 RSS Reader على Debian 9 LAMP VPS

كيفية تثبيت Reader Self 3.5 RSS Reader على Debian 9 LAMP VPS

استخدام نظام مختلف؟ Reader Self 3.5 هو قارئ RSS بسيط ومرن ومفتوح ومفتوح المصدر ومستضاف ذاتيًا وبديل Google Reader. القارئ سيل

كيفية تثبيت BookStack على دبيان 9

كيفية تثبيت BookStack على دبيان 9

استخدام نظام مختلف؟ BookStack عبارة عن نظام أساسي بسيط وسهل الاستخدام لتنظيم المعلومات وتخزينها. BookStack مجاني تمامًا ومفتوح

كيفية تثبيت FFmpeg على دبيان 8 أو دبيان 9

كيفية تثبيت FFmpeg على دبيان 8 أو دبيان 9

مقدمة FFmpeg هي أداة سطر أوامر مفتوحة المصدر لتشفير / فك تشفير الفيديو والصوت. ميزاته الرئيسية هي سرعة عالية وجودة وفيل صغير

كيفية تثبيت TermRecord على Ubuntu 16.04 و Debian 9

كيفية تثبيت TermRecord على Ubuntu 16.04 و Debian 9

استخدام نظام مختلف؟ TermRecord هو أداة بسيطة مفتوحة المصدر مكتوبة بلغة Python ، تسمح بحفظ الجلسات النهائية إلى مشاركة ذاتية سهلة المشاركة

كيفية تثبيت Matomo Analytics على Debian 9

كيفية تثبيت Matomo Analytics على Debian 9

استخدام نظام مختلف؟ Matomo (Piwik سابقًا) هو نظام أساسي مفتوح المصدر للتحليلات ، وهو بديل مفتوح لبرنامج Google Analytics. مصدر Matomo مستضاف

اختيار نظام التشغيل: CentOS أو Ubuntu أو Debian أو FreeBSD أو CoreOS أو Windows Server

اختيار نظام التشغيل: CentOS أو Ubuntu أو Debian أو FreeBSD أو CoreOS أو Windows Server

تقدم هذه المقالة ملخصًا موجزًا ​​لأنظمة تشغيل الخادم المقدمة كنماذج على Vultr. CentOS CentOS هو إصدار مفتوح المصدر من RHEL (Re

كيفية تثبيت X-Cart 5 على دبيان 10

كيفية تثبيت X-Cart 5 على دبيان 10

استخدام نظام مختلف؟ X-Cart هي منصة تجارة إلكترونية مفتوحة المصدر مرنة للغاية مع الكثير من الميزات والتكاملات. كود مصدر X-Cart مضيف

راقب حالة خادم Debian مع Munin

راقب حالة خادم Debian مع Munin

Munin عبارة عن أداة مراقبة لمسح العمليات والموارد في جهازك وتقديم المعلومات في الرسوم البيانية من خلال واجهة الويب. استخدم ما يلي

كيفية تثبيت Tiny Tiny RSS Reader على Debian 9 LAMP VPS

كيفية تثبيت Tiny Tiny RSS Reader على Debian 9 LAMP VPS

استخدام نظام مختلف؟ Tiny Tiny RSS Reader هو قارئ ومجمّع أخبار مستوحى ذاتيًا ومفتوح المصدر ومستضاف على الويب (RSS / Atom) ، مصمم خصيصًا

إضافة نطاق عناوين IP إلى خادمك (CentOS / Ubuntu / Debian)

إضافة نطاق عناوين IP إلى خادمك (CentOS / Ubuntu / Debian)

مقدمة في هذا البرنامج التعليمي ، سنغطي عملية إضافة نطاق IP / شبكة فرعية كاملة إلى خادم Linux يعمل بنظام CentOS أو Debian أو Ubuntu. الموكيز

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد