Apache không thể khởi động lại


71

Đang cố gắng khởi động lại apache từ thiết bị đầu cuối bằng lệnh sau:

 sudo service apache2 restart

khi thực hiện lệnh đó nhận được lỗi dưới đây:

Job for apache2.service failed. See "systemctl status apache2.service" and "journalctl -xe" for details.

Khi cắt bỏ "trạng thái systemctl apache2.service" có dưới đầu ra

apache2.service - (null)
   Loaded: loaded (/etc/init.d/apache2)
   Active: failed (Result: exit-code) since Sat 2015-05-30 02:22:41 IST; 12s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 4866 ExecStart=/etc/init.d/apache2 start (code=exited, status=1/FAILURE)

lỗi apache.log

AH00489: Apache/2.4.12 (Unix) configured -- resuming normal operations
AH00094: Command line: '/usr/local/apache2/bin/httpd'

6
sau khi bạn chạy apache2 restart và gặp lỗi đó, chạy sudo journalctl -xenó sẽ cho bạn ý tưởng tốt hơn về những gì đã xảy ra. nếu bạn vẫn có vấn đề hiểu nó Gửi kết quả tại đây.
grag42

đồng ý. Điều đó cũng không giúp tôi. Những gì trong các tập tin nhật ký apache. /var/log/apache2/error.log
grag42

@ grag42 cảm ơn lời đề nghị của bạn, tôi đã chạy sudo tạp chí -xe và thấy một số vấn đề quy tắc viết lại đã có và sửa nó và nó đang chạy.
Gautam Savaliya

4
Bản sao có thể có của Apache không bắt đầu
rancho

3
@rancho: Điều gì khiến bạn tin rằng câu hỏi là một bản sao? Câu hỏi được liên kết chứa một thông báo lỗi khá cụ thể mà chúng tôi không có ở đây. Các nguyên nhân có thể khiến vấn đề của OP không rõ ràng vào lúc này.
David foerster

Câu trả lời:


61

Có lẽ điều này sẽ giúp tìm ra nguyên nhân:

journalctl | tail

Trong trường hợp của tôi, đó là một lỗi trong tệp cấu hình:

AH00526: Syntax error on line 5 of /etc/apache2/sites-enabled/mydomain-wsf.lan.conf

6
No journal files were found.
Stevie G

5
@StevieG, hãy thửsudo journalctl | tail
Dherik

1
Bạn đã làm gì để sửa chữa điều này?
Léo Léopold Hertz

trong trường hợp của tôi, tôi cũng đã làm một lỗi trong tệp apache2.config
alamin

Cảm ơn. Tôi gõ sai thư mục của tôi cho conf trang web mới thêm của tôi.
Lynnell Emmanuel Neri

48

Có một số lỗi cú pháp trong tệp apache2.conf.

Trong một thiết bị đầu cuối, gõ:

cd /etc/apache2

Sau đó:

apache2ctl configtest

Nó sẽ cho bạn biết lỗi ở đâu trong apache2.conftệp cần sửa.


1
cách tiếp cận tuyệt vời, tiết kiệm thời gian của tôi
George Garchagudashvili

1
Cái này thật tuyệt.
abalter

1
Cảm ơn. Đã xảy ra sự cố với tùy chọn redmine và PasbahResolveSymlinksInDocumentRoot.
Vadim

lol, sau khi thực hiện: apache2ctl configtestcó cú pháp ok, nhưng khi tôi chạy apache2 --helpapache2: Syntax error on line 82 of /etc/apache2/apache2.conf: DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRoot và không có lỗi trong apache error.log!
Vladimir Ch

Sau khi xem kỹ /etc/apache2/sites-enabled/thư mục, tôi nhận thấy rằng tôi đã nhận được tệp, không phải là biểu tượng cho trang web.conf + mod r5 có thể sửa đổi được àh "
Vladimir Ch

18

Vấn đề là do một số tập tin cấu hình bị xóa, bạn phải cài đặt lại nó.

GIỚI THIỆU APACHE2:

Để thay thế các tệp cấu hình đã bị xóa, mà không xóa gói, bạn có thể làm:

sudo apt-get -o DPkg::Options::="--force-confmiss" --reinstall install apache2

Để xóa hoàn toàn các tệp cấu hình apache2, bạn nên:

