CentOS7下部署java+tomcat+mysql项目及遇到的坑
CentOS 7 下安装部署java+tomcat+mysql
前置:CentOS7安装:https://jingyan.baidu.com/article/b7001fe1d1d8380e7382dd72.html
附常用命令合集:https://www.cnblogs.com/icebutterfly/p/9494445.html
一. 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.1:tomcat下载安装:
http://mirror.bit.edu.cn/apache/tomcat/

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,如下图所示:

防火墙打开8081端口
firewall-cmd --zone=public --add-port=8081/tcp --permanent
刷新
firewall-cmd
查看已有端口
firewall-cmd --zone=public --list-ports

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

接下来我们就可以尝试启动tomcat了,切换到tomcat的bin目录输入启动命令:
./startup.sh
看到如下提示就说明已经启动成功:

一. 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

此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:
[root@localhost ~]# grep "password" /var/log/mysqld.log

如下命令进入数据库:
[root@localhost ~]# mysql -uroot -p
输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
这里有个问题,新密码设置的时候如果设置的过于简单会报错:
原因是因为MySQL有密码设置的规范,具体是与validate_password_policy的值有关:

密码的长度是由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
此时才算真的完成了。
一. 部署
此处简单描述流程,具体指令大家可以借此机会熟练一下
- 将程序拷贝到webapps下
- 导入sql文件(可在别的电脑用Navicat导入)
- 修改数据库地址(若需要redis,也要修改,redis的安装请自行百度)
- 启动tomcat
- 成功进入登陆界面
- 输入账号密码
- 发现没有反应
- F12 检查后发现500错误,查看tomcat日志,发现报错

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

CentOS7下部署java+tomcat+mysql项目及遇到的坑的更多相关文章
- tomcat下部署了多个项目启动报错java web error:Choose unique values for the 'webAppRootKey' context-param in your web.xml files
应该是tomcat下部署了多个项目且都使用log4j. <!--如果不定义webAppRootKey参数,那么webAppRootKey就是缺省的"webapp.root". ...
- Linux CentOS下部署Java Web项目
本文讲解如何在Linux CentOS下部署Java Web项目的步骤. 一.环境准备: (1)Linux CentOS (2)apache-tomcat-9.0.10 (3)XShell 二.启动t ...
- Centos7下部署两套python版本并存
Centos7下部署两套python版本并存 需求说明:centos7.2系统的开发机器上已经自带了python2.7版本,但是开发的项目中用的是python3.5版本,为了保证Centos系统的 ...
- centos7下Maven Java selenium3环境搭建
centos7下Maven Java selenium3环境搭建 一.Jdk安装 我这里用的是open-jdk. [adawang@localhost src]$ sudo yum search op ...
- Centos7.6部署rsyslog+loganalyzer+mysql日志管理服务器
参考来自: the_script :https://yq.aliyun.com/articles/675198 名山.深处:https://www.cnblogs.com/skychenjiajun/ ...
- ubuntu docker安装与部署java,mysql,nginx镜像
docker 安装与部署java,mysql,nginx docker 配置 安装docker $ sudo apt-get remove docker docker-engine docker.io ...
- centos7下使用yum安装mysql
CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1. 下载mysql的repo源 wget http://repo.mysql.com/m ...
- CentOS7下部署rsync服务
说明: 在CentOS7下部署rsync服务和在CentOS6上部署基本上是一样的,只是CentOS7自带了rsyncd启动脚本,由systemd管理而已. rsync服务端配置 [root@SERV ...
- linux(centos 7)下安装JDK,Tomcat,mysql 运行Maven 项目
一.在Linux中安装JDK 1. 将JDK上传到root下(任何位置均可以). 如图: 2. 用解压命令解压JDK tar -xvf (此处为jdk文件名) 如果是rpm包,执行rpm -i jdk ...
随机推荐
- Linux的awk命令详解
awkawk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,默认以空格为分隔符将每行切片,切开的部分再 ...
- 【数据结构】之顺序表(C语言描述)
顺序表是线性表的一种,它将元素存储在一段连续的内存空间中,表中的任意元素都可以通过下标快速的获取到,因此,顺序表适合查询操作频繁的场景,而不适合增删操作频繁的场景. 下面是使用 C语言 编写的顺序表的 ...
- IO到NIO的一个转变
本内容来源:Jack视频讲解和自己的一个理解. 1.故事还得从网络模型或者IO开始聊起 2.你有想过传统IO真正存在的问题吗? 3.如果你是设计者,IO可以怎样改进? 4.NIO原理分析以及代码实现 ...
- 前后台分离的 NET Core 通用权限管理系统
前言 从事软件开发这个行业现在已经有十几年了,项目无论大小权限认证.授权模块总是或多或少有功能需求的,这一块费时费力但是又存在于后台,使用最多的可能是运维人员所以处于出力不讨好的尴尬地位,每次有新的项 ...
- 上手spring boot项目(四)之springboot如何返回json数据
在springboot整合thymeleaf中,经常会在HTML页面中接收来自服务器的json数据,然后处理json数据并在页面上渲染.那么如何在服务器中返回json类型的数据呢? 1.使用@Resp ...
- 2019 ICPC南昌邀请赛网络赛比赛过程及题解
解题过程 中午吃饭比较晚,到机房lfw开始发各队的账号密码,byf开始读D题,shl电脑卡的要死,启动中...然后听到谁说A题过了好多,然后shl让blf读A题,A题blf一下就A了.然后lfw读完M ...
- HDU3870-Caught these thieves(最小割->偶图->最短路问题)
A group of thieves is approaching a museum in the country of zjsxzy,now they are in city A,and the m ...
- ssh远程管理服务的介绍
第6章 远程管理的介绍 6.1 服务的概念介绍 6.1.1 ssh和telnet服务的相同和不同点 ssh: 服务端口号为22 在数据传输的时候是加密的传输 一般在互联网中使用,可以使用root账号进 ...
- 【数据结构05】红-黑树基础----二叉搜索树(Binary Search Tree)
目录 1.二分法引言 2.二叉搜索树定义 3.二叉搜索树的CRUD 4.二叉搜索树的两种极端情况 5.二叉搜索树总结 前言 在[算法04]树与二叉树中,已经介绍过了关于树的一些基本概念以及二叉树的前中 ...
- Linux-tac、diff、tree、echo、seq、重定向
1.tac 方向输出文件,最后一行放在第一行的位置输出 2.diff 比较文件的内容 vimdiff:在vim中比较 3. tree 树状图显示目录内容 -d 只显示目录 -L 树状 目录 ...