# Tomcat
## 下载

官网地址：[http://tomcat.apache.org](http://tomcat.apache.org)

下载地址：[https://tomcat.apache.org/download-90.cgi](https://tomcat.apache.org/download-90.cgi)

下载地址：[https://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.34/bin/apache-tomcat-9.0.34.tar.gz](http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.27/bin/apache-tomcat-9.0.27.tar.gz)

使用 wget 命令下载 Tomcat9 。
```
[root@localhost ~] wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.37/bin/apache-tomcat-9.0.37.tar.gz
```

## 在线安装
```
[root@localhost ~] tar xvf apache-tomcat-9.0.34.tar.gz -C /opt
```

## 配置
### 管理员密码

打开并编辑配置文件“/opt/tomcat9/conf/tomcat-users.xml”，在“</tomcat-users>”之前添加入下配置信息。

``` xml
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="tomcat" password="123456" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
```

配置截图如下：

![远程访问](./img/tomcat_config_001.png)

manager默认只允许本地访问，要支持远程访问必须修改远程访问配置。打开并编辑配置文件“/opt/tomcat9/webapps/manager/META-INF/context.xml”。修改允许远程访问的PC的地址为“\d+\.\d+\.\d+\.\d+”。

![远程访问](./img/tomcat_config_002.png)

### 测试远程配置
打开浏览器在浏览器地址栏输入Tomcat服务器地址与，“http://服务器地址:8080”：

![Tomcat初始页面](./img/tomcat_manager.jpg)

点击“Manager App”按钮，管理服务器上部署的应用。

![远程访问](./img/tomcat_config_login.png)

输入在配置文件“tomcat-users.xml”中配置的用户名“tomcat”，密码“123456”，点击“登录”按钮。

![Tomcat Web应用管事管理器](./img/tomcat_manager_001.jpg)

### 配置成系统服务

创建文件“/etc/systemd/system/tomcat.service”。

```
[Unit]
Description=tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking

WorkingDirectory=/opt/tomcat9/
ExecStart=/opt/tomcat9/bin/startup.sh
ExecStop=/opt/tomcat9/bin/shutdown.sh
ExecReload=/bin/kill -s HUP $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target
```

启动tomcat
```
[root@localhost ~] systemctl start tomcat
```

停止tomcat
```
[root@localhost ~] systemctl stop tomcat
```

设置开机重启tomcat
```
[root@localhost ~] systemctl enable tomcat
```

取消开机重启tomcat
```
[root@localhost ~] systemctl disable tomcat
```

### 自定义读取yml文件配置
打开/opt/tomcat9/bin 新建文件名为setenv.sh

![自定义读取yml文件配置](./img/tomcat_setenv_001.png)

文件内容 active=prod 等号后面是读取的  后置为prod 的yml文件
```
export CATALINA_OPTS="$CATALINA_OPTS -Dspring.profiles.active=prod"
```
![自定义读取yml文件配置](./img/tomcat_setenv_002.png)


## 常见问题处理
