สำหรับฉันฉันเรียกใช้ "killall nginx" และเริ่มต้นด้วย "sbin / nginx" ทุกคนมีสคริปต์รีสตาร์ทที่ดีกว่า
BTW: ฉันติดตั้ง nginx จากซอร์สฉันไม่พบคำสั่ง 'service nginx' หรือ /etc/init.d/nginx
สำหรับฉันฉันเรียกใช้ "killall nginx" และเริ่มต้นด้วย "sbin / nginx" ทุกคนมีสคริปต์รีสตาร์ทที่ดีกว่า
BTW: ฉันติดตั้ง nginx จากซอร์สฉันไม่พบคำสั่ง 'service nginx' หรือ /etc/init.d/nginx
คำตอบ:
แพ็กเกจ nginx ระบุสคริปต์ /etc/init.d/nginx ที่ให้ฟังก์ชันการทำงานเริ่มต้น | หยุด | เริ่มใหม่ | โหลดซ้ำ ...
/etc/init.d/nginx restart
จะรีสตาร์ท nginx
ตามที่จะ
service nginx restart
แก้ไข
นี่คือลิงค์ไปยังสคริปต์ที่คุณสามารถใช้เป็น /etc/init.d/nginx
http://wiki.nginx.org/CommandLine
ภายในลิงค์มีคำสั่งสำหรับการเริ่มต้นและหยุดเซิร์ฟเวอร์ nginx
สำหรับการเริ่ม nginx:
/usr/bin/nginx
สำหรับการหยุด nginx:
/usr/bin/nginx -s stop
/usr/bin
ขึ้นอยู่กับตำแหน่งที่คุณติดตั้ง nginx
ด้วยเหตุผลบางอย่างในระบบฝังตัวที่ฉันกำลังทำอยู่ก็คือ:
systemctl restart nginx
หลังจากแก้ไขไฟล์กำหนดค่าฉันเริ่มต้นใหม่เช่นนี้ใน 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
บ่งชี้ว่าไม่มีข้อผิดพลาดเกิดขึ้นในเวลานี้และการกำหนดค่าใหม่เป็นสิ่งที่ดี
คุณสามารถค้นหาสคริปต์ 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
/etc/init.d/
โดยปกติการติดตั้งแพคเกจจากแหล่งที่ไม่ได้ติดตั้งสคริปต์เริ่มต้นที่ คุณมีสองตัวเลือก
1- คุณสามารถค้นหาสคริปต์ในไดเรกทอรีซอร์สโค้ดหรือบนเว็บไซต์และกำหนดเองหากจำเป็น
2- คุณสามารถคัดลอกสคริปต์เริ่มต้นสำหรับแพ็คเกจอื่นจากระบบของคุณและปรับแต่ง