Перазапусціце Apache на Ubuntu, RedHat, Gentoo і іншых Linux дыстрыбутываў
Калі хостынг для вашага сайта на адкрытай платформе крыніцы, то вельмі верагодна, што гэтая платформа з'яўляецца Apache. Калі гэта так, і вы хостынг з серверам Apache, а затым , калі вы працуеце над рэдагаваннем Apache httpd.conf файл або іншы файл канфігурацыі (напрыклад , даданне новага віртуальнага хаста), вам трэба будзе перазапусціць Apache , так што вашыя змены ўступяць у сілу. Гэта можа здацца страшна, але, на шчасце, гэта вельмі лёгка зрабіць.
На самай справе, вы можаце зрабіць гэта на працягу адной хвіліны (не лічачы часу, якое спатрэбіцца, каб прачытаць гэты артыкул, каб атрымаць пакрокавыя інструкцыі).
Пачатак
Для таго, каб перазапусціць вэб-сервер Apache Linux, лепшы спосаб складаецца ў выкарыстанні каманды init.d. Гэтая каманда даступная на многіх дыстрыбутывах Linux, уключаючы Red Hat, Ubuntu і Gentoo. Вось як вы маглі б зрабіць гэта:
- Уваход на вэб-сервер з дапамогай SSH або Telnet і пераканайцеся, што ваша сістэма ўключае ў сябе каманду init.d. Гэта, як правіла, знаходзіцца ў каталогу / і г.д., так што спіс гэты каталог:
Ls / і г.д. / я *
- Калі ваш сервер выкарыстоўвае init.d, вы атрымаеце спіс файлаў ініцыялізацыі ў гэтай паказанай тэчцы. Паглядзіце на Апач або apache2 ў гэтай тэчцы наступнай. Калі ў вас ёсць init.d, але не файл ініцыялізацыі Apache, перайдзіце ў раздзел гэтага артыкула з загалоўкам, які чытае «Перазапуск сервера без init.d», у адваротным выпадку вы можаце працягнуць.
- Калі ў вас ёсць init.d і файл ініцыялізацыі Apache, то вы можаце перазапусціць Apache, выкарыстоўваючы наступную каманду:
/etc/init.d/apache2 перазарадка
Вам можа спатрэбіцца судо ў якасці каранёвага карыстальніка, каб запусціць гэтую каманду.
Reload Варыянт
З дапамогай опцыі перазагрузкі з'яўляецца лепшым спосабам, каб перазапусціць сервер Apache, як ён трымае сервер працуе (працэс не забіваецца і перазагрузкі). Замест гэтага ён проста перазагружае файл httpd.conf, які, як правіла, усё, што вы хочаце зрабіць у гэтым выпадку ўсё роўна.
Калі опцыя перазагрузкі не працуе для вас, вы можаце таксама паспрабаваць выкарыстоўваць наступныя каманды замест:
- /etc/init.d/apache2 перазагружаць - гэтая каманда знішчае працэс сервера, а затым перазапускае яго
- /etc/init.d/apache2 прыпынак - гэта каманда знішчае працэс сервера
- /etc/init.d/apache2 старт - гэтая каманда запускае сервер (і будзе кідаць паведамленне пра памылку, калі сервер ўжо запушчаны)
Перазапуск сервера без init.d
ОК, так што гэта, дзе мы прасілі вас прапусціць, калі ваш сервер не мае init.d. Калі гэта вы, не адчайвайцеся, вы можаце перазагрузіць сервер. Вы проста павінны гэта зрабіць уручную з дапамогай каманды apachectl. Вось крокі для гэтага сцэнарыя:
- Уваход на свой кампутар вэб-сервер з дапамогай SSH або Telnet
- Запусціць праграму кіравання апача:
apachectl хупавы
Вам можа спатрэбіцца судо ў якасці каранёвага карыстальніка, каб запусціць гэтую каманду.
Вытанчаная каманда apachectl кажа Apache, што вы хочаце, каб перазагрузіць сервер карэктна без перапынення якіх-небудзь адкрытых злучэнняў. Ён аўтаматычна правярае файлы канфігурацыі да пачатку перазапуску, каб пераканацца, што Apache не памірае.
Калі apachectl хупавы ня перазапускае сервер, ёсць некалькі іншых рэчаў, якія вы можаце паспрабаваць.
- apachectl перазагрузкі, каб перазагрузіць сервер. Калі сервер не працуе, яно запускаецца. Гэтая каманда таксама запускае тэст канфігурацыі , каб пераканацца , што Apache не будзе паміраць , калі ён перазагружаецца.
- apachectl спыніць, каб спыніць сервер Apache
- apachectl пачынаюць запускаць сервер Apache (выкіне паведамленне пра памылку, калі Apache працуе)
- apachectl configtest, каб праверыць сінтаксіс файла канфігурацыі.
Парады па Перазапуск Apache сервера:
- init.d перазагружаць і apachectl вытанчаная і перачытаць файлы канфігурацыі і грацыёзна перазапусціць вэб-сервер. Усе бягучыя злучэння дазволены для завяршэння. Гэта пераважны падыход, і гэта павінна быць тое, што вы спрабуеце першым.
- init.d перазапуск і перазагрузка apachectl загружае файлы канфігурацыі і перазагружаецца. Любыя бягучыя злучэння неадкладна спыняюцца.
- Калі сервер не запушчаны, то гэтыя каманды пачнуць яго.
- Калі ні адна з гэтых каманд працаваць, вы павінны адключыць ваш сервер Apache (з яе націснутай на працягу кароткага прамежку часу) з init.d прыпынкам або камандай apachectl прыпынку, пачакайце не менш за 10 секунд, а затым запусціць старт init.d пачаць apachectl старту
- Калі гэта не працуе, вы павінны выканаць праверку на файлы канфігурацыі, каб пераканацца, што гэта не праблема з імі, запусціўшы apachectl вытанчаная