Linux集成环境部署 mysql + tomcat + redis
Posted 七月的小尾巴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux集成环境部署 mysql + tomcat + redis相关的知识,希望对你有一定的参考价值。
Linux集成环境部署 mysql + tomcat + redis
MySQL安装和配置
MySQL是一个关系型数据库管理系统,由瑞典 Mysql AB公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一。
安装系统:5.7版本
-
链接:https://pan.baidu.com/s/1m6uiehfZUBGJdnpM88EVWA 密码:sk3i
将群文件中的mysql-community-5.7- Linux -rpm.zip文件上传到Linux下的/usr/local/src目录下(其他目录也可以)
使用 scp命令将MySQL安装包上传到Linux环境
scp /Users/shileizhou/Desktop/mysql-community-5.7-Linux.zip root@114.55.34.236:/usr/local/src // 格式 scp + 本地文件存放路径 root@服务器IP:服务器存放文件路径
-
对压缩包进行解压 unzip mysql-community-5.7-rpm.zip,里面包含 4 个安装包
-
分别执行以下命令安装四个包(严格按照顺序执行)
rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm --force --nodeps rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm --force --nodeps rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm --force --nodeps rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm --force --nodeps
-
启动 MySQL
在启动之前,执行 ps -ef|grep mysql 命令查看进程是否存在
systemctl start mysqld
启动成功后,执行 ps -ef|grep mysql 命令查看进程是否存在
-
查找生成的临时密码,并记录下来,如下图,复制localhost:后面的就是密码
注意不要复制到空格,第一次复制就是因为带空格就复制失败了
grep 'temporary password' /var/log/mysqld.log
-
登录 MySQL
mysql -u root -p
粘贴刚才记录的临时密码
-
修改密码(注意密码长度大于 8 位,包含大小写字母+特殊符号+数字),以分号结尾
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Tester#123';
-
设置权限,允许用户远程访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Testfan#123' WITH GRANT OPTION;
-
退出mysql ,exit
注意:
如果使用连接工具,如navicat连接mysql的时候,连接失败了,可能是因为防火墙未关闭,可以输入systemctl stop firewalld.service
关闭防火墙。
Tomcat 安装配置
-
安装tomcat安装包,将安装包传到linxu环境中,使用
unzip
命令解压,tomcat无需再次安装,直接解压即可。 -
进入到bin目录下,给所有的文件配置操作权限,此时我们可以看到,文件是没有操作权限的
-
输入
chmod +x ./*
命令。配置权限
- 输入
./startup.sh
启动tomcat,启动之后,在输入ps -ef|grep tomcat
查看进程,我们可以看到,已经启动成功了
- 下面我们再通过服务器的IP+端口号进行访问,可以正常访问tomcat就说明启动成功了。
Tomcat环境部署-单实例部署
- 使用
cd /home/service/apache-tomcat-8.5.38/conf
命令进入到tomcat的conf目录下,然后输入vi server.xml
修改 server.xml 的文件
-
修改tomcat的conf/server.xml文件,在标签内,添加如下配置
<Context path="/tester" docBase="/home/app/tester" debug="0" reloadable="true"/>
注意:红色部分改为自己项目的目录1、 path="/tester",定义访问项目的默认路径,也可以为空,为空的话,则表示直接输入host即可访问项目
2、docBase="/home/app/tester" ,存放项目的路径地址,这里根据自己项目的存放地址进行更改
1.进入到 /home/apps/pinter/WEB-INF/classes
目录下, vi application.properties
打开配置文件,修改原先的数据库密码,然后保存。
-
cd /home/service/apache-tomcat-8.5.38/bin,进到bin目录下,执行命令: ./startup.sh & tail -f …/logs/catalina.out
注意:第一次启动tomcat的时候,没有catalina.out文件,只需要执行./startup.sh
-
查看控制台日志,项目是否启动成功
-
浏览器访问项目进行验证,http://{ip}:{port}/index
Tomcat多实例部署
通常我们在公司,因为没有那么多服务器资源,很多测试项目都是部署到同一台服务器上面,所以这里也记录一下,在Linux环境下,如果部署多台项目。
- 先将项目放到 Linux 上某个目录下,如/home/app
2、 项目所需要的数据库信息(数据库必须启动,且已经导入了sql),进入到项目距的 /WEB-INF/classes文件中,修改数据库的连接信息, vi jdbc.properties
修改密码
3、cd /home/service
进入到tomcat中,我们需要在复制一个tomcat,这样做的原因是比如说我们一个项目挂了,如果共用一个tomcat,这样会导致另外一个项目也受到影响。
因为同时存在多个项目,因此我们对tomcat进行了重命名,后面备注了是某个项目的tomcat。
4、进入到复制的tomcat-oa下方,进入conf文件下,修改server.xml
更改项目的存放路径和项目的路径,然后保存
- 再次进入bin目录下,输入
./startup.sh & tail -f ../logs/catalina.out
启动项目
-
启动之后,抛了异常,这个是正常的,因为我们的端口地址被占用了,报错中我们可以看到,会有三个地方抛了这个异常,分别是8009、8005、8080三个端口被占用,因此我们要将tomcat的端口修改一下
-
修改 tomcat-oa 的 conf/server.xml 文件
a> 将 8005 改为其他的(我这边是将原先的端口在原基础上加10)
b> <Connector port=“8080” protocol="HTTP/1.1 将 8080 改为其他的
c> <Connector port=“8009” protocol=“AJP/1.3” 将 8009 改为其他的
-
修改之后,再次进入到tomcat的bin目录下,输入
./startup.sh & tail -f ../logs/catalina.out
命令,启动项目,可以看到日志中,项目已经启动成功了
避坑指南
1、如果在启动过程中,失败遇到问题,可以先排查一下,是不是tomcat的进程被占用,可以输入ps -ef|grep tomcat
查看进程,如果被占用,则输入kill -9 PID
杀进程
2、如果项目部署成功,但是无法访问,可以排查是否是因为云服务器安全组中未配置自定义的端口。
Tomcat 访问日志配置
Tomcat 查看日志,是我们在性能测试中非常重要的一部分。tomcat 的 logs 目录下 localhost_access_log.xxxx-xx-xx.txt 里记录了访问 tomcat 的日志。
但是我们这边请求中,并没有展示系统的耗时,我们可以通过配置来让日志信息显示耗时。
修改 tomcat 的 conf 目录下 server.xml 文件,在 pattern 属性里添加%T
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b %T" />
重启 tomcat,查看 access 日志,红框里代表就是请求的耗时,单位秒
nginx 安装配置
Nginx是高性能反向代理服务器,官网数据显示每秒tps在50w左右。
web服务器 :转发请求,nginx,apache,类似于服务员
应用服务器:tomcat,处理动态语言,处理逻辑,类似于厨师。
在安装Nginx之前,我们先来思考一个问题,我们之前部署的了多个项目,但是目前我们部署的项目都是在一台机器里面,但是通常生成环境,一个项目可能部署在集群中的。
之前我们访问项目,都是IP + 端口号 + url格式进行访问,那么用户只能访问一台机器,当我们拥有一个大集群的时候,用户怎么访问呢?用这种访问方式,用户永远只能访问一台机器。那么我们如何将用户的访问平均分发到每台机器上呢?
下面我们来看一下负载均衡,我们看 一下 Nginx + Tomcat常见架构图。
Nginx 安装
安装Nginx前需要安装 pcre、zlib、OpenSSl等模块,手动安装比较繁琐,使用yum安装比较方便,具体安装步骤见 word文档。
- 默认情况下 CentOS7 中没有 nginx 的下载源,先手动添加官方源
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-
0.el7.ngx.noarch.rpm
- 安装 Nginx
yum install -y nginx
- ngnix 默认安装到 etc的根目录下,我们可以通过 cd/ect/ngnix 进入文件,如果可以正常打开文件,则说明已经安装成功了。
以上是关于Linux集成环境部署 mysql + tomcat + redis的主要内容,如果未能解决你的问题,请参考以下文章