欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

CentOS7下部署java+tomcat+mysql项目及遇到的坑

程序员文章站 2022-05-22 22:02:18
CentOS 7 下安装部署java+tomcat+mysql 前置:CentOS7安装:https://jingyan.baidu.com/article/b7001fe1d1d8380e7382dd72.html 附常用命令合集:https://www.cnblogs.com/icebutter ......

centos 7 下安装部署java+tomcat+mysql

 

前置:centos7安装:

 

附常用命令合集:

 

一. java

1.1先检查是否有自带jdk

rpm -qa | grep -i java

若有输出,则删除

# rpm -e --nodeps 后面跟jdk的文件名

 

 

1.2 java配置

1、进入或新建到一个目录,用于存放下载的java包

# cd /usr/local/lib

# mkdir java

# cd java

 

2、解压后的jdk1.8放至该目录下,全路径:/usr/local/lib/java/jdk1.8.0_181

3、设置jdk环境变量

这里采用全局设置方法,就是修改etc/profile,它是是所有用户的共用的环境变量

# vi  /etc/profile

4、打开之后在末尾添加

export java_home=/usr/local/lib/java/jdk1.8.0_181

export jre_home=/usr/local/lib/java/jdk1.8.0_181/jre

export classpath=.:$java_home/lib/dt.jar:$java_home/lib/tools.jar:$jre_home/lib:$classpath

export path=$java_home/bin:$path

请记住,在上述添加过程中,等号两侧不要加入空格,不然会出现“不是有效的标识符”,因为source /etc/profile时不能识别多余空格,会理解为是路径一部分。

5、使profile生效

 

# source /etc/profile

6、验证java是否配置成功,万一报错权限不足时,添加权限:

#  chmod +x /usr/local/lib/java/jdk1.8.0_181/bin/java

7、验证java配置成功

# java -version

二. tomcat

1.1tomcat下载安装:

 

CentOS7下部署java+tomcat+mysql项目及遇到的坑

 

 

tar -zxvf apache-tomcat-8.5.43.tar.gz  解压

rm -rf apache-tomcat-8.5.43.tar.gz 删除压缩包

 

建议复制到usr/local下


mv ./apache-tomcat-8.5.43/ /usr/local/tomcat1/(以新建tomcat1文件夹,通过mkdir 命令新建)

 

接下来修改一下tomcat端口号,进入tomcat的conf目录下,修改server.xml文件,通过vi命令打开文件后直接输入/8080检索到端口号的位置,进入编辑模式后修改端口号为8081,如下图所示: 

CentOS7下部署java+tomcat+mysql项目及遇到的坑

 

 

防火墙打开8081端口

firewall-cmd --zone=public --add-port=8081/tcp --permanent

刷新

firewall-cmd

查看已有端口

firewall-cmd --zone=public --list-ports

CentOS7下部署java+tomcat+mysql项目及遇到的坑

 

 

(本人操作时通过命令行打开端口失败,于是通过图形界面打开了端口)

CentOS7下部署java+tomcat+mysql项目及遇到的坑

 

 

接下来我们就可以尝试启动tomcat了,切换到tomcat的bin目录输入启动命令:

./startup.sh

看到如下提示就说明已经启动成功:

 

CentOS7下部署java+tomcat+mysql项目及遇到的坑

 

 

 

一. mysql

[root@localhost~]#wget -i -c

http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

 

  使用上面的命令就直接下载了安装用的yum repository,大概25kb的样子,然后就可以直接yum安装了。

 

[root@localhost~]#yum -y install

mysql57-community-release-el7-10.noarch.rpm

 

  之后就开始安装mysql服务器。

 

[root@localhost ~]# yum -y install mysql-community-server

等候稍长时间,若安装过慢请自行下载安装包,200m左右

 

 

 

以上安装完毕

--------------------------------------------------------------------

下面开始配置

 

首先启动mysql

 

[root@localhost ~]# systemctl start  mysqld.service

 

  查看mysql运行状态,运行状态如图:

 

[root@localhost ~]# systemctl status mysqld.service

 

 CentOS7下部署java+tomcat+mysql项目及遇到的坑

 

 

此时mysql已经开始正常运行,不过要想进入mysql还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:

[root@localhost ~]# grep "password" /var/log/mysqld.log

 

CentOS7下部署java+tomcat+mysql项目及遇到的坑

 

 

 如下命令进入数据库:

[root@localhost ~]# mysql -uroot -p

 输入初始密码,此时不能做任何事情,因为mysql默认必须修改密码之后才能操作数据库:

mysql> alter user 'root'@'localhost' identified by 'new password';

  这里有个问题,新密码设置的时候如果设置的过于简单会报错:

 原因是因为mysql有密码设置的规范,具体是与validate_password_policy的值有关:

CentOS7下部署java+tomcat+mysql项目及遇到的坑

 

 

密码的长度是由validate_password_length决定的,而validate_password_length的计算公式是:validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)

我的是已经修改过的,初始情况下第一个的值是on,validate_password_length是8。可以通过如下命令修改:

mysql> set global validate_password_policy=0;

mysql> set global validate_password_length=1;

  设置之后就是我上面查出来的那几个值了,此时密码就可以设置的很简单,例如1234之类的。到此数据库的密码设置就完成了。

  但此时还有一个问题,就是因为安装了yum repository,以后每次yum操作都会自动更新,需要把这个卸载掉:

[root@localhost ~]#yum -y remove

mysql57-community-release-el7-10.noarch

  此时才算真的完成了。

一. 部署

 

此处简单描述流程,具体指令大家可以借此机会熟练一下

 

  1. 将程序拷贝到webapps下
  2. 导入sql文件(可在别的电脑用navicat导入)
  3. 修改数据库地址(若需要redis,也要修改,redis的安装请自行百度)
  4. 启动tomcat
  5. 成功进入登陆界面
  6. 输入账号密码

 

 

  1. 发现没有反应
  2. f12 检查后发现500错误,查看tomcat日志,发现报错

 CentOS7下部署java+tomcat+mysql项目及遇到的坑

 

 

  1. 百度错误代码,得知解决方案

CentOS7下部署java+tomcat+mysql项目及遇到的坑