كيفية إعداد NGINX على نظام Mac للتجربة

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

تابع وتعلم كيفية تثبيت وإعداد NGINX على الماك. ستتعلم عدة طرق مختلفة لتثبيت NGINX، حتى تتمكن من اختيار الطريقة التي تعمل بالنسبة لك. ستتعلم أيضًا عن العناصر الأساسية للتكوين لمساعدتك في بدء الاختبار.

المتطلبات

سيكون هذا البرنامج التعليمي عرضًا عمليًا. إذا كنت ترغب في متابعة، تأكد من أن لديك ما يلي:

تثبيت NGINX على نظام Mac

هناك طريقتان يمكنك من خلالهما تثبيت NGINX على نظام Mac – عن طريق تجميع المصدر أو باستخدام مدير الحزم. ولكن إحدى الطرق ليست أفضل من الأخرى. الطريقة التي تختارها ستعتمد على احتياجاتك.

في الأقسام التالية، ستتعلم كيفية تنفيذ كلاً من طرق تثبيت NGINX.

الطريقة 1: تجميع وتثبيت من المصدر

تجميع وتثبيت NGINX من المصدر يمنحك مرونة تضمين الوحدات أو تصحيحات الأمان في تثبيت NGINX الخاص بك. على سبيل المثال، يمكنك تجميع NGINX لتضمين بروتوكول الرسائل في الوقت الحقيقي (RTMP) إذا قمت بإعداد خادم بث.

يتطلب التخصيص المزيد من الخطوات ويشمل تثبيت التبعيات يدويا. اتبع هذه الخطوات لتثبيت NGINX على Mac من المصدر.

1. افتح الطرفية على جهاز Mac الخاص بك.

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

# أنشئ مجلد مصدر تحت مجلد المنزل الخاص بك
mkdir ~/src && cd ~/src

3. بعد ذلك، قم بتشغيل الأوامر أدناه لتنزيل (curl) واستخراج (tar) أحدث تعبيرات منتظمة متوافقة مع Perl (PCRE). تتطلب وحدات NGINX الأساسية و إعادة الكتابة PCRE. أحدث إصدار لـ PCRE حتى الآن هو 8.45.

# تنزيل واستخراج مصدر PCRE
curl -OL https://ftp.exim.org/pub/pcre/pcre-8.45.tar.gz
tar -xf pcre-8.45.tar.gz && rm pcre-8.45.tar.gz

4. قم بتشغيل كل أمر أدناه لتنزيل (curl) مصدر OpenSSL لإضافة دعم SSL. هذه الإضافة هي مثال على تخصيص بناء NGINX. أحدث إصدار من OpenSSL حتى الآن هو 1.1.1m.

# تنزيل واستخراج ملفات مصدر OpenSSL
curl -OL http://www.openssl.org/source/openssl-1.1.1m.tar.gz
tar -xf openssl-1.1.1m.tar.gz && rm openssl-1.1.1m.tar.gz

٥. بعد تنزيل المتطلبات، قم بتشغيل الأوامر أدناه لتنزيل (curl) واستخراج (tar) مصدر NGINX. أحدث إصدار ثابت حتى كتابة هذا هو 1.20.2.

# قم بتنزيل واستخراج ملفات مصدر NGINX
curl -OL http://nginx.org/download/nginx-1.20.2.tar.gz
tar -xf nginx-1.20.2.tar.gz && rm nginx-1.20.2.tar.gz
# قائمة الملفات/المجلدات في دليل العمل الحالي
ls -l

في هذه النقطة، يجب أن يكون لديك الآن ثلاثة دلائل جديدة بالمجموع، كما هو موضح أدناه.

Listing the source folders

٦. الآن، قم بتشغيل الأوامر أدناه لتجميع (make) وتثبيت NGINX.

# ادخل مجلد مصدر NGINX
cd nginx-1.20.2

# إنشاء تكوين NGINX
## المعلمات:
## --with-pcre=../pcre-8.45/ : يحدد موقع مصدر PCRE
## --with-http_ssl_module : يمكن HTTPS دعم
## --with-openssl=../openssl-1.1.1m/ : يحدد مصدر OpenSSL. مطلوب بواسطة http_ssl_module
./configure --with-pcre=../pcre-8.45/ --with-http_ssl_module --with-openssl=../openssl-1.1.1m/

# تجميع NGINX
make
# تثبيت NGINX
sudo make install

