Điểm:2

systemctl khởi động lại httpd Không thể khởi động Máy chủ HTTP Apache httpd pid đã chạy

lá cờ cn

Thứ lỗi cho bài đăng chéo từ Stack Overflow nhưng tôi nhận ra đây có lẽ là vị trí tốt hơn để hỏi.

Gần đây tôi đã xây dựng lại máy chủ của mình trên AWS, nâng cấp từ Amazon Linux lên Amazon Linux 2, giống như Linux 1 dường như là một nhánh của CentOS, bây giờ là CentOS 7. Cấu hình vhost của tôi vẫn giống như bản dựng trước trong khi tất cả các tệp conf khác là các tập tin mặc định mới hơn. (Chỉ là thông tin cá nhân, không chắc nó có liên quan gì không).

Kể từ khi xây dựng lại, tôi không thể làm được nữa systemctl khởi động lại httpd. tôi nhận được lỗi Apache HTTP Server httpd pid (NNNN) đã chạy.

tôi đã làm rất nhiều của googling thì thấy khá nhiều người bị lỗi này nhưng nó ra luôn là sao khác biệt mà họ đã làm. Tôi không thể nghĩ về bất cứ điều gì "khác biệt" mà tôi đã làm.

Tôi đã học được rằng PID mà tôi thấy là "đã chạy", do root sở hữu, là "quy trình chính" và tất cả các PID khác, do apache sở hữu, là "quy trình công nhân". CentOS httpd chạy với cả người dùng root và apache

gốc 4461 1 0 07:18? 00:00:00 /usr/sbin/httpd -k khởi động lại
apache 4467 4461 0 07:18 ? 00:00:09 /usr/sbin/httpd -k khởi động lại
apache 4468 4461 0 07:18 ? 00:00:08 /usr/sbin/httpd -k khởi động lại
apache 4471 4461 0 07:18 ? 00:00:08 /usr/sbin/httpd -k khởi động lại
apache 4477 4461 0 07:18 ? 00:00:08 /usr/sbin/httpd -k khởi động lại
apache 4498 4461 0 07:18 ? 00:00:07 /usr/sbin/httpd -k khởi động lại
apache 5236 4461 0 07:19 ? 00:00:08 /usr/sbin/httpd -k khởi động lại
apache 5248 4461 0 07:19 ? 00:00:09 /usr/sbin/httpd -k khởi động lại
apache 5987 4461 0 07:20 ? 00:00:09 /usr/sbin/httpd -k khởi động lại
apache 5993 4461 0 07:20 ? 00:00:08 /usr/sbin/httpd -k khởi động lại
apache 5994 4461 0 07:20 ? 00:00:09 /usr/sbin/httpd -k khởi động lại
# systemctl khởi động lại httpd;trạng thái systemctl httpd;
Công việc cho httpd.service không thành công. Xem "systemctl status httpd.service" và "journalctl -xe" để biết chi tiết.
â httpd.service - Máy chủ HTTP Apache
   Đã tải: đã tải (/usr/lib/systemd/system/httpd.service; bị vô hiệu hóa; cài đặt sẵn của nhà cung cấp: bị vô hiệu hóa)
   Hoạt động: không thành công (Kết quả: giao thức) kể từ Thứ Năm 2021-12-23 19:56:05 UTC; 4ms trước
     Tài liệu: man:httpd.service(8)
  Quá trình: 31799 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (mã=đã thoát, trạng thái=0/THÀNH CÔNG)
 PID chính: 31799 (mã=đã thoát, trạng thái=0/THÀNH CÔNG)
   Trạng thái: "Đọc cấu hình..."

Ngày 23 tháng 12 19:56:04 ip-10-5-11-55.ec2.internal systemd[1]: Khởi động Máy chủ HTTP Apache...
Ngày 23 tháng 12 19:56:05 ip-10-5-11-55.ec2.internal httpd[31799]: httpd (pid 4461) đã chạy
Ngày 23 tháng 12 19:56:05 ip-10-5-11-55.ec2.internal systemd[1]: Không thể khởi động Máy chủ HTTP Apache.
Ngày 23 tháng 12 19:56:05 ip-10-5-11-55.ec2.internal systemd[1]: Đơn vị httpd.service vào trạng thái không thành công.
Ngày 23 tháng 12 19:56:05 ip-10-5-11-55.ec2.internal systemd[1]: httpd.service không thành công.

Không có gì bất thường trong nhật ký lỗi của Apache:

