लिनक्स टकसाल के साथ एक सेवा (Apache2) को ऑटो-स्टार्ट कैसे करें


11

(Strangley) मेरा स्थापित Apache2 लिनक्स टकसाल में प्रवेश करते समय शुरू नहीं होता है।

इस कमांड को चलाने से यह हो जाता है:

sudo service apache2 start

मुझे प्रत्येक लॉगिन पर इस सेवा को शुरू करने का प्रयास कैसे करना चाहिए?


आप उस कमांड को रख सकते हैं ~/.xinitrc, जिसे स्टार्टअप पर चलाया जाएगा।
n0pe

2
@MaxMackie इसके विपरीत, ~/.xinitrcलॉगिन समय पर चलाया जाता है, जो सही नहीं है। बूट समय पर अपाचे को रूट द्वारा शुरू करने की आवश्यकता है।
गिल्स एसओ- '

@ गिल्स, सही है कि मैं इसके बारे में भूल गया, सही करने के लिए धन्यवाद। हालांकि, अपाचे को बूट पर शुरू करने की आवश्यकता क्यों है? लगभग एक ही चीज़ को पूरा करने के लिए लॉगिन नहीं होगा?
n0pe

@MaxMackie यदि आप बूट के तुरंत बाद लॉग इन नहीं करते हैं, तो जाहिर है। अपाचे भी आपके अनुसार नहीं चलता है, इसलिए आपको इसे विशेषाधिकार देना होगा। यह बूट स्क्रिप्ट के हिस्से पर शुरू होना चाहिए, और सामान्य रूप से होता है।
गाइल्स 'एसओ- बुराई को रोकें'

@ गिल्स सही। उस पर प्रकाश डालने के लिए धन्यवाद।
n0pe

जवाबों:


12

डेबियन (उबंटू / लिनक्स मिंट)

Rcconf (CLI-GUI)

sudo apt-get install rcconf
sudo rcconf

अद्यतन-rc.d

sudo update-rc.d -f apache2 add

या

sudo update-rc.d apache2 defaults

RedHat / फेडोरा / CentOS

chkconfig

sudo chkconfig --add apache2

या

sudo chkconfig -- level 35 apache2 on

अपाचे चलाते समय अपाचे की पहले ही जाँच हो चुकी थी।
इयोनोक

update-rc.dएक त्रुटि के लिए कमांड लीड चलाना update-rc.d: warning: apache2 start runlevel arguments (none) do not match LSB Default-Start values (2 3 4 5):।
इयोनोक

क्या आपने
अपडेट-

1
धन्यवाद, लेकिन न तो काम किया। पहली बार "पहले से मौजूद" चेतावनी के परिणामस्वरूप, दूसरा परिणाम हुआ warning: apache2 start runlevel arguments (none) do not batch LSB default-Start values (2 3 4 5)
इयोनोक

6

चूंकि टकसाल उबंटू पर आधारित है, और उबंटू ने अपस्टार्ट पर स्विच किया है, उपस्टार्ट कुकबुक में बूट पर या किसी निर्दिष्ट रनलेवल पर सेवा शुरू करने के लिए सभी जानकारी है।

यह साइट अपाचे को बूट पर शुरू करने के लिए एक विस्तृत रसोई की किताब देती है।


उस पेज में बैश स्क्रिप्ट रखने की बात की गई है /etc/init.d/apache2। लेकिन वह फ़ाइल पहले से ही बहुत अधिक जटिल बैश स्क्रिप्ट से भरी है, जिसे अपाचे ने ही वहाँ रखा होगा।
इयोनोक

3

इसी समस्या का एक अन्य कारण आरसी [0-6] .d में अपाचे लिंक की प्राथमिकता है। मेरा S90 और K09 था, और Apache बूट पर शुरू नहीं होगा। 20, उनकी चूक पर प्राथमिकताएं निर्धारित करते हुए मेरे लिए काम किया। मौजूदा लिंक को पहले हटाने की जरूरत है।

sudo update-rc.d -f apache2 remove
sudo update-rc.d apache2 defaults

2

शटडाउन पर, मैंने एक त्रुटि देखी:

/Etc/apach2/apache.conf .... / etc / apache / sites-enable / mysite की लाइन 230 पर सिंटैक्स त्रुटि: ऐसी कोई फ़ाइल या निर्देशिका नहीं

बात यह थी, mysiteमेरे घर के फ़ोल्डर में एक फ़ाइल के लिए सिमिंक किया गया था।

मुझे लगता है कि आम तौर पर एक समस्या नहीं होनी चाहिए।

लेकिन जहां तक ​​मुझे पता है, मेरे घर का विभाजन एन्क्रिप्टेड है । इसलिए, मैं अनुमान लगा रहा हूं कि जब यह लोड हो रहा था तो अपाचे आभासी साइट फ़ाइल को नहीं पढ़ सकता था। जब तक मैं अपने पासवर्ड में टाइप नहीं करता, तब तक फ़ाइल पहुँच योग्य नहीं थी।

एक जटिल स्थिति, और इसे पूरा करने में महीनों लग गए :)


तो आपने इसे कैसे काम किया?
जोनास Jonppelgran

1

2019 में अपडेट किया गया एक नया उत्तर:

sudo systemctl start httpd

sudo systemctl सक्षम httpd

Systemctl कमांड systemd सिस्टम और सर्विस को नियंत्रित करने के लिए एक नया टूल है। यह पुराने SysV init सिस्टम प्रबंधन का प्रतिस्थापन है। अधिकांश आधुनिक लिनक्स ऑपरेटिंग सिस्टम इस नए टूल का उपयोग कर रहे हैं। यदि आप CentOS 7, Ubuntu 16.04 या बाद में या डेबियन 9 सिस्टम के साथ काम कर रहे हैं। उन्होंने अब सिस्टमड का विकल्प चुन लिया है।

सिस्टम बूट पर सक्षम सेवा ऑटोस्टार्ट्स। यह SysV init के लिए chkconfig की तुलना में सिस्टमड के लिए समान विकल्प है।


1
आप ऑर्डर को फ़्लिप करने पर विचार कर सकते हैं, ताकि इसे शुरू करने के लिए कहने से पहले यह सक्षम हो जाए।
जेफ स्कालर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.