【20201104】Tomcat学习笔记

发表于 2019-07-23
阅读 95

介绍

介绍

Tomcat是一款免费的专门用以运行Java程序的web服务器软件。Tomcat是很多学习Java语言的童鞋们的开发环境的web服务器软件的选择,Tomcat也是很多中小型网站或者平台的生产环境的web服务器软件的选择。Tomcat目前已经被Apache基金会授予麾下了,我们可以通过tomcat.apache.org得到关于Tomcat的更新信息和软件包下载。

今天我们就来学习如何安装配置Tomcat服务器,跟着福哥来吧~~

基本信息

安装环境

CentOS:CentOS Linux release 7.6.1810 (Core)
Linux:Linux version 3.10.0-1062.el7.x86_64
GCC:gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)

软件版本

apache-tomcat-9.0.39.tar.gz

准备工作

本地化

如果是新环境,我们需要设置时区以保证时间显示正确

timedatectl set-timezone Asia/Shanghai

安装wget

如果环境里没有wget,通过yum安装一下

yum -y install wget

建立环境根目录

mkdir -p /tongfu.net/env/

建立安装包目录并进入

mkdir /packages
cd /packages

安装

下载JDK

必须通过网页下载,需要勾选“接受协议”,所以不能用wget直接下载了!

网页地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

下载Tomcat

如果下载地址失效,可以进入官网获取

网页地址:https://tomcat.apache.org/download-90.cgi

wget https://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.39/bin/apache-tomcat-9.0.39.tar.gz

安装JDK

tar -xzvf jdk-8u192-linux-x64.tar.gz -C /tongfu.net/env/

安装Tomcat

tar -xzvf apache-tomcat-9.0.39.tar.gz -C /tongfu.net/env/

配置

配置JDK

echo "export JAVA_HOME=/tongfu.net/env/jdk1.8.0_192" >> /etc/profile
echo "export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar" >> /etc/profile
source /etc/profile

配置Tomcat

切换到tomcat根目录

cd /tongfu.net/env/apache-tomcat-9.0.39/

设置JVM参数

JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS"
替换为
JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS -Xms1024m -Xmx1024m"

[root@dev apache-tomcat-9.0.39]# vi bin/catalina.sh
JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS -Xms1024m -Xmx1024m"

更改默认端口

因为tomcat的默认端口8080被我们之前安装的apache占用了,所以我们要改一下端口

[root@dev apache-tomcat-9.0.39]# vi conf/server.xml

    <Connector port="8086" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

自动启动脚本

添加系统服务

[root@dev apache-tomcat-9.0.39]# cat > /lib/systemd/system/tomcat.service <<EOF
[Unit]
Description=tomcat
After=network.target

[Service]
Type=forking
Environment=JAVA_HOME=/tongfu.net/env/jdk1.8.0_192
Environment=CLASSPATH=.:\$JAVA_HOME/lib/tools.jar:\$JAVA_HOME/lib/dt.jar
ExecStart=/tongfu.net/env/apache-tomcat-9.0.39/bin/startup.sh
ExecStop=/tongfu.net/env/apache-tomcat-9.0.39/bin/shutdown.sh
PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF

使用 systemctl 管理 tomcat 服务

systemctl enable tomcat # 设置自动启动

systemctl start tomcat # 启动服务

systemctl stop tomcat # 停止服务

systemctl restart tomcat # 重启服务

测试

通过浏览器打开 http://192.168.1.168:8086/ 查看 tomcat 首页

ccea9ed81c5b6fb3.jpg

虚拟主机

配置文件

打开 conf/server.xml,结构如下

<Server>
    <Service>
        <Connector/>
        <Engine>
            <Host>
                <Context/>
                <Alias/>
            </Host>
        </Engine>
    </Service>
</Server>
  • Server:服务器

  • Service:服务,例如:User

  • Connector:连接,服务的端口、协议等等

  • Engine:引擎,主机组

  • Host:主机,指向具体项目,不同 Host 对应不同的域名。

  • Context:虚拟目录,可选

  • Alias:域名别名,可选

多虚拟目录配置

通过在 Host 里设置多个 Context 实现多个虚拟目录的配置

<Context path="" docBase="/tongfu.net/web/root" privileged="true">
             </Context>
<Context path="/context1" docBase="/tongfu.net/web/context1" privileged="true">
             </Context>
<Context path="/context1" docBase="/tongfu.net/web/context1" privileged="true">
             </Context>

多域名配置

通过在 Host 里设置多个 Alias 实现多域名的支持

<Host>
    <Alias>www.zhang3.com</Alias>
    <Alias>www.li4.com</Alias>
</Host>

总结

今天我们在TFLinux上面安装了Tomcat环境,后面跟着福哥开发Java项目之后就可以部署到我们的TFLinux里面了。

使用Java语言开发项目是比较繁琐的,我们需要编译,需要依赖,需要考虑JDK版本,还要考虑开发环境和生产环境的区别。部署Java开发的项目更加麻烦,需要考虑很多因素,一个不匹配就跑不起来了。

但是Java语言的优势也很多,比如Java语言的生态很庞大,基本上做Java开发不会孤单,大部分功能都可以找到参考代码,甚至成熟的可以直接拿来用的代码;还有Java语言相比PHP这种脚本语言的语法更加严谨,严谨的语法加上强大的语言语法可以让Java胜任更大型的平台的开发任务。

所以,后面福哥会带着大家学习Java语言的项目的开发的相关知识,敬请期待~~