用Solaris 10的SMF配置Tomcat為自動啟動

來源:互聯網
上載者:User
用Solaris 10的SMF配置Tomcat為自動啟動

一、Solaris10中的SMF簡介

    SMF是Service Management Facility 的縮寫,是Sun公司在其Solaris產品中提供的一種管理服務的新特性。3M(Manifest,Method,Milestone)是SMF中的3個主要組成部分。其中Manifest是一個xml檔案,用於定義服務的配置清單,主要包括服務的標識資訊,服務的啟動、停止方法,服務啟動和停止對其它服務或者系統資源的依賴關係等。Method是一個指令碼程式用來負責服務的啟動、停止、重新整理等工作。Milestone事實上與運行層級(run-level)相似。除此之外服務配置倉庫(service configuration repository),profile,快照(Snapshots)也是其很重要的組成部分。那麼SMF與傳統的Unix後台服務管理機制相比較有什麼突出的特點呢?

    1、可以恢複由軟體故障、硬體故障、管理錯誤終止的服務

    2、服務之間可以定義相互間的依賴關係

    3、 它提供了比較全面的基於命令列的管理工具(svcs,svcadm,svccfg...)

    4、根據依賴關係可以並發啟動服務,加快系統啟動的速度

    5、引入服務配置庫,提供服務配置庫快照、備份、恢複功能

    這些功能方便了服務的管理,服務的可用性,可維護性。SMF提供了一定程度的服務自愈性,它也是Solaris 10系統可預測自愈功能(Predictive Self-Healing)的一部分。更多有關SMF 的資訊請訪問http://docs.sun.com/app/docs/doc/817-1985/6mhm8o5rh?a=view。

     正是因為SOLARIS10採用了現在SMF方式的後台服務管理機制,使得很多熟悉UNIX的用Run Control (即配置/etc/rcn.xx)指令碼方式來進行服務管理的工程師不瞭解如何在SOLARIS10 中來完成相同的工作。下面將給出一個簡單的例子來說明如何使用SMF來將tomcat作為一個自動啟動的後台服務。

二、將tomcat設定的系統服務

說明:本例中tomcat的安裝目錄是/export/mysoft/tomcat551/,實踐中需要根據實際安裝目錄替換

A.在SMF的manifast下面建立一個用於存放SMF設定檔的目錄。

#mkdir -p /var/svc/manifest/application/server/tomcat

B.Tomcat作為系統服務的設定檔,在A中建立的目錄下面建立一個tomcat.xml檔案,

此檔案內容應該包含如下內如:

<?xml version="1.0"?>

<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">

<service_bundle type='manifest' name='Tomcat'>

<service name='application/server/tomcat' type='service' version='1'>

<single_instance />

<dependency

name='filesystem'

grouping='require_all'

restart_on='none'

type='service'>

<service_fmri value='svc:/system/filesystem/local' />

</dependency>

<exec_method

type='method'

name='start'

exec='/export/mysoft/tomcat551/bin/startup.sh'

timeout_seconds='300' />

<exec_method

type='method'

name='stop'

exec='/export/mysoft/tomcat551/bin/stop.sh'

timeout_seconds='300' />

<instance name='default' enabled='true' />

<stability value='Unstable' />

<template>

<common_name>

<loctext xml:lang='C'>Tomcat5.5</loctext>

</common_name>

</template>

</service>

</service_bundle>

C. 驗證並使此佈建服務生效。

#svccfg validate /var/svc/manifest/application/server/tomcat/tomcat.xml

D.將此服務匯入的系統服務倉庫。

#svccfg import /var/svc/manifest/application/server/tomcat/tomcat.xml

E.查看服務

# svcs tomcat

 

附錄:

A.SMF常用命令

 

命令

用途說明

其它說明

/usr/bin/svcs

查看服務的狀態

用man 命令可以查看更多與這些命令相關的資訊

/usr/bin/svcadm

用於管理服務執行個體

/usr/bin/svcprop

擷取服務的配置屬性

/usr/sbin/svccfg

匯入/匯出和修改服務的配置

/usr/sbin/inetadm

發現並配置inetd控制的服務

/usr/sbin/inetconv

講inetd.conf檔案配置轉換成SMF的

設定檔格式,以便匯入smf

 

B.SMF使用到的目錄

目錄

存放檔案的說明

注釋

/etc/svc

存放設定檔

/etc/svc/volatile

用於存放服務的日值(在/var被掛載前)

此目錄掛載於RAM中

/lib/svc/bin

被SMF使用的二進位檔案

請不要手工執行這麼目錄下面的二進位檔案

/lib/svc/capture

保留

/lib/svc/method

存放一些可以執行的SMF 方法指令碼

/lib/svc/monitor

保留,用於監控Method命令

/lib/svc/seed

初始的SMF存放“倉庫”

/lib/svc/share

存放可以被Method指令碼引用的其它指令碼

/var/svc/log

用於存放服務的日值檔案(/var被掛載後)

/var/svc/manifests/*

存放各種類型的配置資訊清單檔

建議不要修改Sun提供的系統預設配置資訊清單檔

/var/svc/manifests/site

存放在某種特定情況下才特有的配置

資訊清單檔

/var/svc/profiles

存放profile檔案

參考文檔:

http://docs.sun.com/app/docs/doc/817-1985/6mhm8o5rh?a=view

http://home.arcor.de/bnsmb/public/htdocs/My_Little_SMF_FAQ.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.