Làm thế nào để bắt đầu sử dụng httpd với kích hoạt ổ cắm (systemd)?


14

Máy chủ httpd apache hiếm khi cần trên một trong các máy chủ nhỏ của chúng tôi, vì vậy thật tuyệt khi khởi động nó thông qua kích hoạt ổ cắm bởi systemd (và sau đó đã dừng nó khi không có lưu lượng truy cập xảy ra trong một thời gian). Điều này có thể và nếu vậy, làm thế nào?


Phần thưởng ở trên và phần chỉnh sửa đã hết thời gian sau 5 phút. Các hiệu ứng thực tế có thể không hữu ích. Một khách hàng cần kết nối với lệnh 'khởi động' trước khi thực hiện các yêu cầu bình thường. Máy khách không biết trước liệu httpd có hoạt động hay không, vì vậy lệnh khởi động cần phải được gửi trước bất kỳ yêu cầu bình thường nào. Độ trễ sẽ cao. Trong cuộc sống thực, những con nhện và bot của thế giới có thể khiến chúng ta không ngừng nghỉ. Câu hỏi có thể được sắp xếp lại để cho phép các câu trả lời như 'sử dụng máy chủ http có trọng lượng nhẹ như lighthttpd và luôn luôn cập nhật'.
rleir

Câu trả lời:


2

Điều này là có thể với Apache 2.5 với mod_systemd .

Đối với các bản phát hành Apache cũ hơn, bạn có thể sử dụng systemd-socket-proxyd (8) nhưng điều này sẽ không tự động dừng dịch vụ Apache sau khi hết thời gian.


Điều này thực sự được thực hiện trong lõi máy chủ , không phải trong mod_systemd . (Vì vậy, việc xây dựng mod_systemd cho Apache 2.4 sẽ không giúp bạn kích hoạt ổ cắm.)
Julian

0

Tập tin:

httpd.socket

Nội dung:

[Socket]
ListenStream=80
ListenStream=0.0.0.0:80
#BindIPv6Only=ipv6-only
After=network.target
Requires=network.target

[Install]
WantedBy=sockets.target

Hãy chắc chắn rằng dịch vụ apache cũng được gọi là httpd.


điều này không hoạt động vì cổng không được chuyển tiếp đến httpd.service từ httpd.socket
Edward Torvalds
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.