サービス(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へのシンボリックリンクとなっている