2012-03-20 14 views
6

में सेवा के रूप में पंजीकृत नहीं है। मैं फेडोरा 16 32 बिट चला रहा हूं और मैंने यात्री को nginx के साथ स्थापित किया है (स्थापना के दौरान विकल्प 1, सबकुछ मेरे लिए संभाला गया था)। स्थापना ठीक हो गई, लेकिन nginx सेवा के रूप में पंजीकृत नहीं है।NginX के साथ यात्री फेडोरा

इसे चलाने का एकमात्र तरीका सीधे /opt/nginx/sbin/nginx के माध्यम से है। /etc/init.d/nginx

के माध्यम से इसे चलाने की कोई संभावना नहीं है क्या सेवा के रूप में इसे पंजीकृत करने का कोई तरीका है?

+0

https://github.com/johnantoni/nginx_init_script – manzhikov

उत्तर

5

सामग्री के साथ फ़ाइल /etc/systemd/system/nginx.service बनाएँ:

[Unit] 
Description=Nginx 
After=syslog.target network.target 

[Service] 
Type=forking 
ExecStart=/usr/local/nginx/sbin/nginx 
ExecReload=/usr/local/nginx/sbin/nginx -s reload 

[Install] 
WantedBy=multi-user.target 

उसके बाद आप के साथ इसे नियंत्रित कर सकते हैं:

sudo systemctl stop|start|restart nginx.service 

या

sudo service nginx stop|start|restart 

बूट पर आप कर सकते हैं शुरू करने के लिए सक्षम करने के लिए nginx sudo systemctl enable nginx.service चलाएं।

+0

nginx जैसी फ़ोरिंग सेवाओं के लिए आपकी सेवा फ़ाइल में 'PIDFile = 'विकल्प शामिल करने की अनुशंसा की जाती है। तो ऊपर दिए गए उदाहरण में 'टाइप = फोर्किंग' लाइन के बाद' PIDFile =/var/run/nginx.pid' शामिल होगा। अधिक जानकारी के लिए देखें: [http://0pointer.de/public/systemd-man/systemd.service.html ](http://0pointer.de/public/systemd-man/systemd.service.html) – Nick

0

मैंने निम्नलिखित "हैक" बनाया है। पैसेंजर सपोर्ट के साथ ताजा संकलित nginx स्थापित किया गया है, यह जांचता है कि यह कमांड लाइन से लॉन्च होने पर ठीक से चलता है, फिर sudo yum install nginx (यह सेंटोस था) के साथ nginx स्थापित किया गया।

और अंत में, मैंने *nginx* फ़ाइलों को /etc फ़ोल्डर में खोजा और /usr/sbin/nginx से /opt/nginx/sbin/nginx पर प्रतिस्थापित किया। फिर मशीन को रीबूट किया और sudo service nginx start के साथ nginx शुरू करने में सक्षम था।

यह करने के लिए निश्चित रूप से एक और शानदार तरीका है, लेकिन मैं अध्ययन करने के लिए आलसी हूं कि प्रत्येक लिनक्स वितरण सेवाओं में कैसे पंजीकृत है।

इसके अलावा, मैं वहाँ रास्तों

  • nginx.conf
  • nginx.pid (${prog}.pid) के लिए बदल दिया - अन्यथा यह nginx को रोकने के लिए सक्षम नहीं होगा
संबंधित मुद्दे