Nginx
ما هو Nginx؟
كُتب Nginx ليمسك كثيراً من الاتصالات بذاكرة قليلة. يقف عند باب الموقع. المتصفح يتصل به. يمكنه تقديم ملف من القرص أو تمرير الطلب إلى Node أو PHP أو منفذ آخر. شهادة HTTPS تُربط هنا غالباً أيضاً.
فيمَ يُستخدم Nginx؟
هو لفتح عدة خدمات بترتيب خلف اسم نطاق واحد.
- تقديم موقع ثابت
- وكيل إلى Node أو PHP
- إنهاء TLS في مكان واحد
- فصل عدة أسماء نطاق
ماذا يمكن فعله باستخدام Nginx؟
كتلة server تصف اسماً واحداً. location يقول إلى أي مجلد أو وكيل يذهب المسار. nginx -t يختبر الضبط. إذا كان هناك خطأ فلا تعمل reload. الضبط العامل ينكسر.
هل تعلم Nginx صعب؟
الموقع الثابت البسيط قصير. الصعوبة في ترويسة الوكيل والملف الكبير ومسار الشهادة. يمكنه عمل Apache نفسه، لكن ملف الضبط مختلف. لا تنسخ أحدهما من مثال الآخر.
المزايا والحدود
الميزة: خفيف وقوي في الوكيل والملفات الثابتة والوثائق وفيرة. الحد: الشرط المعقد يجعل الضبط صعب القراءة، وقد يخفي وكيل خاطئ التطبيق. سجل التطبيق نفسه ما زال لازماً.
أفكار أساسية
عملية worker تمسك الاتصال. root المجلد الثابت. proxy_pass عنوان التطبيق خلفه.
- sites-available يحفظ الضبط
- sites-enabled الرابط النشط
- nginx -t يفحص
- systemctl reload nginx يحدّث بلا قتل العملية
مثال قصير
هذه الكتلة تقبل الاسم على المنفذ 80 وتمرّر الطلب إلى المنفذ المحلي 3000. غيّر الاسم إلى اسمك.
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:3000;
}
}أسئلة شائعة
- هل Nginx وApache الشيء نفسه؟ كلاهما خادم ويب، والضبط والنموذج مختلفان.
- هل Nginx لغة برمجة؟ لا. هو الخادم الذي يستقبل الطلب.
- إذا وُجد Node هل يلزم Nginx؟ ليس دائماً. حين يوجد اسم ونطاق TLS وعدة خدمات فغالباً نعم.