【tomcat实验部署】

实验环境

tomcat+jdk安装

centos7(默认安装了JDK环境,但需要手动配置/etc/profile的环境变量)
如果使用 java -version显示这样,则代表本台设备是安装了jdk的在这里插入图片描述
ok,总结一下
照着手册配的,但中间还是出现了问题。原本我知道centos7是默认安装了jdk环境,所以我就在/etc/profile仅配置了tomcat的环境变量,我默认jdk的环境变量已经配置。因此我在执行:

[root@localhost jvm]# /usr/local/tomcat/bin/catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64/jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.

[root@localhost jvm]# netstat -antp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:993             0.0.0.0:*               LISTEN      1069/dovecot        
tcp        0      0 0.0.0.0:995             0.0.0.0:*               LISTEN      1069/dovecot        
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN      1069/dovecot        
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      1069/dovecot        
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      666/rpcbind         
tcp        0      0 192.168.28.149:53       0.0.0.0:*               LISTEN      1054/named          
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      1054/named          
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      1054/named          
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      994/sshd            
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      996/cupsd           
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      1304/master         
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      1054/named          
tcp        0     52 192.168.28.149:22       192.168.28.1:8308       ESTABLISHED 12674/sshd: root@pt 
tcp6       0      0 :::993                  :::*                    LISTEN      1069/dovecot        
tcp6       0      0 :::995                  :::*                    LISTEN      1069/dovecot        
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      15092/java          
tcp6       0      0 :::3306                 :::*                    LISTEN      1685/mysqld         
tcp6       0      0 :::110                  :::*                    LISTEN      1069/dovecot        
tcp6       0      0 :::143                  :::*                    LISTEN      1069/dovecot        
tcp6       0      0 :::111                  :::*                    LISTEN      666/rpcbind         
tcp6       0      0 :::8080                 :::*                    LISTEN      15092/java          
tcp6       0      0 :::80                   :::*                    LISTEN      2036/httpd          
tcp6       0      0 ::1:53                  :::*                    LISTEN      1054/named          
tcp6       0      0 :::22                   :::*                    LISTEN      994/sshd            
tcp6       0      0 ::1:631                 :::*                    LISTEN      996/cupsd           
tcp6       0      0 :::25                   :::*                    LISTEN      1304/master         
tcp6       0      0 ::1:953                 :::*                    LISTEN      1054/named          
[root@localhost jvm]# java -version
openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)

发现执行结果也是显示成功的,但是去查看端口时,发现8080并没有监听。所以就去寻找解决办法,去对应目录下找日志

[root@localhost bin]# cd /usr/local/tomcat/logs/
[root@localhost logs]# ls
catalina.out
[root@localhost logs]# cat catalina.out 
/usr/local/tomcat/bin/catalina.sh:行504: /opt/java/jdk-11/bin/java: 没有那个文件或目录
/usr/local/tomcat/bin/catalina.sh:行504: /opt/java/jdk-11/bin/java: 没有那个文件或目录

ok,此时我就恍然大悟了,jdk的环境变量需要我自己配置。所以总结一下在这个过程中我出现的问题:

①echo J A V A H O M E 方法是在已经配置了 / e t c / p r o f i l e 文件的前提下查询的,如果该文件 JAVA_HOME 方法是在已经配置了/etc/profile 文件的前提下查询的,如果该文件 JAVAHOME方法是在已经配置了/etc/profile文件的前提下查询的,如果该文件JAVA_HOME配置错误,输出结果也是错误的。默认是没有在profile里配置。

②which java查询到的是java的执行路径,不是安装路径!!

③whereis java 也不能查询到安装路径,它就罗列出一堆包含java的文件,对查找安装路径一点用都没有!!!

④在一篇文章中找到了:一般centos7.4 中jdk默认安装位置:
[root@localhost logs]# cd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64
于是我就去/etc/profile下配置jdk环境变量了

#java
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

配置完成后,需要立即生效:

[root@localhost logs]# source /etc/profile

此时重新启动tomcat,再去查看端口时,8080已经有了
在这里插入图片描述
最后测试:在客户端浏览器上输入192.168.28.149:8080
成功访问!!!在这里插入图片描述
注:后面我再次测试的时候,前提是我yum -y install java 且 当JDK为这个版本时,启动tomcat后,端口也监听了。发现无需再配置java环境变量了。。。。

[root@localhost jvm]# java -version
openjdk version "1.8.0_352"
OpenJDK Runtime Environment (build 1.8.0_352-b08)
OpenJDK 64-Bit Server VM (build 25.352-b08, mixed mode)

MySQL安装(源码包安装)

1)首先先将MySQL所需要的软件安装上

yum install -y  gcc gcc-c++ cmake ncurses ncurses-devel bison openssl-devel

2)再去MYSQL官网下载boost包
3)上传至服务器,解压缩
4)创建mysql账号,指定为不可登录