٧. بعد ذلك، قم بتنفيذ الأمر أدناه لإضافة مسار NGNIX إلى $PATH النظام عن طريق إلحاق المسار الكامل /usr/local/nginx إلى /etc/paths. بعد هذه الخطوة، يمكنك تشغيل أوامر nginx دون تحديد المسار الكامل.

# ألصِق NGINX إلى ملف /etc/paths
echo /usr/local/nginx/sbin | sudo tee -a /etc/paths

8. اضغط على CMD+Q لإغلاق الطرفية وافتح جلسة طرفية جديدة لتطبيق المسارات الجديدة $PATHS.

9. قم بتشغيل الأمر nginx أدناه لتشغيل NGINX لأن خادم NGINX لا يبدأ تلقائيًا بعد التثبيت.

sudo nginx

10. أخيرًا، تأكد من تشغيل NGINX. افتح نافذة متصفح وأدخل العنوان HTTP://localhost. يجب أن ترى صفحة ترحيب NGINX الافتراضية مثل الصورة أدناه.

تثبيت NGINX من المصدر يضبط منفذ الاستماع الافتراضي على 80.

Accessing the NGINX default web page

نظرًا لأنك قمت بتثبيت NGINX على Mac من المصدر كمستخدم root، فستحتاج إلى إضافة البادئة sudo قبل كل أمر nginx تصدره في المستقبل.

الطريقة الثانية: تثبيت NGINX باستخدام Homebrew

تثبيت NGINX باستخدام Homebrew أكثر ملاءمة وأقل عرضة للأخطاء. تقوم هذه الطريقة بتثبيت التبعيات تلقائيًا. إذا لم تكن بحاجة لتخصيص تثبيت NGINX، فهذه الطريقة هي الخيار الأسرع وتتطلب أمر واحد فقط للتثبيت!

لتثبيت NGINX على Mac باستخدام Homebrew، اتبع الخطوات التالية.

1. افتح جلسة طرفية جديدة.

2. قم بتشغيل الأمر التالي باستخدام brew لتثبيت NGINX.

brew install nginx

هل يمكن تثبيت NGINX كمستخدم root باستخدام Homebrew؟ – لا (ليس رسميًا). يرفض أمر تثبيت brew التشغيل مع البادئة sudo. إذا حاولت، ستحصل على رسالة الخطأ أدناه.

“الإرور” أو: تشغيل Homebrew كمستخدم root خطير للغاية ولا يتم دعمه بعد الآن. نظرًا لأن Homebrew لا يقلل من الامتيازات أثناء التثبيت، ستقوم بمنح جميع نصوص البناء وصولًا كاملاً إلى نظامك. “

3. بعد التثبيت، قم بتنفيذ الأمر أدناه لبدء NGINX. يقوم هذا الأمر بتشغيل NGINX كخلفية.

بشكل افتراضي، يقوم Homebrew بتثبيت NGINX في /usr/local/Cellar/nginx/<version> ويقوم بإنشاء روابط رمزية في /usr/local/opt/. البرنامج النصي ل NGINX لديه رابط رمزي في /usr/local/bin وتم تضمين هذا الفهرس بالفعل في $PATH.

nginx

لتشغيل NGINX بدون خدمة خلفية، قم بتشغيل الأمر أدناه. يصدر هذا الأمر توجيهًا عالميًا بعدم تشغيل NGINX كخلفية.

nginx -g “da” mon off;”

يمكنك إيقاف تشغيل NGINX عن طريق الضغط على CTRL+C في هذا الوضع.

4. أخيرًا، قم بتنفيذ الأمر curl أدناه للتحقق من أن NGINX يعمل الآن.

تثبيت NGINX عبر Homebrew يحدد منفذ الاستماع الافتراضي على 8080. هذا التعيين الافتراضي للمنفذ يضمن تشغيل NGINX بدون sudo.

curl HTTP://localhost:8080

كما يمكن رؤية أدناه، قام أمر curl بتنزيل صفحة ويب NGINX الافتراضية، مما يشير إلى تشغيل الخادم.

Testing NGINX with curl

إعداد NGINX للاختبار

حتى الآن، لقد قمت بتثبيت NGINX، ولكنه لا يزال يعمل بإعداداته الافتراضية. هناك بعض التغييرات الأساسية التي قد تنظر فيها قبل أن تبدأ في اختبار موقع الويب الخاص بك.

