最近帮助一个客户部署了一个Apache Servicemix环境。
客户提出,能不能让Servicemix开机启动。这样,如果机器出现了什么问题,重启一下就好了。不需要让运维人员知道如何操作Servicemix。
当然可以。需求合理,没有拒绝的理由。
但是实际操作的时候,试过在init.d目录下加脚本,在rc.local中加命令行。在网上也找了好几个方法,均告失败,也没看到任何错误。原以为设置个开机启动,和玩似的,结果被机器玩了。
不过,功夫不负有心人,终于还是找到了办法。
因为servicemix其实就是一个开源大礼包,把几个apache的开源软件组装在一起拼凑而成。运行时环境是Karaf。所以,第一眼在karaf下看到官方的开机启动方案时,眼前一亮。觉得这个方法应该可行。结果一试,果然可以。
操作步骤也非常简单,摘抄如下(不过,还是去官网看一下更靠谱,网址:https://karaf.apache.org/manu...):
- Installation
- Apache Karaf Service Wrapper is an optional feature. You have to install the "Service Wrapper" installer first.
- In the console:
- karaf@root()> feature:install service-wrapper
- Now,you have the wrapper:install command,to "register" Apache Karaf as service/daemon on your system:
- karaf@root()> wrapper:install --help
- DESCRIPTION
- wrapper:install
- Install the container as a system service in the OS.
- Syntax
- wrapper:install [options]
- OPTIONS
- -d,--display
- The display name of the service.
- (defaults to karaf)
- --help
- Display this help message
- -s,--start-type
- Mode in which the service is installed. AUTO_START or DEMAND_START (Default: AUTO_START)
- (defaults to AUTO_START)
- -n,--name
- The service name that will be used when installing the service. (Default: karaf)
- (defaults to karaf)
- -D,--description
- The description of the service.
- (defaults to )
- The wrapper:install command detects the running Operating Service and provide the service/daemon ready to be integrated in your system.
- For instance,on a Ubuntu/Debian Linux system:
- karaf@root()> wrapper:install
- Creating file: /opt/apache-karaf-4.0.0/bin/karaf-wrapper
- Creating file: /opt/apache-karaf-4.0.0/bin/karaf-service
- Creating file: /opt/apache-karaf-4.0.0/etc/karaf-wrapper.conf
- Creating missing directory: /opt/apache-karaf-4.0.0/lib/wrapper
- Creating file: /opt/apache-karaf-4.0.0/lib/wrapper/libwrapper.so
- Creating file: /opt/apache-karaf-4.0.0/lib/wrapper/karaf-wrapper.jar
- Creating file: /opt/apache-karaf-4.0.0/lib/wrapper/karaf-wrapper-main.jar
- Setup complete. You may wish to tweak the JVM properties in the wrapper configuration file:
- /opt/apache-karaf-4.0.0/etc/karaf-wrapper.conf
- before installing and starting the service.
- Ubuntu/Debian Linux system detected:
- To install the service:
- $ ln -s /opt/apache-karaf-4.0.0/bin/karaf-service /etc/init.d/
- To start the service when the machine is rebooted:
- $ update-rc.d karaf-service defaults
- To disable starting the service when the machine is rebooted:
- $ update-rc.d -f karaf-service remove
- To start the service:
- $ /etc/init.d/karaf-service start
- To stop the service:
- $ /etc/init.d/karaf-service stop
- To uninstall the service :
- $ rm /etc/init.d/karaf-service