Ali Cloud Nginx في نهاية المطاف البرنامج التعليمي: من نشر موقع ثابت إلى تكوين وكيل عكسي عالي الأداء
في التحول الرقمي للمؤسسات اليوم ، لا يمكن فصل بناء نظام ويب عالي الاستخدام وعالي التزامن وأنيق عن البنية التحتية السحابية المعقولة وخيارات خادم الويب الممتازة. يعد الخادم السحابي ECS (خدمة التوصيل السحابي Elastic) من Alibabic Cloud أكبر قاعدة حسابية في الصين والعالم ، مع خادم محرك أحداث غير متزامن عالي الأداء
Nginx
، أصبح التكوين القياسي لمعظم بنية الإنترنت.
سواء كانت شركة تذهب إلى البحر ، أو التجارة الإلكترونية عبر الحدود ، أو تطبيقات محلية عالية التزامن ، فإن توضيح التكوين الأساسي لـ Nginx هو دورة إلزامية لمهندسي النظام ومهندسي التشغيل والصيانة. ستستند هذه المقالة إلى القتال الفعلي ، من
بناء البيئة ، نشر موقع ثابت ، وكيل عكسي وتكوين فصل ديناميكي وثابت
الأبعاد الأخرى ، ستأخذك إلى فهم التعديل المتقدم لـ Nginx في بيئة سحابة Alibi.
الأعمال التحضيرية: إعداد الهياكل الأساسية
قبل البدء في تكوين كل شيء ، ستحتاج أولاً إلى امتلاك خادم Linux يعمل في السحابة.
📌نصائح لاختيار الهيكل: بالنسبة للشركات التي تذهب إلى البحر أو الشركات التي لديها طلب صارم على الإعفاء من الإيداع ، عادةً ما يتم اختيار إصدار Aliyun الدولي (مثل هونغ كونغ ، سنغافورة ، عقدة غرب الولايات المتحدة) ؛ بينما بالنسبة للأعمال التي تعمل بعمق في السوق المحلية ، فهي أكثر ميلًا إلى الإصدار المحلي من عقدة البر الرئيسي. لا يمكن للعديد من الشركات التي تذهب إلى الخارج التسجيل مباشرة بسبب نقص طرق الدفع الخارجية أو معلومات الهوية الخارجية. في هذا الوقت ، أصبح شراء حساب Alipay وإعادة شحن الامتثال من خلال بائعي القنوات المعتمدين رسميًا الخيار الأكثر كفاءة وأمانًا في الصناعة.
1. منافذ مجموعة الأمان المفتوحة
عندما يكون مثيل ECS جاهزًا ، تحتاج أولاً إلى تسجيل الدخول إلى Alibaba Cloud Console ، وإضافة قاعدة الاتجاه إلى مجموعة الأمان المقابلة للممثل ، وإطلاق منفذي الويب الأساسيين التاليين:
منفذ TCP 80: يستخدم للوصول العادي إلى HTTP.
منفذ TCP 443: الوصول إلى HTTPS للتشفير.
2-تحديث بيئة النظام وتركيب Nginx
مع التيار السائد
Alinux 3 / CentOS 8
النظام كمثال ، نحن نستخدم
Dnf
أو
Yum
مدير الحزمة تثبيت Nginx بسرعة:
باش
# تحديث حزمة النظام
Sudo dnf update -y
# تثبيت Nginx
Sudo dnf install -y nginx
# بدء تشغيل الخدمة وإعداد التمهيد الذاتي
Sudo systemctl start nginx
Sudo systemctl enable nginx
# تحقق من حالة تشغيل Nginx
Sudo systemctl status nginx
عندما يتم عرض الحالة
Active (running)
عندما ، أدخل عنوان IP العام الخاص بك ECS في المتصفح ، إذا رأيت
توضح صفحة الترحيب الخاصة بـ Nginx أن البيئة الأساسية قد تم بناؤها بنجاح.
1. القتال الفعلي المتقدم: نشر موقع ثابت عالي التقارب
في الإنتاج الفعلي ، قم بتعديل ملف التكوين الرئيسي مباشرة
/Etc/nginx/nginx.conf
انها ليست عادة جيدة. أفضل ممارسات Nginx هي
الحفاظ على الملف الشخصي الرئيسي نظيفة, إنشاء منفصلة لكل موقع مستقل تحت/etc/nginx/conf.d/الدليل. Conf الملف الشخصي
.
لنفترض أننا نريد نشر تطبيق حديث أحادي الصفحة (SPA ، مثل مشروع Vue أو React).
1. توحيد قائمة المشاريع
باش
Sudo mkdir -p /www/wwwroot/mysite
# تحميل الملفات الموجودة أسفل دليل ديست المعبأ في الواجهة الأمامية إلى هذا الدليل
2-إعداد ملفات تعريف الموقع
في
/Etc/nginx/conf.d/
إنشاء تحت الدليل
Mysite. conf
:
باش
Sudo vim /etc/nginx/conf.d/mysite.conf
املأ التكوين القياسي لبيئة الإنتاج التالية:
إنجينكس
Server {
Listen 80 ؛
Server_name www.example.com example.com ؛ # استبدال اسم المجال الحقيقي الخاص بك
Root/www/wwwroot/mysite ؛
Index.html index.htm؛
# قم بتشغيل ضغط Gzip ، مما يحسن بشكل كبير من سرعة تحميل الشاشة الأولى في بيئة الشبكة البحرية
Gzip on ؛
Gzip_min_length 1 k؛
Gzip_comp_level 6 ؛
Gzip_types text/plain text/css application/json application/javascript text/xml؛
# حل مشكلة 404 في وضع تاريخ التوجيه الأمامي
الموقع/{
Try_files $ uri $/index.html ؛
}
# تحسين ذاكرة التخزين المؤقت للموارد الثابتة
الموقع ~ * \.(Jpg | jpeg | png | gif | ico | css | js)$ {
Expires 7d;
Access_log off;
}
# إعادة توجيه صفحة الخطأ
Error_page 404 /404.html ؛
Error_page 500 502 503 504 /50x.html ؛
= الموقع/50x.html {
Root/usr/share/nginx/html ؛
}
}
⚠️ تذكير بالامتثال: إذا كان تحليل اسم المجال الخاص بك يشير إلى مثال ECS الخاص بـ Alibian في الصين القارية ، فيجب أن يكمل اسم المجال ملف برنامج المقارنات الدولية في وزارة الصناعة وتكنولوجيا المعلومات ، وإلا فإن جدار حماية حدود Ali Cloud سيعترض تلقائيًا طلب الوصول إلى المنفذ 80/443. إذا تعذر تقديم العمل ، يوصى بشراء خدمة الموقع الدولي من خلال حساب Alibaba Cloud من خلال مزود القناة ، ونشر الموقع في هونغ كونغ ، الصين أو العقد الخارجية.
2. تقدم النواة: تكوين فصل الوكيل العكسي والحركة والثابتة
يعد Reverse Proxy أقوى ميزة في Nginx. في هذا الهيكل ، يكون Nginx هو المدخل الوحيد لحركة المرور ، وهو مسؤول عن تلقي طلبات العميل ، ثم إعادة توجيه الطلبات داخليًا إلى خادم التطبيق الحقيقي في الواجهة الخلفية (مثل Tomcat أو Node.js أو Go أو Python أو Spring Boot).
هذا لا يمكن أن يكون فقط
إخفاء IP الحقيقي للخادم الخلفي
تحسين السلامة ، يمكن أن تحمل أيضًا إنتاجية متزامنة أعلى.
1. الوكيل العكسي الأساسي
لنفترض أن التطبيق الخلفي الخاص بك Spring Boot يعمل على نفس المثال
8080
على المنفذ ، ولا تريد الكشف عن منفذ 8080. يمكننا تكوين مثل هذا في Nginx:
2. مستوى الإنتاج المتقدم: الفصل الديناميكي والثابي والتوجيه متعدد المنافذ
في بنية أكثر تعقيدًا على مستوى المؤسسة ، نميل إلى استخدام نفس اسم المجال للتمييز من خلال بادئة URL
الموارد الثابتة الأمامية
مع
واجهة API الديناميكية الخلفية
:
من خلال هذا
الفصل الديناميكي والثابت
التكوين ، لا يحتاج Nginx إلى إزعاج عملية Java/Go الخلفية عند التعامل مع الصور عالية التزامن وطلبات CSS وطلبات JS الثابتة ، والتي لا تقلل بشكل كبير من سعة الذاكرة للخادم الخلفي فحسب ، بل تزيد أيضًا من نظام موقع الويب بأكمله.
3. دليل لتدخل حيز التنفيذ والتشغيل
بعد تعديل ملف تعريف Nginx ،
لا تقم بإعادة تشغيل الخدمة بشكل أعمى
. إذا كان هناك خطأ نحوي في التكوين (على سبيل المثال ، فقد فاصلة منطة
؛
أو الأقواس غير مغلقة) ، ستؤدي إعادة التشغيل المباشرة إلى تعطل خدمات الويب عبر الإنترنت على الفور ولا يمكن سحبها.
عملية التحميل الزائد السلس الصحيح
1. التحقق النحوي: ضمان سلامة الخدمة عبر الإنترنت.
التنفيذ في المحطة
Sudo nginx -t
الأوامر.
إذا عدت
Nginx: configuration file... Test is successful
، مما يثبت أن بناء الجملة لملف التكوين إيجابي تمامًا
في الواقع.
2. تحميل سلس (Reload): صفر توقف التحديث الحراري.
تنفيذ الأوامر:
Sudo systemctl reload nginx
.
Reload
مع
Restart
على عكس ذلك ، فإنه سيوجه عملية Master Nginx إلى اشتقاق عملية Worker جديدة بسلاسة للتعامل مع الطلبات الجديدة ، بينما سيتم تدمير عملية Worker القديمة تلقائيًا بعد معالجة الاتصال الحالي لتحقيق ذلك
لا انقطاع كامل في العمل
تحديث التكوين.
4. ملخص واقتراحات اختيار الشركات
تكوين Nginx يتغير باستمرار ، لكنه لا ينفصل. تقسيم دقيق من خلال استضافة افتراضية معقولة
Proxy_pass
اطلب تمرير الرأس ، مع ارتباط شبكة Alibaba Cloud ECS المستقر والممتاز ، يمكنك بسهولة دعم تطبيق PV بمتوسط مليون في اليوم.
أخيرًا ، يذكرك كبار ممارسي الحوسبة السحابية بما يلي:
يجب أن يخدم تصميم الهندسة المعمارية الامتثال.
إذا وجدت أثناء عملية التكوين أن تأخير واجهة برمجة التطبيقات الخلفية مرتفع للغاية بسبب تقلبات الشبكة عبر الحدود ، أو إذا ضاعت فرصة السوق بسبب دورة التسجيل الطويلة ، فيجب عليك وضع خطة طويلة الأجل في المرحلة الأولى من التخطيط. بالنسبة للشركات التي لديها متطلبات محددة لتوسيع الأعمال التجارية في الخارج ، اختر قناة Reseller الرسمية المضمونة بعقود الطرف الثالث
شراء حساب علي كلاود
تعد النسخة الدولية من الخدمة ، وتجنب قيود الاسم الحقيقي المعقدة والوصول الإقليمي من المصدر ، القاعدة الذهبية لضمان التنفيذ السلس للأعمال الخارجية.