هل ترغب في أن NGINX يبدأ تلقائيًا مع تشغيل الكمبيوتر؟ أين ستقوم بتخزين ملفات الموقع الذي تقوم بفحصه؟ هل يجب عليك الاحتفاظ بتعيين منفذ الاستماع الافتراضي؟

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

توضح الأقسام التالية خطوات ملف (أو ملفات) تكوين NGINX المثبتة باستخدام Homebrew ما لم تنص التعليمات صراحة على خلاف ذلك.

تخصيص منفذ استماع الخادم

بناءً على طريقة التثبيت، سيكون منفذ الاستماع الافتراضي إما 80 أو 8080. منفذ 8080 مقبول عادةً للفحص والتطوير. ولكن قد ترغب لا تزال في تغيير رقم المنفذ في بعض الحالات، ربما بسبب تعارض مع خدمات أخرى، أو فقط لأنك تشعر بالرغبة في ذلك.

بغض النظر عن سببك، اتبع الخطوات أدناه لتغيير منفذ الاستماع الافتراضي لـ NGINX.

1. أولاً، قم بتشغيل الأمر أدناه لإرسال إشارة التوقف (-s stop) للتأكد من أن NGNIX ليس قيد التشغيل. nginx -s stop

nginx -s stop

2. بعد ذلك، قم بتشغيل الأمر nginx أدناه لمعرفة مسار ملف تكوين NGINX.

nginx -t

النتيجة أدناه توضح أن ملف التكوين في /usr/local/etc/nginx/nginx.conf.

Testing the NGINX configuration file

3. افتح ملف التكوين في محرر النص المفضل لديك، مثل nano، كما هو موضح في المثال أدناه.

nano /usr/local/etc/nginx/nginx.conf

٤. الآن، ابحث عن السطر listen داخل كتلة server {}. كما هو موضح أدناه، قيمة منفذ الاستماع هي 8080.

NGINX listening port number

٥. قم بتغيير رقم منفذ listen إلى قيمة منفذ فريدة أخرى، مثل 9000، في هذا المثال. احفظ التغييرات واخرج من الملف.

Changing the listening port number

٦. الآن، أعد تشغيل أمر nginx أدناه لبدء NGINX مرة أخرى.

nginx

٧. في النهاية، افتح نافذة متصفح جديدة وانتقل إلى HTTP://localhost:9000. يجب أن يخدم NGINX الآن الموقع على المنفذ 9000، كما هو موضح أدناه.

NGINX running on port 9000

الإشارة إلى دليل تطوير الويب الخاص بك

افتراضيًا، تخدم تثبيت NGINX على نظام Mac الدليل الويب من /usr/share/nginx/html (المثبت من المصدر) أو /usr/local/Cellar/nginx/<version>/html (المثبت من Homebrew).

ولكن ماذا لو كانت ملفات موقع الويب الخاص بك في مكان آخر، ربما على قرص آخر؟ لا تقلق. اتبع الخطوات أدناه لتوجيه NGINX إلى دليل تطوير الويب الخاص بك.

١. أولاً، قم بتشغيل الأوامر أدناه لإيقاف NGINX وفتح ملف التكوين في محرر النص، كما فعلت في قسم “تخصيص منفذ استماع الخادم” (الخطوات من واحد إلى ثلاثة).

# قفل NGINX
nginx -s stop
# قم بتشغيل الاختبار للعثور على ملف التكوين
nginx -t
# افتح ملف التكوين للتحرير
nano /usr/local/etc/nginx/nginx.conf

٢. على محرر النص، ابحث عن السطر الذي يقول root html; داخل كتلة server {}.

The default web directory location

3. عدل قيمة root وغيرها إلى المجلد المخصص الخاص بك. في هذا المثال، يكون دليل الويب في /Volume/DevData/testweb. احفظ التغييرات واخرج من المحرر.

الموقع الإلكتروني التجريبي في هذا المثال هو موقع ويب ثابت يُسمىDimensions تم تنزيله من HTML5 Up. هذا الموقع التجريبي مجاني للتنزيل والاستخدام، على أساس ترخيص المشاع الإبداعي 3.0.

Changing the default web directory location

4. الآن، قم بتشغيل خادم NGINX مرة أخرى.

nginx

5. أخيرًا، تصفح العنوان HTTP://localhost:9000 باستخدام متصفح الويب الخاص بك. يخدم NGINX الآن موقع الويب التجريبي الخاص بك من المجلد الخاص بك كما في اللقطة المرفقة أدناه.

