سؤال كيفية إعادة تشغيل nginx؟


بالنسبة لي ، أنا تشغيل "killall nginx" وبدء تشغيله من قبل "sbin / nginx" ، أي شخص لديه برنامج نصي إعادة تشغيل أفضل؟

راجع للشغل: أقوم بتثبيت nginx من المصدر ، لا أجد أمر 'service nginx' أو /etc/init.d/nginx


79
2017-12-16 07:49


الأصل


لماذا تقوم بالتثبيت من المصدر؟ تتوفر حزم Nginx لمعظم توزيعات الخادم linux الجيدة. أو يمكنك تجميع الحزم الخاصة بك ، ولكن عدم استخدام الطرود هو عتامة الصيانة. - Tom O'Connor
بسبب mod_rails - larry


الأجوبة:


توفر الحزمة nginx برنامجًا نصيًا /etc/init.d/nginx يوفر بدء التشغيل المعتاد | stop | restart | reload ....

/etc/init.d/nginx restart 

سيتم إعادة تشغيل nginx

كما سوف

service nginx restart

تصحيح

هنا هو ارتباط إلى برنامج نصي يمكنك استخدامه كـ /etc/init.d/nginx.


129
2018-06-11 00:50



يعتمد على المستودع الخاص بك. لا يوفر مصدر Nginx مخطوطات init لذا إذا كنت ترغب في أن يتم تحديثها وتجميعها من المصدر ، فسيتعين عليك الحصول على واحدة من الويكي. - Martin Fjordvald
يجب أن أحصل على المزيد من القهوة قبل الإجابة عن الأسئلة ... - Iain
ما الذي تعيده الخدمة nginx إلى إعادة التشغيل وهل من المناسب إعادة تحميل شيء عند إجراء تغيير على init.d / nginx؟ يبدو أن أمري (/etc/init.d/nginx و nginx service) غير متزامنين. - Danny
@ داني: dunno كتبت هذا> 2 منذ سنوات. - Iain


http://wiki.nginx.org/CommandLine

داخل الارتباطات هناك بعض الأوامر لبدء ووقف خادم nginx

لبدء nginx:

/usr/bin/nginx

لوقف nginx:

/usr/bin/nginx -s stop

/usr/bin يعتمد على مكان تثبيت nginx الخاص بك


11
2018-02-12 19:08



@ slm ثابتة! فقط إضافة بعض التفاصيل. - LiJung


بعد تحرير ملفات التهيئة ، أعيد تشغيلها على هذا النحو في OpenBSD:

kill -HUP `cat /var/run/nginx.pid` && date && sleep 1 && \
    tail -2 /var/www/logs/error.log ; date

ال HUP إشارة يجعله إعادة قراءة ملفات التكوين الخاصة به ، و tail يظهر ما إذا كان قد تم العثور على أي أخطاء ، و date يضع هذه الأخطاء في السياق (حدث خطأ فقط إذا كان الوقت من date يطابق الوقت من السجل) و sleep 1 يضمن عدم وجود شروط سباق بين القراءة من السجل السابق لـ nginx بعد أن كان لديه وقت للكتابة عليه.

هكذا تبدو:

Cns# kill -HUP `cat /var/run/nginx.pid` && date && sleep 1 && tail -2 /var/www/logs/error.log ; date
Tue Feb 12 10:58:52 PST 2013
2013/02/12 10:03:35 [emerg] 8120#0: directive "set" is not terminated by ";" in /etc/nginx/conf.d/etc.ngx.grok/bxr.su.conf:226
2013/02/12 10:04:19 [emerg] 8120#0: invalid return code "$uri_def" in /etc/nginx/conf.d/etc.ngx.grok/bxr.su.conf:231
Tue Feb 12 10:58:53 PST 2013
Cns# 

حقيقة أن الوقت من السجل ليس بين الأوقات المطبوعة من قبل date يشير إلى أنه لم تتم مصادفة أية أخطاء في هذه المرة ، والتهيئة الجديدة هي جيدة.


1
2017-12-16 08:00





يمكنك العثور على مخطوطات init في موقع NginX Wiki: http://wiki.nginx.org/Configuration#Init_Scripts

تعمل وظيفة إعادة التشغيل على الأمر التالي:

BASEDIR=
$BASEDIR/sbin/nginx -s stop
$BASEDIR/sbin/nginx $BASEDIR/conf/nginx.conf

إذا قمت بتثبيت nginx في / opt / nginx ، فاستبدل BASEDIR= بواسطة BASEDIR=/opt/nginx.


0
2017-12-16 08:02





عادة ، لا تقوم الحزم المثبتة من المصدر بتثبيت برنامج نصي لبدء التشغيل على /etc/init.d/. لديك خياران.

1- يمكنك البحث عن نص برمجي في دليل التعليمات البرمجية المصدر أو على موقع الويب ، وتخصيصه إذا لزم الأمر.

2- يمكنك نسخ برنامج نصي لبدء التشغيل لحزمة أخرى من النظام الخاص بك وتخصيصه.


0