2015-07-22 34 views

Trả lời

4

Có sự khác biệt chính giữa bốn cách khác nhau để dừng/khởi động lại là quá trình chính làm gì với các chủ đề của nó và về chính nó.

Lưu ý rằng Apache khuyến cáo sử dụng apachectl -k như lệnh, và cho systemd, lệnh sẽ được thay thế bởi httpd -k

apachectl -k stop hoặc httpd -k stop

này cho quá trình này để giết tất cả các chủ đề của nó và sau đó thoát khỏi

apachectl -k graceful hoặc httpd -k graceful

Apache sẽ tư vấn cho chủ đề thoát khi không sử dụng, sau đó là pache tải lại cấu hình (nó không tự thoát), điều này có nghĩa là số liệu thống kê không được đặt lại.

apachectl -k restart hoặc httpd -k restart

này tương tự như dừng lại, trong đó quá trình giết tắt đề của mình, nhưng sau đó quá trình tải lại các tập tin cấu hình, chứ không phải là tiêu diệt chính nó.

apachectl -k graceful-stop hoặc httpd -k graceful-stop

này hoạt động như -k graceful nhưng thay vì tải lại cấu hình, nó sẽ ngừng đáp ứng yêu cầu mới và chỉ sống lâu như chủ đề cũ xung quanh. Kết hợp điều này với một phiên bản mới của httpd có thể rất mạnh trong việc chạy đồng thời các apache trong khi cập nhật các tệp cấu hình.

Nguồn: https://httpd.apache.org/docs/2.4/stopping.html

Khuyến nghị: Sử dụng -k graceful trừ khi có cái gì đó sai với quá trình chính bản thân, trong trường hợp một sự kết hợp của -k stop-k start hoặc -k graceful-stop-k start là những tùy chọn lựa chọn.

+0

Vui lòng xem xét lệnh tải lại apache2. Cảm ơn. –

+0

'dịch vụ nạp lại apache2 tương đương với' -k duyên dáng'. 'service apache2 restart' tương đương với' -k stop', sau đó khởi động lại máy chủ. Ít nhất là trong hệ thống của tôi; đọc tập lệnh init.d trong bản phân phối của bạn để chắc chắn. –

13
  1. Sự khác nhau giữa “khởi động lại” và “reload”

    • Restart = stop + bắt đầu
    • Nạp lại = vẫn chạy + file cấu hình lại đọc.
  2. khởi động lại bình thường và khởi động lại duyên dáng, bạn có thể tham khảo bài viết:

    https://teckadmin.wordpress.com/2013/10/23/difference-between-graceful-restart-and-normal-restart/

+2

bạn có thể xây dựng ở đây không? – manetsus

+2

@manetsus xây dựng cụ thể về những gì? Một cách duyên dáng là khởi động lại đẹp hơn. Khởi động lại sẽ ngừng tất cả các chuỗi công nhân bất kể họ đang làm gì, tắt máy và khởi động lại. Một duyên dáng nói cho tất cả các chuỗi công nhân dừng lại khi chúng kết thúc và khi tất cả các chủ đề chấm dứt, nó sẽ tắt quá trình chính và khởi động lại. Điều này quan trọng nếu quy trình apache của bạn không được viết với khả năng bảo lãnh an toàn. Nếu bạn không sử dụng một giao dịch, viết một tập tin, hoặc gửi các gói tin, khởi động lại có thể gây ra một nửa dữ liệu được viết/hoàn thành. Nó cũng rất thô lỗ với người dùng. – Fodagus

+1

Ran ra khỏi không gian bình luận ... Bởi 'thô lỗ với người dùng'. Nếu người dùng có yêu cầu xử lý, ngay cả khi nó có thể được chấm dứt mà không gây ra thiệt hại cho hệ thống, khởi động lại apache sẽ trả về lỗi 500 cho người dùng. Người dùng không thích điều đó. – Fodagus

3

Có vẻ như gracefulreload là như nhau cho apache2

Trong /etc/init.d/apache2:

graceful | reload | force-reload) 
# rest of the script 
Các vấn đề liên quan