1. 使用svccfg(1M)命令检查myapp.xml文件是否符合XML规范。如果没问题则不会有任何输出,否则根据出错提示修改myapp.xml。
# /usr/sbin/svccfg validate /export/home/smfdemo/myapp.xml
2. 使用svcs(1)命令看是否已存在名为myapp的服务。如有则必须修改在myapp.xml中定义的服务名,否则继续。
# /usr/bin/svcs application/myapp
3. 使用svccfg(1M)命令加载myapp.xml所定义的服务并自动启动服务。
# /usr/sbin/svccfg import /export/home/smfdemo/myapp.xml
4. 使用svcs(1)命令查看myapp服务状态。如状态为online,则说明部署已成功且已运行,否则参看出错原因以及SMF日志以确定问题所在,然后重复上文中相关的步骤后再试。
# /usr/bin/svcs -xv application/myapp
如果myapp部署成功,根据log_filename初始值设定,可以在/tmp目录下找到myapp.log文件。使用/usr/bin/tail -f /tmp/myapp.log命令可以查看日志输出。至此,myapp已经部署完毕。
测试
测试的目的是确认myapp的refresh方法可以正常工作。方法是通过svccfg(1M)命令将myapp服务log_filename属性值从 /tmp/myapp.log改为/tmp/myapp_new.log。然后用svCADm refresh命令通知myapp服务重读配置。如果在/tmp目录下新生成myapp_new.log,则说明refresh方法成功了。具体步骤如下:
1. 确认myapp已经启动并处于online状态,并/tmp/myapp.log每隔5秒就有内容输出。
# /usr/bin/svcs application/myapp
STATE STIME FMRI
online 10:53:57 svc:/application/myapp:default
# /usr/bin/tail -f /tmp/myapp.log
myapp is running at Fri Mar 10 10:57:12 2006
myapp is running at Fri Mar 10 10:57:17 2006
myapp is running at Fri Mar 10 10:57:22 2006
myapp is running at Fri Mar 10 10:57:27 2006
myapp is running at Fri Mar 10 10:57:32 2006
myapp is running at Fri Mar 10 10:57:37 2006
^C
标签: