tomcat
  ssGPNGBVZK0u 2023年11月02日 62 0

tomcat


//JDK部署
[root@localhost ~]# ls 							
anaconda-ks.cfg              libmcrypt-2.5.7.tar.gz
apache-tomcat-8.5.42.tar.gz  mysql-connector-java-5.1.47.tar.gz
jdk-8u171-linux-x64.tar.gz   nginx-1.10.3.tar.gz
libmcrypt-2.5.7              php-5.6.36.tar.gz
[root@localhost ~]# rpm -qa | grep java
[root@localhost ~]# tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local/
jdk1.8.0_171/
jdk1.8.0_171/javafx-src.zip
jdk1.8.0_171/bin/
jdk1.8.0_171/bin/jmc
jdk1.8.0_171/bin/serialver
jdk1.8.0_171/bin/jmc.ini
[root@localhost ~]# rm -fr jdk-8u171-linux-x64.tar.gz
[root@localhost ~]# vim /etc/profile
[root@localhost ~]# cd /usr/local/
[root@localhost local]# ls
bin  games    jdk1.8.0_171  lib64    libmcrypt  php5.6  share
etc  include  lib           libexec  nginx      sbin    src
[root@localhost local]# cd -
/root
[root@localhost ~]# vim /etc/profile
[root@localhost ~]# source /etc/profile
[root@localhost ~]# java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)


//tomcat环境部署
[root@localhost ~]# tar -zxvf apache-tomcat-8.5.42.tar.gz -C /usr/local/
apache-tomcat-8.5.42/conf/
apache-tomcat-8.5.42/conf/catalina.policy
apache-tomcat-8.5.42/conf/catalina.properties
[root@localhost ~]# cd /usr/local
[root@localhost local]# ls
apache-tomcat-8.5.42  etc    include       lib    libexec    nginx   sbin   src
bin                   games  jdk1.8.0_171  lib64  libmcrypt  php5.6  share
[root@localhost local]# mv apache-tomcat-8.5.42/ tomcat
[root@localhost local]# cd tomcat/
[root@localhost tomcat]# ls
bin           CONTRIBUTING.md  logs       RELEASE-NOTES  webapps
BUILDING.txt  lib              NOTICE     RUNNING.txt    work
conf          LICENSE          README.md  temp
[root@localhost bin]# ls
bootstrap.jar                 daemon.sh         startup.sh
catalina.bat                  digest.bat        tomcat-juli.jar
catalina.sh                   digest.sh         tomcat-native.tar.gz
catalina-tasks.xml            setclasspath.bat  tool-wrapper.bat
commons-daemon.jar            setclasspath.sh   tool-wrapper.sh
commons-daemon-native.tar.gz  shutdown.bat      version.bat
configtest.bat                shutdown.sh       version.sh
configtest.sh                 startup.bat
[root@localhost bin]# ./startup.sh				//启动脚本启动
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk1.8.0_171
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@localhost bin]# netstat -anpnlt | grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      1949/java
[root@localhost bin]# ./shutdown.sh				//停止脚本停止
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk1.8.0_171
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[root@localhost bin]# netstat -anpnlt | grep 8080
tcp6       0      0 ::1:8080                ::1:47540               TIME_WAIT   - 
//Tomcat启动脚本
[root@localhost tomcat]# vim /etc/init.d/tomcat
#!/bin/bash
# Tomcat init script for Linux
# chkconfig: 2345 96 14
# discription: The Apache Tomcat Server/JSP container
JAVA_HOME=/usr/local/jdk1.8.0_171/
CATALINA_HOME=/usr/local/tomcat
start_tomcat=$CATALINA_HOME/bin/startup.sh       #tomcat启动文件
stop_tomcat=$CATALINA_HOME/bin/shutdown.sh     #tomcat关闭文件

start() {
        echo -n "Starting tomcat: "
        ${start_tomcat}
        echo "tomcat start ok."
}
stop() {
        echo -n "Shutting down tomcat: "
        ${stop_tomcat}
        echo "tomcat stop ok."
}

# See how we were called

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        stop
        sleep 5
        start
        ;;
  *)
        echo "Usage: $0 {start|stop|restart}"
esac
exit 0
[root@localhost tomcat]# chmod +x /etc/init.d/tomcat
[root@localhost tomcat]#  vim /lib/systemd/system/tomcat.service
[Unit]
Description=tomcat
After=network.target

[Service]
Type=forking
Environment=JAVA_HOME=/usr/local/jdk1.8.0_171/
Environment=CATALINA_HOME=/usr/local/tomcat
ExecStart=/etc/init.d/tomcat start
ExecStop=/etc/init.d/tomcat stop
ExecRestart=/etc/init.d/tomcat restart
PrivateTmp=true

[Install]
WantedBy=multi-user.target
[root@localhost tomcat]# systemctl daemon-reload
[root@localhost tomcat]#  systemctl enable tomcat
Created symlink from /etc/systemd/system/multi-user.target.wants/tomcat.service to /usr/lib/systemd/system/tomcat.service.
[root@localhost tomcat]#  systemctl start tomcat
[root@localhost tomcat]#  systemctl status tomcat
● tomcat.service - tomcat
   Loaded: loaded (/usr/lib/systemd/system/tomcat.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2023-05-15 14:10:22 CST; 31s ago
 Main PID: 2088 (java)
   CGroup: /system.slice/tomcat.service
           └─2088 /usr/local/jdk1.8.0_171//bin/java -Djava.util.logging.config....
[root@localhost tomcat]#  ps -ef | grep tomcat
root       2088      1  8 14:10 ?        00:00:05 /usr/local/jdk1.8.0_171//bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.ap
[root@localhost tomcat]# netstat -antup | grep java
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      2088/java
tcp6       0      0 :::8009                 :::*                    LISTEN      2088/java
tcp6       0      0 :::8080                 :::*                    LISTEN      2088/java
//浏览器访问测试192.168.70.106:8080


  • 调manager App
[root@localhost ~]# vi /usr/local/tomcat/conf/tomcat-users.xml
 43 -->
 <role rolename="admin-gui"/>
 <role rolename="admin-script"/>
 <role rolename="manager-gui"/>
 <role rolename="manager-script"/>
 <role rolename="manager-jmx"/>
 <role rolename="manager-status"/>
 <user username="admin" password="123456" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>
 51 </tomcat-users>
[root@localhost ~]#  vim /usr/local/tomcat/conf/Catalina/localhost/manager.xml
<Context privileged="true" antiResourceLocking="false"
         docBase="${catalina.home}/webapps/manager">
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>
[root@localhost ~]# vim /usr/local/tomcat/webapps/host-manager/META-INF/context.xml
<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="^.*$" />   #修改标红部分
[root@localhost ~]# systemctl restart tomcat
[root@localhost ~]# systemctl status tomcat
● tomcat.service - tomcat
   Loaded: loaded (/usr/lib/systemd/system/tomcat.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2023-05-15 14:43:03 CST; 15s ago
//测试Manager App




  • 内存优化 server status / JVM的内存


  • 修改jvm的内存大小: 编缉$CATALINA_HOME/bin/catalina.sh,在最前面(注释除外)添加:
    JAVA_OPTS='-Xms512m -Xmx1024m'


[root@localhost ~]# vi /usr/local/tomcat/bin/catalina.sh
 JAVA_OPTS='-Xms512m -Xmx1024m'
[root@localhost ~]# systemctl restart tomcat


  • 搭建基于域名的虚拟主机
[root@localhost ~]# ls /usr/local/tomcat/webapps/
docs  examples  host-manager  manager  ROOT
[root@localhost ~]# vim /usr/local/tomcat/conf/server.xml
[root@localhost ~]# mkdir -p /www/html/{web1,web2}
[root@localhost ~]# echo "qingniao.com web1" > /www/html/web1/index.html
[root@localhost ~]# echo "qingniao.cn web2" > /www/html/web2/index.html
[root@localhost ~]# vim /etc/hosts
[root@localhost ~]# systemctl restart tomcat
//测试网页
[root@localhost ~]# curl www.qingniao.com:8080
qingniao.com web1
[root@localhost ~]# curl www.qingniao.cn:8080
qingniao.cn web2






  • 默认host站点
  • vim /usr/local/tomcat/conf/server.xml


  • 安装tomcat-Native (性能优化)
[root@localhost ~]# yum install -y apr apr-devel gcc gcc-c++ openssl-devel openssl
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
[root@localhost ~]# cd /usr/local/tomcat/bin/
[root@localhost bin]# ls
bootstrap.jar                 daemon.sh         startup.sh
catalina.bat                  digest.bat        tomcat-juli.jar
catalina.sh                   digest.sh         tomcat-native.tar.gz
catalina-tasks.xml            setclasspath.bat  tool-wrapper.bat
commons-daemon.jar            setclasspath.sh   tool-wrapper.sh
commons-daemon-native.tar.gz  shutdown.bat      version.bat
configtest.bat                shutdown.sh       version.sh
configtest.sh                 startup.bat
[root@localhost bin]# tar zxf tomcat-native.tar.gz -C /usr/local/src/
[root@localhost bin]# cd /usr/local/src/tomcat-native-1.2.21-src/native/
[root@localhost native]# ./configure --with-apr=/usr/bin/apr-1-config --with-java-home=/usr/local/jdk1.8.0_171/ --with-ssl
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
[root@localhost native]# make && make install
[root@localhost native]# vim /etc/ld.so.conf
[root@localhost native]# ldconfig
[root@localhost native]# echo "ldconfig" >>/etc/rc.local
[root@localhost native]# chmod +x /etc/rc.d/rc.local
[root@localhost native]# ln -s /usr/local/apr/lib/*  /usr/lib/
[root@localhost native]# systemctl restart tomcat
[root@localhost native]# cat /usr/local/tomcat/logs/catalina.out | grep Native     //tomcat的输出文件名是什么?
[root@localhost native]# systemctl status mariadb
//创建测试数据
[root@localhost native]# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.68-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database tomcat;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]>  use tomcat;
Database changed
MariaDB [tomcat]> show databases
    -> ;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| tomcat             |
+--------------------+
5 rows in set (0.00 sec)

MariaDB [tomcat]> create table tt(id int,name varchar(128));
Query OK, 0 rows affected (0.02 sec)

MariaDB [tomcat]> insert into tt values (1,"come on boy"),(2,"come on girl");
Query OK, 2 rows affected (0.01 sec)
Records: 2  Duplicates: 0  Warnings: 0

MariaDB [tomcat]> grant all on tomcat.* to tomcat@'localhost' identified by 'tomcat';
Query OK, 0 rows affected (0.02 sec)

MariaDB [tomcat]> quit
Bye
//安装mysql-connector(cong11)
[root@localhost ~]# tar -zxvf mysql-connector-java-5.1.47.tar.gz -C /usr/local/src/
[root@localhost ~]# cd /usr/local/src/mysql-connector-java-5.1.47/
[root@localhost mysql-connector-java-5.1.47]# cp mysql-connector-java-5.1.47-bin.jar /usr/local/tomcat/lib/
[root@localhost mysql-connector-java-5.1.47]# systemctl restart tomcat
[root@localhost mysql-connector-java-5.1.47]# cd -
/root
//建立测试页面
[root@localhost ~]# vim /usr/local/tomcat/webapps/ROOT/mysql.jsp
//测试




【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: tomcat优化 下一篇: LNMP
  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  UP4ONKOBnkdD   2023年11月28日   21   0   0 java
  9JCEeX0Eg8g4   2023年12月10日   29   0   0 应用程序javaApache
  KRsXEGSB49bk   2023年11月27日   24   0   0 javaApache
  jnZtF7Co41Wg   2023年11月24日   28   0   0 mysqlApachecentos
  xwGmYGXf1w4S   2023年11月24日   30   0   0 nginxtomcat