[MacOSX]_[LaunchDaemons]_[Mac OS X 安装Tomcat开机启动服务的方法之一]

场景:
1. Hudson作为持续集成软件,是需要在一个Java web容器部署的才能使用的,一般最常用的就是Tomcat.
2. Tomcat在Windows上部署安装Services很容易,使用自带的bat文件就能安装成功,麻烦的是并没有说明文档在Mac OS X下安装Services.
3. Mac OS X下是使用Daemon的方式启动的,也可以理解为服务.
4. 一般是执行startup.sh来启动,之后在用户与群组->当前用户->登录项里添加启动文件startup.sh,但也必须设置自动登录才可以.缺点是:1)不安全,服务器自动登录。2)这种方式会弹出一个命令行窗口,启动多几次就会出现很多窗口得自己关闭,影响其他界面工具的使用;所以这里介绍的是使用服务的方式启动;网上的资料好像也挺少的.
5. 如果只是为了安装,只需要看第一部分;深入理解可以看第二部分。

第一部分: 安装服务
1.安装服务,其实如果配置好plist,只需要这一步操作即可添加开机启动的服务.

sudo cp org.apache.tomcat.plist /Library/LaunchDaemons/

org.apache.tomcat.plist 文件内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Disabled</key>
        <false/>
        <key>Label</key>
        <string>org.apache.tomcat</string>
        <key>ProgramArguments</key>
        <array>
                <string>/Users/apple/Desktop/apache-tomcat-5.5.25/bin/catalina.sh</string>
                <string>run</string>
        </array>
        <key>EnvironmentVariables</key>
        <dict>
                <key>JAVA_HOME</key>
                <string>/Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home</string>
        </dict>
        <key>RunAtLoad</key>
        <true/>
        <!--
        <key>StandardOutPath</key>
        <string>/Users/apple/stdout.log</string>
        <key>StandardErrorPath</key>
        <string>/Users/apple/stderr.log</string>
        -->
</dict>
</plist>

自定义部分:
-- ProgramArguments
这里修改为完整的catalina.sh路径 /Users/apple/Desktop/apache-tomcat-5.5.25/bin/catalina.sh

-- JAVA_HOME
这里只能是绝对路径,不知道的在命令行使用 `/usr/libexec/java_home` 获取。关于Jdk1.7的安装相关参考文章:

http://blog.csdn.net/infoworld/article/details/44677719

2.测试启动服务
加载配置文件.

launchctl load /Library/LaunchDaemons/org.apache.tomcat.plist
launchctl start org.apache.tomcat

3.启动完之后就可以打开http://localhost:8080看到我们熟悉的大脸猫了:

4.如果打开不了tomcat首页,那么开启plist里的输出(设置好路径,把注释去掉)
StandardOutPath
StandardErrorPath

5.如果测试启动服务成功,那么重启电脑应该会自启动。

注意: 每次修改plist文件都需要stop,remove(看下边) 掉 org.apache.tomcat 再 load(看第2步) 这个plist才能生效.

第二部分: 手动测试服务,以命令的方式快速启动服务,主要是写plist前的验证.
launchctl:

1. 快速验证启动服务程序是否能成功运行,不需要复制org.apache.tomcat.plist到 /Library/LaunchDaemons/ 下,意思是快速验证一个需要部署的程序是否能正确运行,当然配置也得和plist一样.

launchctl submit -l org.apache.tomcat -o `pwd`/stdout.log -e `pwd`/stderr.log -p /Users/apple/Desktop/apache-tomcat-5.5.25/bin/catalina.sh run

2. 停止服务

launchctl stop org.apache.tomcat

3. 移除当前job里的服务

launchctl remove org.apache.tomcat

4. 提示错误 launchctl run error: File exists

表示job已经启动过,需要先停止再移除才可以重新运行.

launchctl stop org.apache.tomcat
launchctl remove org.apache.tomcat

5. 配置的输出提示错误,说明没有配置 JAVA_HOME 环境变量.

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program

6. 设置环境变量

launchctl setenv JAVA_HOME `/usr/libexec/java_home`

7. 删除环境变量

launchctl unsetenv JAVA_HOME