sudo apt-get purge apache2

sau đó sẽ cho phép bạn cài đặt lại theo cách thông thường với:

sudo apt-get install apache2

Cần phải xóa Purge để xóa tất cả các tệp cấu hình - nếu bạn xóa các tệp cấu hình nhưng chỉ xóa gói, thì điều này được ghi nhớ và các tệp cấu hình bị thiếu sẽ không được cài đặt lại theo mặc định.

Sau đó, REINSTALL PHP5:

apt-get purge libapache2-mod-php5 php5 && \
apt-get install libapache2-mod-php5 php5

1
Tại sao bạn nghĩ rằng một số tập tin cấu hình đã bị xóa?
Léo Léopold Hertz

2

Vấn đề:

Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xe" for details.

Giải pháp:

  • Để xóa hoàn toàn các tệp cấu hình apache2, bạn nên:

    1) sudo apt-get purge apache2

  • sau đó sẽ cho phép bạn cài đặt lại theo cách thông thường với:

    2) sudo apt-get install apache2

==> Nó hoạt động tốt ...

cảm ơn....


2

Tôi đã nhận được lỗi tương tự sau khi loại bỏ một máy chủ ảo. Vấn đề là tập tin SSL conf còn sót lại được liên kết với máy chủ đó nằm trong /etc/apache2/sites-enabled. SSL thông qua Let Encrypt nên mã để tôi xóa là:

sudo rm yourdomain.com-le-ssl.conf

1

Tôi đã gặp lỗi tương tự khi làm việc với .htaccess

Tôi chỉ cần đặt lệnh này

<Directory /var/www/html>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
</Directory>

trong /etc/apache2/sites-enabled/000-default.confthư mục này

Sau khi thêm nó, tôi nhận được lỗi

sau đó tôi xóa các lệnh hòa bình này khỏi tệp và lỗi của tôi đã được giải quyết.


1

bạn rất có thể có một lỗi cú pháp. đối với tôi nó nằm trong thư mục 'kích hoạt trang web' của tôi.

tôi viết sai chính tả 'ServerAlias' thành 'ServerAlisa'.


Của tôi là tôi viết sai chính tả thư mục của tôi.
Lynnell Emmanuel Neri

0

Đây chủ yếu là một lỗi cấu hình. Tôi vừa mới có một trang web cũ được kích hoạt trên apache, điều gì gây ra lỗi này. Vì vậy, tôi đã phải vô hiệu hóa nó trước khi tải lại apache.

sudo a2dissite <my-site>
sudo service apache2 reload

Vấn đề đã được giải quyết :)


0

Cảm ơn sự giúp đỡ của bạn! Tôi đã có thể cài đặt chính xác với Solution:

Để xóa hoàn toàn các tệp cấu hình apache2, bạn nên:

  1. sudo apt-get purge apache2 sau đó sẽ cho phép bạn cài đặt lại theo cách thông thường với:

  2. sudo apt-get install apache 2

Bây giờ nó hoạt động tốt.


0

Tôi nghĩ vấn đề là bạn đã kích hoạt một số trang web nhưng bạn đã xóa tệp cấu hình của nó. Hãy thử vô hiệu hóa trang web với "tên" sudo a2dissite và sau đó khởi động lại máy chủ apache. Ít nhất đây là vấn đề đối với tôi và hành động này đã giải quyết nó.


0

Trong trường hợp của tôi, lỗi bắt đầu xuất hiện sau khi làm apt upgrade. Sau khi chơi rất nhiều, tôi đã đi đến các thư mục để xem những gì tôi có thể vô hiệu hóa.

  • / etc / apache2 / mods-enable - a2dismod (để bật lại a2enconf)
  • / etc / apache2 / conf-enable - a2disconf (để bật lại a2enconf)

Trong trường hợp của tôi, tôi đã kích hoạt các MODS đó.

nhập mô tả hình ảnh ở đây

Có vẻ như apt-upgradeđã xóa / phá vỡ php7.2 vì ngay sau khi tôi tắt nó và khởi động lại mọi thứ đã hoạt động. Tất nhiên, trong trường hợp của bất kỳ ai khác, nó có thể là một cái gì đó khác nhau. Khi Apache gặp sự cố, nó có thể là cấu hình xấu hoặc mod xấu. Bạn phải chọn các trận đánh của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.