サービス(httpdやmysqld、postgresql、sshdなど)のしくみと自動起動設定、起動・停止・起動方法について
1.各サーバーのサービス名
主なサーバーのサービス名は暗記しておく。
apache・・・httpd
mysql・・・・msyqld
postgres・・postgresql
ssh・・・・・・sshd
そのマシンに登録されているサービスを一覧表示するには
chkconfig --list
特定のサービスを見るには
chkconfig --list httpd
2.サービスの起動スクリプト
サービスの起動スクリプトは/etc/init.dに格納されている。
例えば
/etc/init.d mysqld restart
でmysqlが再起動できるが、これは
service mysqld restart
と同じである。つまりserviceは/etc/init.dと同じ役割を果たす
3.現在のランレベルの確認・変更
現在のランレベルは
runlevel
で確認できる。N 5の場合ランレベル5、N 3の場合ランレベル3である
起動時のランレベルを変更するには
vi /etc/inittab
==viモード===
id:?:initdefault: #?の部分を起動時のランレベル(例えば3)に変更する。
============
ちなみにランレベル5からランレベル3に変更しただけで
仕様メモリが500Mから300Mへおおよそ3割減
4.サービスの自動起動設定
ntsysv --level ? #?のランレベルで自動起動設定されているものが表示される
ランレベル3・・・通常の起動
ランレベル5・・・Xウィンドウでの起動
あとのランレベルはあまり意識しなくて良い。通常ランレベル3と5でサービスが自動起動されればよいので、
ntsysv --level 35
で自動起動を設定する
5.ランレベルごとのサービス起動
ランレベルごとのサービス起動状態をみるには
chkconfig --list サービス名
が一番よいが、そのほかには
ls /etc/rc?.d
でも確認できる。先頭がKのファイルは実行されない、先頭がSのファイルはスタート時に実行されるサービスである。
/etc/rc?.dは/etc/rc.d/rc?.dへのシンボリックリンクとなっている