后续再继续优化
基本环境:vmware虚拟机
1.操作系统:CentOS Linux release 7.4.1708 (Core)
2.硬盘:21.5 GB
3.内存:1G
4.软件包:
4.1 apache-tomcat-8.0.49.tar.gz
4.2 jdk-8u161-linux-x64.tar.gz
第一章:安装jdk环境
1.1 下载:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
1.2 存放路径:
/usr/local/jdk1.8.0_161
1.3 环境配置脚本:cat /etc/profile.d/jdk.sh
export JAVA_HOME=/usr/local/jdk1.8.0_161
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
1.4 更新环境变量
[route@mysql01 ~]$ sh /etc/profile.d/jdk.sh
1.5 测试:
[route@mysql01 ~]$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
[route@mysql01 ~]$
第二章:tomcat单实例部署
2.1 下载:
选择自己需要的版本:
a.
b.
c.
2.2 上传到服务器/opt目录下
2.3 解压
[root@mysql01 opt]# tar zxf apache-tomcat-8.0.49.tar.gz
2.4 修改目录名称
[root@mysql01 opt]# mv apache-tomcat-8.0.49/ tomcat-01/
2.5 修改端口:
[root@mysql01 opt]# vim tomcat-01/conf/server.xml
Server port:
Connect port:
AJP port:
保存退出:wq
2.6 配置tomcat的启动参数和pid
[root@mysql01 opt]# vim tomcat-01/bin/setenv.sh
# 编辑 tomcat-01/bin/setenv.sh,没有的话就新建
# 输入以下配置选项(tomcat有很多配置选项)
# 设置tomcat pid
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
# 设置java参数,提高性能
JAVA_OPTS="-server -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
[root@mysql01 opt]# chmod +x tomcat-01/bin/setenv.sh
2.7 创建用户和组
[root@mysql01 opt]# getent group tomcat || groupadd -r tomcat
[root@mysql01 opt]# getent passwd tomcat || useradd -r -d /opt -s /bin/nologin -g tomcat tomcat
2.8 授权
[root@mysql01 opt]# chown -R tomcat:tomcat tomcat-01/
2.8 创建service文件
[root@mysql01 opt]# vim /usr/lib/systemd/system/tomcat-01.service
# 输入以下内容
[Unit]
Description=Apache Tomcat 8-01
After=syslog.target network.target
[Service]
Type=forking
PIDFile=/opt/tomcat-01/tomcat.pid
ExecStart=/opt/tomcat-01/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
User=tomcat
Group=tomcat
[Install]
WantedBy=multi-user.target
# 保存wq!
[root@mysql01 web01]# systemctl daemon-reload
2.9 启动
systemctl start tomcat-01
2.10 测试
a.创建一个测试网页
[root@mysql01 opt]# mkdir -p app/webapp
[root@mysql01 webapp]# echo "web01" > web01/index.html
b.添加一个context
[root@mysql01 web01]# vim /opt/tomcat-01/conf/server.xml
c.重新启动tomcat
[root@mysql01 web01]# systemctl stop tomcat-01
[root@mysql01 web01]# systemctl start tomcat-01
d.访问
[root@mysql01 web01]# curl http://127.0.0.1:8021
web01
2.11 设置开机启动
[root@mysql01 web01]# systemctl enable tomcat-01
Created symlink from /etc/systemd/system/multi-user.target.wants/tomcat-01.service to /usr/lib/systemd/system/tomcat-01.service.
第三章:tomcat多实例实现
3.1 复制一份tomcat-01实例为tomcat-02
[root@mysql01 opt]# cp -rf tomcat-02/ tomcat-03/
3.2 修改启动脚本的环境变量目录
[root@mysql01 tomcat-03]# vim bin/startup.sh
export JAVA_HOME=/usr/local/jdk1.8.0_161
export JRE_HOME=/usr/local/jdk1.8.0_161/jre
export CATALINA_HOME=/opt/tomcat-03
export CATALINA_BASE=/opt/tomcat-03
3.3 复制一份service文件
[root@mysql01 system]# cp tomcat-01.service tomcat-03.service
3.4 修改service文件配置
[root@mysql01 system]# vim tomcat-03.service
[Unit]
Description=Apache Tomcat 8
After=syslog.target network.target
[Service]
Type=forking
PIDFile=/opt/tomcat-03/tomcat.pid
ExecStart=/opt/tomcat-03/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
User=tomcat
Group=tomcat
[Install]
WantedBy=multi-user.target
3.5 授权tomcat目录为tomcat用户和组
[root@mysql01 system]# chown -R tomcat:tomcat /opt/tomcat-03/
3.6 重新加载服务
[root@mysql01 system]# systemctl daemon-reload
第四章:tomcat开启jmx监控
4.1 修改[root@mysql01 bin]# vim /opt/tomcat-01/bin/catalina.sh,再106行下面添加
a. 不用认证
CATALINA_OPTS="$CATALINA_OPTS -Djava.rmi.server.hostname=192.168.226.128 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8041 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
b.需要认证
- 进入到
[root@mysql01 bin]# cd /usr/local/jdk1.8.0_161/jre/lib/management/
- 创建jmxremote.password文件
cp jmxremote.password.template jmxremote.password
- 修改权限以便修改,因为要添加用户和密码
chmod 600 jmxremote.password
- 再最后一行写入
monitor ritchie #用户名和密码
- 修把文件改为运行 tomcat 的用户,如果已经是,则不需要修改
chown tomcat:tomcat jmxremote.access jmxremote.password
-修改文件权限600,这是 java 的规范,防止别的用户看到你密码
chmod 600 jmxremote.access jmxremote.password
-重启tomcat服务
systemctl stop tomcat-01
systemctl start tomcat-01
-开放端口
[root@mysql01 management]# netstat -lntp|grep java
tcp6 0 0 127.0.0.1:8011 :::* LISTEN 10502/java
tcp6 0 0 :::27056 :::* LISTEN 10502/java #------随机端口
tcp6 0 0 :::8021 :::* LISTEN 10502/java
tcp6 0 0 :::6235 :::* LISTEN 10502/java #------随机端口
tcp6 0 0 :::8031 :::* LISTEN 10502/java
tcp6 0 0 :::8041 :::* LISTEN 10502/java #-----监控端口
firewall-cmd --permanent --add-port=8041/tcp
firewall-cmd --permanent --add-port=27056/tcp
firewall-cmd --permanent --add-port=6235/tcp
-测试 JConsole工具
第五章:修改jvm参数,优化