Khi bạn lưu trữ trang web của mình trên nền tảng mã nguồn mở, rất có thể nền tảng này sử dụng Apache làm máy chủ web mặc định chạy trên bản phân phối Linux cấp máy chủ. Khi bạn thực hiện các thay đổi đáng kể đối với cấu trúc cấu hình của máy chủ web, bạn sẽ cần khởi động lại máy chủ web (về bản chất, không phải là hệ điều hành). Quy trình khởi động lại Apache tùy thuộc vào hệ điều hành của máy chủ.
Điều kiện tiên quyết
Để khởi động lại máy chủ, bạn sẽ cần quyền truy cập shell vào hệ điều hành Apache đang chạy. Với một máy chủ riêng ảo chuyên dụng, bạn sẽ đăng nhập vào lời nhắc shell thông qua trình duyệt hoặc sử dụng phiên Secure Shell được khởi tạo từ máy tính cục bộ của bạn. Nếu bạn không thể đăng nhập vào máy chủ và thực hiện các lệnh có đặc quyền nâng cao (ví dụ:bằng cách sử dụng sudo ), bạn không thể khởi động lại máy chủ Apache. Trong trường hợp đó, bạn sẽ cần nói chuyện với quản trị viên hệ thống để được hỗ trợ.
Làm việc với Máy chủ trong Linux
Nhiều bản phân phối Linux hỗ trợ một loạt các tập lệnh shell kiểm soát các dịch vụ cốt lõi. Các tập lệnh này phản hồi một số đối số định hình cách tập lệnh hoạt động:
- Bắt đầu :Bắt đầu một dịch vụ
- Dừng lại :Chấm dứt dịch vụ
- Khởi động lại :Khởi động lại một dịch vụ bất kể mục đích sử dụng hiện tại
- Tải lại :Khởi động lại một dịch vụ một cách duyên dáng, cho phép các kết nối hiện tại tiếp tục nếu họ có thể
Nếu bạn có thể, hãy sử dụng tải lại thay vì khởi động lại bởi vì cái trước không thực sự giết máy chủ, nó chỉ khởi tạo lại nó bằng cách đọc lại các tệp cấu hình hiện tại. Toàn bộ khởi động lại ngắt kết nối bất kỳ máy khách nào hiện được kết nối với máy chủ ngoài việc khởi tạo lại các tệp cấu hình.
Nói chung, bạn sẽ khởi động lại dịch vụ máy chủ bằng một trong ba phương pháp.
Đầu tiên là sử dụng tập lệnh từ /etc/init.d/—typical cho các máy chủ chạy Debian trước phiên bản 8.x hoặc Ubuntu trước 15.04. Thứ hai là sử dụng systemctl yêu cầu. Cách tiếp cận thứ ba và là cách tiếp cận an toàn dự phòng là sử dụng apachectl .
Sử dụng Init.d
Các bản phân phối Linux dựa trên tập lệnh /etc/init.d/ có thể sử dụng bất kỳ lệnh nào trong ba lệnh sau để khởi động lại Apache:
/etc/init.d/apache2 khởi động lại
sudo /etc/init.d/apache2 khởi động lại
dịch vụ sudo apache2 khởi động lại
Để thực hiện khởi động lại duyên dáng, hãy thay thế khởi động lại với tải lại.
Đối với máy chủ CentOS và RHEL 6.x trở lên, hãy sử dụng dịch vụ script, nhưng thay vì gọi nó là apache2 bạn sẽ gọi nó là httpd thay vào đó:
dịch vụ httpd khởi động lại
Sử dụng Systemctl
Các hệ điều hành mới hơn, như Debian 8.x, Ubuntu 15.04, CentOS / RHEL 7.x và các phiên bản mới hơn, sử dụng httpd. Thực hiện lệnh sau:
systemctl khởi động lại httpd.service
Sử dụng Apachectl
apachectl script cung cấp một cách tiếp cận chung nhằm mục đích là không thể xác định được về phân phối máy chủ cụ thể của bạn. Để thực thi nó, bạn phải chạy nó với tư cách người dùng root:
sudo apachectl -k khởi động lại
sudo apachectl -k Grace
Sự duyên dáng phương pháp tương tự như tải lại phương pháp.