Testing if NGINX serves a custom web directory location

تمكين بدء التشغيل التلقائي لـ NGINX لتثبيت قائم على المصدر

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

يمكنك تمكين NGINX للتشغيل التلقائي سواء كانت التثبيتات مبنية على المصدر أو مبنية على البيت. ولكن لهذا التجربة، بدأ بالتثبيت المبني على المصدر.

لتمكين NGINX للتشغيل التلقائي في حالة التثبيت المبني على المصدر، اتبع هذه الخطوات.

1. قم بتشغيل الأمر touch أدناه لإنشاء ملف قائمة الخصائص (PLIST) جديد لـ NGINX.

يقوم موقع /Library/LaunchDaemons بتخزين البرامج الخدمية العامة التي تعمل نيابة عن المستخدم الجذر أو مستخدم محدد. اسم الملف يمكن أن يكون أي شيء تريده، ولكن من المفيد إذا كان اسم الملف يحتوي على اسم البرنامج الخدمي الذي تقوم بإنشاءه.

sudo touch /Library/LaunchDaemons/ata.nginx.plist

2. الآن، افتح ملف PLIST للتحرير.

sudo nano /Library/LaunchDaemons/ata.nginx.plist

3. انسخ الشيفرة أدناه والصقها في محرر النصوص. احفظ الملف واخرج من المحرر.

بشكل مبسط، تحدد الشيفرة أدناه برنامجًا خدميًا بالاسم ata.nginx. البرنامج الذي سيتم تشغيله هو /usr/local/nginx/sbin/nginx وقيمة RunAtLoad تعني أن البرنامج سيعمل أثناء تشغيل الكمبيوتر.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>ata.nginx</string>
				<key>Program</key>
				<string>/usr/local/nginx/sbin/nginx</string>
        <key>RunAtLoad</key>
        <true/>
</dict>
</plist>

4. أخيرًا، قم بتشغيل الأمر launchctl أدناه لـ load البرنامج الخدمي. يبدأ هذا الأمر NGINX فورًا. ومن هذا النقطة فصاعداً، سيبدأ NGINX تلقائيًا بعد كل إعادة تشغيل للكمبيوتر.

sudo launchctl load -w /Library/LaunchDaemons/ata.nginx.plist

افترض أنك قمت بتغيير رأيك وتفضل تعطيل تشغيل NGINX تلقائيًا، قم بتشغيل الأمر التالي. يتوقف هذا الأمر ويعطل تشغيل السيد NGINX تلقائيًا.

sudo launchctl unload -w /Library/LaunchDaemons/ata.nginx.plist

تمكين تشغيل NGINX تلقائيًا لتثبيت Homebrew-Based

على عكس التثبيت القائم على المصدر، بالنسبة لتثبيت NGINX على Homebrew، يكفي تشغيل أمر واحد فقط لتمكين أو تعطيل سلوك تشغيل NGINX تلقائيًا. أليس هذا مريحًا؟

قم بتشغيل الأمر التالي لتمكين NGINX للتشغيل التلقائي. يبدأ الأمر start تشغيل NGINX على الفور ويسجله للتشغيل عند التمهيد.

sudo brew services start nginx

بعد تشغيل الأمر، ستحصل على إخراج مماثل للصورة أدناه.

Starting the NGNIX service

لتعطيل حالة تشغيل NGINX تلقائيًا، قم بتشغيل الأمر التالي. كما يمكنك رؤية، الجزء الوحيد من الأمر الذي يجب تغييره هو من start إلى stop. يُغلق هذا الأمر أيضًا خادم NGINX بشكل سلس على الفور.

sudo brew services stop nginx

ختام

ها هو! إعداد NGINX على نظام Mac هو وسيلة مضمونة للحصول على خادم ويب يعمل في وقت قصير للاختبار. لديك خيارات تثبيت تعتمد على متطلبات الإعداد الخاصة بك، وتخصيص إعداداتها بسرعة من خلال ملفات التكوين النصية العادية – ليس هناك حاجة لأدوات خاصة.

لا يقتصر استخدام NGINX على الاختبار والتشغيل على موقع ويب واحد فقط. يمكنك تشغيل عدة نطاقات تطوير ومواقع ويب في نفس الوقت دون التداخل مع بعضها البعض. أو إذا كنت تشعر بالمغامرة، يمكنك تشغيل NGINX في Docker على نظام Mac أيضًا!

Source:
https://adamtheautomator.com/nginx-on-mac/