Tôi vừa cung cấp một VPS mới chạy CentOS 6 và nó đi kèm với Apache.
Tôi muốn tắt Apache, vì tôi sẽ sử dụng Nginx thay thế.
Tôi biết tôi chỉ có thể xóa tập lệnh trong /etc/init.d/, nhưng tôi không muốn làm điều đó, bởi vì đó là một thứ chứng khoán đi kèm với hệ thống. Tôi muốn có một cách duyên dáng để vô hiệu hóa dịch vụ.
Tôi nghĩ rằng tôi sẽ có thể đặt một cái gì đó vào / etc / inittab, nhưng inittab chứa:
# inittab is only used by upstart for the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# System initialization is started by /etc/init/rcS.conf
#
# Individual runlevels are started by /etc/init/rc.conf
#
# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
#
# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
#
# For information on how to write upstart event handlers, or how
# upstart works, see init(5), init(8), and initctl(8).
#
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault:
Điều này khiến tôi tin rằng hệ thống đang chạy mới. Chà, tôi đã xem, và cách chính xác để vô hiệu hóa một dịch vụ khi mới bắt đầu là thêm một tệp ghi đè. Vì vậy, tôi chạy:
% 'manual' > /etc/init/httpd.override
Và khởi động lại máy chủ của tôi. Nhưng httpd vẫn đang chạy! Bối rối vì điều này, tôi quyết định kiểm tra xem mới bắt đầu có phải là dịch vụ init không, bằng cách chạy
% readlink /proc/1/exe
/sbin/init
Vâng, đó không phải là những gì tôi đã mong đợi để xem. Có lẽ tôi không chạy lên sau tất cả. Có một cách xác định để kiểm tra? Và nếu tôi đang chạy init, cách vô hiệu hóa dịch vụ vĩnh viễn là gì? Tôi là người mới đối với tất cả những điều này, và dường như có nhiều ý kiến trái ngược nhau.
Cảm ơn mọi sự giúp đỡ của bạn.