[Thu ngày 23 tháng 12 07:18:58.777745 2021] [suexec:notice] [pid 4460] AH01232: đã bật cơ chế suEXEC (trình bao bọc: /usr/sbin/suexec)
[Thu 23/12 07:18:58.802753 2021] [lbmethod_heartbeat:notice] [pid 4461] AH02282: Không có slotmem từ mod_heartmonitor
[Thứ Năm ngày 23 tháng 12 07:18:58.802850 năm 2021] [http2:warn] [pid 4461] AH10034: Mô-đun mpm (prefork.c) không được mod_http2 hỗ trợ. mpm xác định cách mọi thứ được xử lý trong máy chủ của bạn. HTTP/2 có nhiều hơn
[Thu ngày 23 tháng 12 07:18:58.847386 2021] [mpm_prefork:notice] [pid 4461] AH00163: Apache/2.4.51 () PHP/7.4.21 đã định cấu hình -- tiếp tục hoạt động bình thường
[Thứ Năm ngày 23 tháng 12 07:18:58.847414 năm 2021] [core:notice] [pid 4461] AH00094: Dòng lệnh: '/usr/sbin/httpd'

Nếu tôi tắt PID "chính" này, thì tôi có thể khởi động lại mà không gặp vấn đề gì.

# giết 4461
# systemctl khởi động lại httpd;trạng thái systemctl httpd;
â httpd.service - Máy chủ HTTP Apache
   Đã tải: đã tải (/usr/lib/systemd/system/httpd.service; bị vô hiệu hóa; cài đặt sẵn của nhà cung cấp: bị vô hiệu hóa)
   Hoạt động: hoạt động (đang chạy) kể từ ngày 23/12/2021 20:01:31 UTC; 6ms trước
     Tài liệu: man:httpd.service(8)
 PID chính: 3091 (httpd)
   Trạng thái: "Đã tải cấu hình."
   Nhóm C: /system.slice/httpd.service
           ââ3091 /usr/sbin/httpd -NỀN TẢNG

Ngày 23 tháng 12 20:01:31 ip-10-5-11-55.ec2.internal systemd[1]: Khởi động Máy chủ HTTP Apache...
Ngày 23 tháng 12 20:01:31 ip-10-5-11-55.ec2.internal systemd[1]: Khởi động Máy chủ HTTP Apache.
#ps-Af | grep httpd
gốc 3145 1 1 20:01? 00:00:00 /usr/sbin/httpd -NỀN TẢNG
apache 3147 3145 0 20:01 ? 00:00:00 /usr/sbin/httpd -NỀN TẢNG
apache 3153 3145 0 20:01 ? 00:00:00 /usr/sbin/httpd -NỀN TẢNG
apache 3171 3145 0 20:01 ? 00:00:00 /usr/sbin/httpd -NỀN TẢNG
apache 3177 3145 0 20:01 ? 00:00:00 /usr/sbin/httpd -NỀN TẢNG
apache 3183 3145 0 20:01 ? 00:00:00 /usr/sbin/httpd -NỀN TẢNG

Lời khuyên của hầu hết mọi người là "chỉ cần giết quá trình", Apache không khởi động được, đã chạy nhưng không gia công tệp pid? nhưng tôi cần điều này để làm việc không giám sát. Tôi có thể nhìn vào cái gì khác?

digijay avatar
lá cờ mx
_"Mô-đun mpm (prefork.c) không được mod_http2 hỗ trợ":_ sửa lỗi này trước bằng cách thay đổi thành `mpm_worker` hoặc `mpm_event`
lá cờ cn
@digijay Vâng, tôi biết, nhưng có vấn đề với cân bằng tải HTTP2 và AWS, vì vậy tôi không lo lắng về vấn đề đó.Và thông báo cảnh báo này đã có trên máy chủ cũ, vì vậy nó liên quan đến sự cố hiện tại.
lá cờ cn
Ý tôi là "không" liên quan
Điểm:0
lá cờ cn

Mặc dù tôi đã tìm kiếm rất nhiều nhưng tôi không tìm thấy câu trả lời nào dành cho các phiên bản khác của Linux.Tôi đã tìm ra câu trả lời khi nhận thấy rằng httpd ban đầu được bắt đầu bằng "apachectl" và tôi đang cố khởi động lại bằng "systemctl" và nghĩ rằng đây có thể là vấn đề. Khi tôi tìm kiếm điều này, tôi đã tìm thấy nhiều câu trả lời. Điều này dường như là ngắn gọn nhất: https://unix.stackexchange.com/questions/240528/apache-and-systemd

Ở những người khác, bạn thấy cùng một vấn đề mà tôi gặp phải, đó là khi bạn bắt đầu với apachectl, bạn phải gắn bó với nó vì systemd không thể biết bạn đã làm gì với apachectl vì nó sử dụng một cấu hình khác.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.