გადატვირთვა Apache Ubuntu, RedHat, Gentoo და სხვა Linux Distros
თუ შენს ვებ-გვერდს ღია პლატფორმაზე უმასპინძლებს, ძალიან სავარაუდოა, რომ ეს პლატფორმაა Apache. თუ ეს ასეა, და მასპინძლობს Apache სერვერს, მაშინ როდესაც თქვენ მუშაობთ Apache httpd.conf ფაილის ან სხვა კონფიგურაციის ფაილის რედაქტირებაზე (როგორც ახალი ვირტუალური მასპინძლის დამატება), თქვენ უნდა გადატვირთოთ Apache ისე, რომ თქვენი ცვლილებები ძალაში შედის. ეს შეიძლება საშინელი იყოს, მაგრამ საბედნიეროდ ეს ძალიან ადვილია.
ფაქტობრივად, შეგიძლიათ ამის გაკეთება დაახლოებით ერთი წუთი (არ ითვლიან დროს დასჭირდება წაკითხვის ამ მუხლის მისაღებად ეტაპობრივად ინსტრუქციები).
ვიწყებთ
განაახლოთ თქვენი Linux Apache სერვერის სერვერზე, საუკეთესო საშუალებაა გამოიყენოს init.d ბრძანება. ეს ბრძანება ხელმისაწვდომია Linux- ის ბევრ დისტრიბუციაში, მათ შორის Red Hat, Ubuntu და Gentoo. აი, როგორ მოიქცე
- შეხვიდეთ თქვენს სერვერზე SSH ან telnet გამოყენებით და დარწმუნდით, რომ თქვენს სისტემაში შედის init.d ბრძანება. ეს ჩვეულებრივ ნაპოვნია / etc directory, ასე რომ სიაში რომ დირექტორია:
ls / etc / i *
- თუ თქვენი სერვერი იყენებს init.d- ს, თქვენ მიიღებთ ინიციალიზაციას ფაილში მითითებული ფაილში. გამოიყურება apache ან apache2 ამ ფოლდერში შემდეგ. თუ თქვენ გაქვთ init.d, მაგრამ არ გაქვთ Apache ინიციალიზაციის ფაილი, გადადით ამ სტატიის განყოფილებაში სათაურით, რომ წერია "Restarting Your Server Without Init.d", წინააღმდეგ შემთხვევაში შეიძლება გაგრძელდეს.
- თუ თქვენ გაქვთ init.d და Apache- ის ინიციალიზაციის ფაილი, შეგიძლიათ გადატვირთოთ Apache ამ ბრძანების გამოყენებით:
/etc/init.d/apache2 გადატვირთვა
თქვენ შეიძლება დაგჭირდეთ sudo როგორც root მომხმარებლის გასაშვებად ეს ბრძანება.
გადატვირთვის ვარიანტი
გამოყენება განახლების ვარიანტი არის საუკეთესო გზა გადატვირთოთ თქვენი Apache სერვერზე, რადგან ის ინახავს სერვერზე გაშვებული (პროცესი არ დაიღუპა და განახლდება). ამის ნაცვლად, უბრალოდ ხელახლა ჩატვირთვა httpd.conf ფაილი, რომელიც, როგორც წესი, ყველაფერს გააკეთებს ამ მაგალითში.
თუ გადატვირთვის ვარიანტი არ მუშაობს თქვენთვის, ასევე შეგიძლიათ გამოიყენოთ შემდეგი ბრძანებები:
- /etc/init.d/apache2 გადატვირთვა - ეს ბრძანება კლავს სერვერის პროცესს და შემდეგ აღადგენს მას
- /etc/init.d/apache2 stop - ეს ბრძანება კლავს სერვერს
- /etc/init.d/apache2 start - ეს ბრძანება იწყებს სერვერს (და სერვერზე გაშვების შემთხვევაში შეცდომის შეტყობინებას მიმართავს)
გადატვირთვა შენი სერვერი Init.d გარეშე
OK, ასე რომ ეს არის სადაც ჩვენ გთხოვეთ გამოტოვეთ თუ თქვენს სერვერს არ აქვს init.d. თუ ეს შენ ხარ, არ დაიდარდოთ, კვლავ განაახლეთ თქვენი სერვერი. თქვენ უბრალოდ უნდა გავაკეთოთ ხელით ბრძანება apachectl. აქ არის ამ სცენარის ნაბიჯები:
- შეხვიდეთ თქვენს ვებ-სერვერზე მანქანების გამოყენებით SSH ან telnet
- გაუშვით აპაჩური კონტროლის პროგრამა:
apachectl მოხდენილი
თქვენ შეიძლება დაგჭირდეთ sudo როგორც root მომხმარებლის გასაშვებად ეს ბრძანება.
Apachectl graceful ბრძანება ეუბნება Apache, რომ გსურთ გადატვირთოთ სერვერზე gracefully გარეშე შეწყვეტის ნებისმიერი ღია კავშირები. იგი ავტომატურად ამოწმებს კონფიგურაციის ფაილებს, სანამ დაიწყება გადატვირთვა იმისათვის, რომ დარწმუნდეთ, რომ Apache არ იღუპება.
თუ apachectl graceful არ განაახლებს თქვენს სერვერს, არსებობს რამდენიმე სხვა რამ, რაც შეგიძლიათ სცადოთ.
- apachectl გადატვირთვა გადატვირთეთ სერვერზე. თუ სერვერზე არ არის გაშვებული, ის დაიწყო. ეს ბრძანება ასევე მართავს კონფიგურაციის ტესტირებას, რათა Apache არ მოკვდება, როდესაც ის განახლდება.
- apachectl შეჩერება შეჩერება Apache სერვერზე
- apachectl დაიწყოს დაიწყოს Apache სერვერზე (იქნება ჩააგდოს შეცდომა თუ Apache გადის)
- apachectl configtest- ს შესამოწმებლად კონფიგურაციის ფაილი სინტაქსი.
მინიშნებები გადატვირთვა თქვენი Apache სერვერი:
- init.d reload და apachectl მოხდენილი ორივე განაახლეთ კონფიგურაციის ფაილი და gracefully გადატვირთეთ ვებ სერვერზე. ნებისმიერი მიმდინარე კავშირები შეიძლება დასრულდეს. ეს არის სასურველი მიდგომა და ეს უნდა იყოს ის, რაც თქვენ ცდილობენ პირველს.
- init.d გადატვირთვა და apachectl გადატვირთვა განაახლეთ კონფიგურაციის ფაილები და restarts. ნებისმიერი მიმდინარე კავშირები დაუყოვნებლივ წყდება.
- თუ სერვერზე არ არის გაშვებული, ეს ბრძანებები დაიწყებს მას.
- თუ არცერთი ბრძანება არ მუშაობს, თქვენ უნდა გამორთოთ თქვენი Apache სერვერი (მოკლე დროში), init.d stop ან apachectl stop ბრძანებით, დაველოდოთ მინიმუმ 10 წამი და შემდეგ აწარმოეთ init.d start start apachectl start
- თუ ეს არ მუშაობს, თქვენ უნდა აწარმოოთ გამშვები კონფიგურაციის ფაილებში, რათა დარწმუნდეთ, რომ არ არის პრობლემა მათთან ერთად apachectl გაშვებული