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?