本例中tomcat的安装目录是/app/tomcat/,实践中需要根据实际安装目录替换
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='/app/tomcat/bin/startup.sh'
timeout_seconds='300' />
<exec_method
type='method'
name='stop'
exec='/app/tomcat/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.查看服务
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='/app/tomcat/bin/startup.sh'
timeout_seconds='300' />
<exec_method
type='method'
name='stop'
exec='/app/tomcat/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文件 |