Cách tốt nhất để khắc phục sự cố apache không bắt đầu?


8

Gần đây chúng tôi đã nhận được một máy chủ dự phòng để phản chiếu tất cả dữ liệu của chúng tôi trong trường hợp máy chủ chính bị hỏng.

Tôi đã nhận được tất cả dữ liệu trang web được cập nhật thông qua rsync, và tất cả các cấu hình và cơ sở dữ liệu apache được cập nhật. Cả hai máy đều có trên Ubuntu 9 (9.04 trên bản chính, 9.10 trên bản sao lưu).

Vì vậy, mọi thứ dường như được đồng bộ hóa cho hầu hết các phần tại thời điểm này (vẫn cần phải tìm ra đồng bộ hóa người dùng) và tôi cố gắng khởi động Apache. tôi có

* Starting web server apache2                                       [fail]

Không có gì khác chỉ ra vấn đề có thể là gì.

Tôi biết tôi không có đủ thông tin để mong đợi một giải pháp từ các bạn, vì vậy tôi chỉ muốn biết tôi có thể đi đâu từ đây để điều tra thêm về vấn đề này. Sẽ có bất kỳ nhật ký lỗi cho điều này?

Cảm ơn!


Cho đến nay, tôi đã tìm thấy các bản ghi có nội dung "Không có tệp hoặc thư mục như vậy: mod_fcgid" - đây là một khởi đầu tốt
Lowgain

Câu trả lời:


11

Trong một số trường hợp cụ thể, một mục nhật ký sẽ không được ghi vào đĩa - điều này có thể xảy ra nếu các bản ghi không tồn tại, ví dụ, hoặc Apache đơn giản không thể ghi vào các tệp nhật ký do vấn đề về quyền, v.v. Cách tốt nhất để chẩn đoán lỗi là sử dụng 'strace':

[root@server ~]# strace -Ff apachectl start

Mặc dù đầu ra sẽ khá dài dòng, nhưng nếu Apache không khởi động vì bất kỳ lý do gì, bạn sẽ thấy một ghi () ở cuối đuôi với nội dung của những gì sẽ được nhập vào nhật ký với lý do nó không thành công (nếu nó không đăng nhập tại sao trong nhật ký lỗi, đừng ngạc nhiên nếu thông báo lỗi chứa "Không thể mở nhật ký" với đường dẫn đến nhật ký;).

Mặc dù nhìn vào nhận xét của bạn về mod_fcgid, tôi khuyên bạn nên xem lại cấu hình Apache và kiểm tra các tham chiếu đến mod_fcgid - có vẻ như nó đang cố mở một tệp "mod_fcgid" theo nghĩa đen thay vì tải mô-đun.


13

httpd -t sẽ kiểm tra cú pháp của các tệp cấu hình của bạn và đưa ra bất kỳ lỗi nào cho thiết bị đầu cuối.


2
Điều này là siêu hữu ích. +1
Tom Busby

Nếu điều đó không làm việc, hãy thử apachectl -t.
berry120

3

Bất kỳ lỗi nào sẽ được in vào nhật ký lỗi (thường là tại / var / log / http / error_logs. Grep for ErrorLog trong httpd.conf của bạn để tìm ra nơi.

Tôi khuyên bạn nên sử dụng hai cửa sổ. Thực hiện 'tail -f error_log' trong một cửa sổ và sử dụng một cửa sổ khác để chạy lệnh 'apachectl restart'. Sau khi bạn tìm thấy lỗi, cập nhật câu trả lời của bạn ở đây với thông báo lỗi.


Bước xử lý sự cố số một trong mọi thứ phải luôn được đọc nhật ký. Apache ghi lại gần như mọi sự kiện đơn lẻ đi qua nó, vì vậy bạn nên chứa đầy dữ liệu để xem xét.
phuzion

2

Tôi gặp vấn đề tương tự với máy chủ apache gỡ lỗi trên Mac OS, vì vậy quyết định chia sẻ kinh nghiệm của tôi và tiết kiệm cho người khác một thời gian tôi thấy những điều sau đây rất hữu ích:

  1. định vị nhật ký:

apachectl -S | grep log

  1. trong đầu ra, bạn sẽ tìm thấy một số tệp nhật ký mà bạn có thể bắt đầu tìm ví dụ về lỗi:

tail -n 15 /var/log/apache2/ssl_engine.log

Trong trường hợp có nhiều hơn 1 tệp nhật ký, hãy tiếp tục theo dõi chúng cho đến khi bạn tìm thấy lỗi khiến apache không khởi động


0

Nếu Apache của bạn không chạy, hãy kiểm tra cổng skype của bạn, hầu hết thời gian cả skype và apache đều sử dụng cổng 80 và điều đó có nghĩa là skype có thể là lý do khiến apache không thể bắt đầu. dừng skype nếu nó được cài đặt.

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.