参考文档:
http://wiki.apache.org/tomcat/TomcatOnMacOS
https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/launchctl.1.html#//apple_ref/doc/man/1/launchctl
https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man5/launchd.plist.5.html

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-05 12:07:30

[MacOSX]_[LaunchDaemons]_[Mac OS X 安装Tomcat开机启动服务的方法之一]的相关文章

mac OS X 安装svn

因为从10.5版本开始适用Mac OS,SVN一直都是默认安装的软件. 后来发现一个简单的办法. 如果你有安装XCode,只需要在code > Preferences > download > Command Line Tools > Install即可,速度很快,基本1分钟搞定. 这个Command Line Tools包含最新的SVN.然后如果你没有安装XCode的话,就会很痛苦,采用这种办法就会很痛苦,因为XCode接近于1.5GB了!尤其是对于那些只是需要SVN,而不会用到

VMware Mac OS补丁安装

安装了VMware9.0在新建虚拟系统的时候,没有Appel MAC OS系统的选项,上网查了一下是需要打一个VMware Mac OS补丁就可以了.下面我来演示一下VMware Mac OS补丁怎么用? 方法/步骤 1 百度一下[VMware Mac OS补丁下载]就可以看到很多下载的地方.建议找在百度云盘或是CSDN的网站下载. 2 打开下载的文件,找到[Windows]文件夹并解压出来 ,一定要解压出来的,直接压缩文件中打开安装文件是安装不的. 3 解压出来以后,点击文件夹中的[insta

Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验

Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单总结一下成功安装方法: 1,Vmware Player 12.1.1-3770994(Virtual Box 老版本Win10上启动不了,新版本5.1不再支持Mac OS) 2,执行命令关闭Hyper-v服务重启:bcdedit /set hypervisorlaunchtype off (不然无法

Mac OS Sierra 安装PHP扩展 Operation not permitted

想看详细解读的可以 点这里  只需要解决问题直接往下看就好 ---------------------------------------------------分 割 线------------------------------------------------------- Mac OS Sierra 安装PHP扩展,在make install 的时候,出现类似 cp: /usr/lib/php/extensions/no-debug-non-zts-20131226/#[email p

Mac OS X 安装Golang

1.确保Mac OS X 安装了Git,Hg,在Mac OS X 10.8+下面安装Xcode CommandLine Tools就可以了,10.9以上安装Xcode就包含了Git工具,hg请安装SourceTree,这个Git GUI工具包含了Mercurial工具 2.下载安装go1.3.1.darwin-amd64-osx10.8.pkg 3.安装Sublime Text,一次安装插件,GoSublime,配置GoSublime-Settings-User文件,切记不要改动任何Defaul

Mac OS X安装OpenGL

Mac OS X安装OpenGL 安装最新的cmake brew install cmake brew upgrade cmake 安装glew brew install glew 安装GLTools git clone https://github.com/HazimGazov/GLTools cd GLTools cmake . && sudo make install 安装glfw brew install glfw 安装glad 进入在线服务: https://glad.dav1d

mac os 10.10下 openfire启动失败的问题记录

mac os 10.10下 openfire启动失败的问题记录 主要原因是在openfire 看了一些资料综合一下然后做一个记录 A.ctrl+空格=>终端 B.建议先获取文件夹权限 sudo chmod -R 777 /usr/local/openfire/bin C.然后再一行一行执行下面的命令 sudo sucd /usr/local/openfire/binexport JAVA_HOME=`/usr/libexec/java_home`echo $JAVA_HOME /Library/

Mac OS下SVN的使用:服务的和客户端

在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境.在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还需做一下简单的配置. 我们首先来看下,如何在Mac环境下搭建svn服务器端环境. 一.创建代码仓库,用来存储客户端所上传的代码 我先在/User/apple目录下新建一个svn目录,以后可以在svn目录下创建多个仓库目录 打开终端,创建一个mycode仓库,输入指令:svnadmin create

centos7 安装redis 开机启动

redis 下载 https://redis.io/download wget http://download.redis.io/releases/redis-3.2.6.tar.gz 解压缩 tar xzf redis-3.2.6.tar.gz 进入解压后的文件目录 cd redis-3.2.6 redis安装相对简单 直接编译即可 make 创建存储redis文件目录 mkdir -p /usr/local/redis 复制redis-server redis-cli到新建立的文件夹 cp