المقدمة
على أوبونتو، يخزن خادم الويب Nginx مستنداته في /var/www/html
، والذي يتم وضعه عادةً على جذر نظام الملفات بجانب بقية نظام التشغيل. في بعض الأحيان، من المفيد نقل جذر المستندات إلى موقع آخر، مثل نظام ملفات منفصل. على سبيل المثال، إذا كنت تخدم مواقع ويب متعددة من نفس مثيل Nginx، فإن وضع جذر مستندات كل موقع على حجمه الخاص يسمح لك بالتوسع استجابة لاحتياجات موقع أو عميل محدد.
في هذا الدليل، ستقوم بنقل جذر مستندات Nginx إلى موقع جديد.
المتطلبات المسبقة
لإكمال هذا الدليل، ستحتاج إلى:
- خادم أوبونتو 22.04 ومستخدم غير جذر لديه امتيازات sudo. يمكنك معرفة المزيد حول كيفية إعداد مستخدم بتلك الامتيازات في دليلنا إعداد الخادم الأولي مع أوبونتو 22.04.
- تم تثبيت Nginx، وفقًا لـ كيفية تثبيت Nginx على Ubuntu 22.04.
- A TLS/SSL certificate configured for your server. You have three options:
- يمكنك الحصول على شهادة مجانية من Let’s Encrypt عن طريق اتباع كيفية تأمين Nginx باستخدام Let’s Encrypt على Ubuntu 22.04.
- يمكنك أيضًا إنشاء وتكوين شهادة SSL ذاتية التوقيع باتباع كيفية إنشاء شهادة SSL ذاتية التوقيع لـ Nginx في Ubuntu 22.04.
- يمكنك شراء واحدة من مزود آخر وتكوين Nginx لاستخدامها باتباع الخطوات 3 و 4 من كيفية إنشاء شهادة SSL ذاتية التوقيع لـ Nginx في Ubuntu 22.04.
سنستخدم اسم النطاق your_domain في هذا البرنامج التعليمي، ولكن يجب عليك استبدال ذلك باسم النطاق الخاص بك.
- A new location for your document root. In this tutorial, we will use the
/mnt/volume-nyc3-01
directory for our new location. If you are using Block Storage on DigitalOcean, this guide will show you how to create and attach your volume. Your new document root location is configurable based on your needs, however. If you are moving your document root to a different storage device, you will want to select a location under the device’s mount point.
الخطوة 1 — نسخ الملفات إلى الموقع الجديد
في التثبيت الجديد لـ Nginx، يقع جذر المستندات في /var/www/html
. ومع ذلك، عن طريق اتباع الدلائل المسبقة، قمت بإنشاء جذر مستند جديد، /var/www/your_domain/html
. قد يكون لديك جذور مستند إضافية أيضًا. في هذه الخطوة، سنحدد موقع جذور مستنداتنا وننسخ الملفات ذات الصلة إلى مواقعها الجديدة.
يمكنك البحث عن موقع جذور مستنداتك باستخدام grep
. دعنا نبحث في الدليل /etc/nginx/sites-enabled
لتحديد تركيزنا على المواقع النشطة. يضمن العلم -R
أن grep
سيقوم بطباعة كل من السطر الذي يحتوي على توجيه root
واسم الملف الكامل في الإخراج:
إذا قمت باتباع البرامج التعليمية المسبقة على خادم جديد، سيبدو النتيجة مثل هذا:
Output/etc/nginx/sites-enabled/your_domain: root /var/www/your_domain/html;
/etc/nginx/sites-enabled/default: root /var/www/html;
/etc/nginx/sites-enabled/default: # deny access to .htaccess files, if Apache's document root
/etc/nginx/sites-enabled/default:# root /var/www/your_domain;
إذا كان لديك إعدادات مسبقة، قد تختلف نتائجك عن ما هو موضح هنا. في كلتا الحالتين، يمكنك استخدام ملاحظات grep
للتأكد من أنك تقوم بنقل الملفات المطلوبة وتحديث ملفات التكوين المناسبة.
الآن بعد تأكيد موقع جذر مستنداتك، يمكنك نسخ الملفات إلى مواقعها الجديدة باستخدام rsync
. يحافظ العلم -a
على الأذونات وخصائص الدليل الأخرى، بينما يوفر العلم -v
إخراجًا مفصلًا لكي تتبع تقدم المزامنة:
ملاحظة: تأكد من عدم وجود شرطة مائلة في المجلد، والتي قد يتم إضافتها إذا استخدمت استكمال التاب. عند وجود شرطة مائلة في النهاية، سيقوم rsync
بتفريغ محتويات المجلد في نقطة التثبيت بدلاً من نقلها إلى مجلد html
المحتويات.
سترى إخراجًا مثل الآتي:
Outputsending incremental file list
created directory /mnt/volume-nyc3-01
html/
html/index.html
sent 318 bytes received 39 bytes 714.00 bytes/sec
total size is 176 speedup is 0.49
مع ملفاتنا في المكان، دعونا ننتقل إلى تعديل تكوين Nginx ليعكس هذه التغييرات.
الخطوة 2 — تحديث ملفات التكوين
يستخدم Nginx كل من ملفات التكوين العامة والخاصة بالموقع. سنقوم بتعديل ملف كتلة الخادم لمشروعك اسم_نطاقك
: /etc/nginx/sites-enabled/اسم_نطاقك
.
ملاحظة: تذكر أن تستبدل اسم_نطاقك
باسم نطاقك، وتذكر أنك ستقوم بتعديل ملفات كتلة الخادم التي تم إخراجها عند تشغيل الأمر grep
في الخطوة 1.
ابدأ بفتح /etc/nginx/sites-enabled/اسم_نطاقك
في محرر:
ابحث عن السطر الذي يبدأ بـ root
وقم بتحديثه بموقع الجذر الجديد. في حالتنا، سيكون هذا /mnt/volume-nyc3-01/html
:
server {
root /mnt/volume-nyc3-01/html;
index index.html index.htm index.nginx-debian.html;
. . .
}
. . .
احرص على مراقبة أي أماكن أخرى ترى فيها مسار جذر المستند الأصلي الذي تم إخراجه بواسطة grep
في الخطوة ١، بما في ذلك الاختصارات أو إعادة الكتابة. سترغب أيضًا في تحديث هذه لتعكس موقع مجلد الوثيقة الجذر الجديد.
عندما تقوم بإجراء جميع التغييرات اللازمة، احفظ وأغلق الملف.
الخطوة ٣ — إعادة تشغيل Nginx
بمجرد الانتهاء من إجراء تغييرات التكوين، يمكنك إعادة تشغيل Nginx واختبار النتائج.
أولاً، تأكد من صحة النحو:
إذا كان كل شيء في نظامه، يجب أن يعيد:
Outputnginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
إذا فشل الاختبار، فتتبع وأصلح المشاكل.
بمجرد اجتياز الاختبار، أعد تشغيل Nginx:
عندما يتم إعادة تشغيل الخادم، قم بزيارة المواقع المتأثرة وتأكد من أنها تعمل كما هو متوقع. بمجرد أن تكون مرتاحًا بأن كل شيء على ما يرام، لا تنس أن تقوم بإزالة النسخة الأصلية من البيانات:
لقد قمت الآن بنقل مجلد جذر Nginx بنجاح إلى موقع جديد.
الختام
في هذا الدرس، غطينا كيفية تغيير جذر المستندات في Nginx إلى موقع جديد. يمكن أن يساعدك هذا في إدارة الخادم الويب الأساسية، مثل إدارة عدة مواقع بفعالية على خادم واحد. كما يتيح لك الاستفادة من أجهزة التخزين البديلة مثل تخزين الكتل الشبكية، والتي يمكن أن تكون مفيدة في توسيع موقع الويب مع تغير احتياجاته.
إذا كنت تدير موقع ويب مزدحمًا أو متناميًا، قد تكون مهتمًا بتعلم كيفية إعداد Nginx مع HTTP/2 للاستفادة من سرعة نقله العالية للمحتوى.