useradd -r -s /sbin/nologin mysql
建立对应的安装目录,数据存储目录,并对数据目录所有者修改为mysql
mkdir -p /usr/local/mysql
mkdir -p /data/mysql/data 
chown -R mysql:mysql /data/mysql

5)切换到解压的mysql目录下,开始编译安装

cmake -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=boost

make && make install

5上面的两步,每一步结束后可以echo$? 判断是0还是1,判断到底安装成功没用
6)开始配置启动文件

编辑/etc/my.cnf ( 如果没有则创建)
[client]
port        = 3306
socket      = /tmp/mysql.sock

[mysqld]
port        = 3306
socket      = /tmp/mysql.sock
user = mysql

basedir = /usr/local/mysql
datadir = /data/mysql/data
pid-file = /data/mysql/mysql.pid

log_error = /data/mysql/mysql-error.log

7)修改mysql配置目录的所属者为mysql

chown -R mysql:mysql /usr/local/mysql
切换到/usr/local/mysql目录下初始化mysql
cd /usr/local/mysql
./mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data
如果初始化有问题显示
bash: ./mysqld: 没有那个文件或目录
则需要添加环境变量:
vi /etc/profile
 export PATH=$PATH:/usr/local/mysql/bin
source /etc/profile  #环境变量立即生效

8)设置mysql启动脚本

cp mysql.server /etc/init.d/mysqld
9)重启服务
service mysqld start
设置开机自启动
systemctl enable mysqld

nginx安装(源码包安装)

1)nginx源码包下载

wget http://nginx.org/download/nginx-1.12.2.tar.gz
安装编译软件
yum -y install pcre-devel zlib-devel gcc

2)上传至服务器并解压
3)创建nginx用户

useradd -r -s /sbin/nologin nginx

4)切换至解压目录,开始编译

./configure --user=nginx --group=nginx
make && make install

5)修改nginx配置文件,/usr/local/nginx/conf/nginx.conf
vim /usr/local/nginx/conf/nginx.conf
user nginx;
upstream tomcat {
#添加负载调度(为了后期扩展更多Tomcat服务器方便),
server 192.168.28.151:8080;
}

location / {
root html;
index index.html index.htm; //在这后面添上下面两句
#添加反向代理,
proxy_pass http://tomcat;
proxy_set_header Host $host;
}

6)保存退出,重启服务
pkill -HUP nginx

7)也可源文件启动
/usr/local/nginx/sbin/nginx

扩展:做个链接,将此加入环境变量中。(以后无需去对应目录下启动)
ln -s /usr/local/nginx/sbin/* /usr/bin/

8)测试:
服务器ip:80 与 服务器ip:8080,显示的结果是一样的,则证明nginx以及成功为tomcat做了反向代理!!
在这里插入图片描述
在这里插入图片描述

部署JAVA的WAR包(网站打包)

1)在 /usr/local/tomcat/conf/server.xml 下添加

[root@localhost conf]# vim /usr/local/tomcat/conf/server.xml
2)将war包拷贝到webapps目录中(这里需要自己上传war包)
cp -a /root/test.war /usr/local/tomcat/webapps/
3)删除网站的ROOT目录 #删除是为了网站安全
[root@localhost conf]# cd /usr/local/tomcat/webapps
[root@localhost webapps]# ls
docs examples host-manager manager ROOT test test.war
[root@localhost webapps]# rm -rf ROOT/
4)重启tomcat服务
[root@localhost webapps]# /usr/local/tomcat/bin/catalina.sh stop
[root@localhost webapps]# /usr/local/tomcat/bin/catalina.sh start
5)使用客户端去访问nginx服务的端口
在这里插入图片描述
ok,失败了。具体原因后续补充。

多个tomcat实例(拓展)

1)先将tomcat停止
/usr/local/tomcat/bin/catalina.sh stop
2)创建一个副本叫tomcat-2,删除里面的/log
cd /usr/local/
cp -a tomcat/ tomcat-2
rm -rf tomcat-2/logs/*
3)修改tomcat-2文件中的server.xml文件,把shutdown 和 Connector 端口修改为另外的。

   <Server port="8006" shutdown="SHUTDOWN">

   <Connector port="8090" protocol="HTTP/1.1"
               connectionTimeout="20000"
               URIEncoding="utf-8" 
                redirectPort="8443" />

4)修改startup.sh 和 shutdown.sh 文件
在第一行均加入
export CATALINA_HOME=/usr/local/tomcat-2

5)启动tomcat
/usr/local/tomcat/bin/catalina.sh start
/usr/local/tomcat-2/bin/catalina.sh start

6)测试,结果肯定是两个不同的端口均访问的相同的网页,做了负载均衡。但我war包存在问题,因此后续补充!!
因为端口是成功显示的,可能网站配置存在问题
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值