在本教程中,我们将学习如何在Debian上手动安装Apache Tomcat8。
环境:
- Debian 7
- JDK 1.8
- Apache Tomcat 8
P.S 假设JDK1.8被安装在/opt/jdk
在Debian 7上,Tomcat8不包括在默认的apt-get信息库。
本指南可以在Ubuntu或者Mint等Debian的衍生系统上正常工作。
1.获取Tomcat 8
1.1 访问 Tomcat 8页面 并下载 tar.gz 文件。
1.2 在这个例子中,我们通过 wget 命令得到8.0.30版本。
$ cd /opt $ sudo wget http://www.eu.apache.org/dist/tomcat/tomcat-8/v8.0.30/bin/apache-tomcat-8.0.30.tar.gz
2. 提取到 /opt/tomcat8
2.1 提取文件放到路径 /opt/tomcat8
$ pwd /opt $ sudo tar -xvzf apache-tomcat-8.0.30.tar.gz $ mv apache-tomcat-8.0.30 tomcat8 $ ls -lsh 4.0K drwxr-xr-x 6 root root 4.0K Dec 27 09:16 . 4.0K drwxr-xr-x 23 root root 4.0K Feb 26 2014 .. 8.8M -rw-r--r-- 1 root root 8.8M Dec 1 17:56 apache-tomcat-8.0.30.tar.gz 4.0K drwxr-xr-x 3 root root 4.0K Dec 27 09:06 jdk 4.0K drwxr-xr-x 9 root root 4.0K Dec 27 09:16 tomcat8
3. 创建一个Tomcat用户
3.1 查看提取 tomcat8 文件夹,这是属于 “root” 用户。一个好的做法是:我们应该创建一个新的用户来运行Tomcat。在这个例子中,我们将创建一个非登录用户“tomcat”,并设置Home目录是 /opt/tomcat/temp(或其它任何想要的)。
#Usage : useradd -s-d$ sudo useradd -s /sbin/nologin -d /opt/tomcat/temp tomcat
3.2 更改 /opt/tomcat8 文件夹的权限,以使新的 “tomcat” 用户可以运行Tomcat。
$ sudo chown -R tomcat:tomcat /opt/tomcat8 $ pwd /opt $ls -lsh 8.8M -rw-r--r-- 1 root root 8.8M Dec 1 17:56 apache-tomcat-8.0.30.tar.gz 4.0K drwxr-xr-x 3 root root 4.0K Dec 27 09:06 jdk 4.0K drwxr-xr-x 9 tomcat tomcat 4.0K Dec 27 09:16 tomcat8
4. /etc/init.d/tomcat8
要运行Tomcat作为初始化服务,创建一个自定义脚本,并把它放在 /etc/init.d 文件夹。
4.1 创建一个脚本,并将其保存为/etc/init.d/tomcat8
$ sudo vim /etc/init.d/tomcat8
#!/bin/bash # #https://wiki.debian.org/LSBInitScripts ### BEGIN INIT INFO # Provides: tomcat8 # Required-Start: $local_fs $remote_fs $network # Required-Stop: $local_fs $remote_fs $network # Should-Start: $named # Should-Stop: $named # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start Tomcat. # Description: Start the Tomcat servlet engine. ### END INIT INFO export CATALINA_HOME=/opt/tomcat8 export JAVA_HOME=/opt/jdk/jdk1.8.0_66 export PATH=$JAVA_HOME/bin:$PATH start() { echo "Starting Tomcat 8..." /bin/su -s /bin/bash tomcat -c $CATALINA_HOME/bin/startup.sh } stop() { echo "Stopping Tomcat 8..." /bin/su -s /bin/bash tomcat -c $CATALINA_HOME/bin/shutdown.sh } case $1 in start|stop) $1;; restart) stop; start;; *) echo "Usage : $0 "; exit 1;; esac exit 0
这是简单Tomcat 的初始化脚本在我的一台服务器上运行,而且我认为这是足以控制Tomcat的。如果你想寻找更高级的功能,尝试访问该 Tomcat init script
4.2 分配“执行”权限。
$ sudo chmod 755 /etc/init.d/tomcat8 #Review permission $ ls -lsh /etc/init.d/tomcat8 4.0K -rwxr-xr-x 1 root root 859 Dec 27 22:07 /etc/init.d/tomcat8
4.3 安装脚本
$ sudo update-rc.d tomcat8 defaults
4.4 测试它
$ sudo service tomcat8 Usage : /etc/init.d/tomcat8 #Start Tomcat... $ sudo service tomcat8 start Starting Tomcat 8... Using CATALINA_BASE: /opt/tomcat8 Using CATALINA_HOME: /opt/tomcat8 Using CATALINA_TMPDIR: /opt/tomcat8/temp Using JRE_HOME: /opt/jdk/jdk1.8.0_66 Using CLASSPATH: /opt/tomcat8/bin/bootstrap.jar:/opt/tomcat8/bin/tomcat-juli.jar Tomcat started. #Stop Tomcat... $ sudo service tomcat8 stop Stopping Tomcat 8... Using CATALINA_BASE: /opt/tomcat8 Using CATALINA_HOME: /opt/tomcat8 Using CATALINA_TMPDIR: /opt/tomcat8/temp Using JRE_HOME: /opt/jdk/jdk1.8.0_66 Using CLASSPATH: /opt/tomcat8/bin/bootstrap.jar:/opt/tomcat8/bin/tomcat-juli.jar
访问Tomcat 默认地址 URL : http://localhost:8080
6. 扩展…
6.1 要部署WAR文件,只需复制WAR文件到/opt/tomcat8/webapps/ 文件夹下。重新启动Tomcat,war文件将被提取并自动部署。
- 示例 – /opt/tomcat8/webapps/lovejava.war
- 发布是URL – http://localhost:8080/lovejava
6.2 要更改默认端口(8080),只需更新连接器端口到另一个端口号,并重新启动Tomcat。
6.3 配置Web应用程序的默认路径。
WEB-INF/web.xml
- 之前: http://localhost:8080/lovejava
- 之后 : http://localhost:8080/
现在,我们可以通过这个网址访问 /lovejava Web应用程序:http://localhost:8080/