前言:
环境准备:虚拟机,xshell,mysql,tomcat,jdk,centos
虚拟机安装centos可以参考博客:虚拟机安装centos
一,安装jdk
打开xshell
点击cftp,如果没有安装,就先安装cftp;
会弹出一个界面,输入用户名和密码,用户名默认为root,密码就是我们刚刚安装虚拟机的时候设置的密码;
将jdk的安装包导入linux;
将tomcat导入Linux中:
将mysql压缩包导入Linux中
将jdk,tomcat,mysql进行解压,路径就是去看xftp双击之后,复制的话就避免出错
类似于这样;
tar -zxvf 压缩文件名.tar.gz
注意:注:
tar包属于打包文件,Unix和类Unix系统上的压缩打包工具,可以将多个文件打包为一个文件,文件后缀为tar
tar.gz包是压缩文件,经过gzip压缩后的tar文件,形成tar.gz包,扩展名为tar.gz
两种文件的用途不同,tar.gz一般情况下是源代码安装包,需要先解压再经过编译、安装才能执行。tar包最初设计目的是将文件备份到磁带上(tape archive),因此得名,一般用于文件备份。
参数说明:
z:指明压缩文件为gzip压缩
x:表示执行解压,如果使用c参数则表示压缩
v:显示详细的处理过程
f:要操作的文件名
-C:解压到指定目录,如:tar -zxf abc.tar.gz -C /root 将abc.tar.gz解压到root目录去。
自己安装的jdk适合安装在哪里?
自己安装的软件一般会放在/usr/local下,该目录与windows中的C:\Program Files类似。
其他常用目录结构:
/usr:系统级目录,类似于c:/windows
/usr/lib: 系统级目录,类型与c:/windows/system32
/opt: 用户级目录,可以近似的理解为d:/software,opt为可选的意思,一般用来安装第三方软件,或者是一些服务程序的安装
解压
解压jdk,回车
解压tomcat,回车
解压mysql
安装jdk
在/usr/local下创建java目录:
mkdir /usr/local/java
将jdk解压到/usr/local/java目录:
tar -zxf jdk-8u151-linux-x64.tar.gz -C /usr/local/java
4)配置环境变量
运行:
vi /etc/profile
在配置文件中加入java环境变量:
export JAVA_HOME=JDK解压路径
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
保存,让新设置的环境变量生效:
source /etc/profile
检查java安装是否成功
java -version
安装tomcat
1)将tomcat解压到/opt下
tar -zxf apache-tomcat-8.5.20.tar.gz -C /opt
2)配置环境变量
vi /etc/profile
加入TOMCAT_HOME环境变量:
export TOMCAT_HOME=Tomcat解压路径
3)启动tomcat
来到安装的tomcat的bin目录,执行如下命令:
./startup.sh
tomcat启动后并不能立即访问,原因是8080端口被防火墙阻止了,可以关闭防火墙(不建议),或将8080端口配置到防火墙中。
#将8080端口加入到防火墙
firewall-cmd --zone=public --add-port=8080/tcp --permanent
#reload防火墙规则
firewall-cmd --reload
修改防火墙之后,访问http://192.168.62.131:8080/,如果看到tomcat的管理页面,则说明成功。
4)创建启动脚本
将tomcat目录下bin中的catalina.sh拷贝到/etc/init.d下,重命名为tomcat,为所有用户增加可执行权限。
#将catalina.sh拷贝到init.d目录下
cp /opt/apache-tomcat-8.5.20/bin/catalina.sh /etc/init.d
#在init.d目录下为catalina.sh重命名
mv catalina.sh tomcat
#为所有用户赋可执行权限
chmod a+x tomcat
#编辑tomcat
vi /etc/init.d/tomcat
#进入编辑界面,加入如下内容,注意根据自己的环境配置
#!/bin/sh
JAVA_HOME=/usr/local/java/jdk1.8.0_151
CATALINA_HOME=/opt/apache-tomcat-8.5.20
#测试启动脚本
service tomcat status #查看服务状态,q键退出
service tomcat start #启动服务
service tomcat restart #重启服务
service tomcat stop #停止服务
service --status-all #查看服务列表 q键退出
注意:
5) 配置tomcat随服务器自动启动
#编辑/etc/init.d/tomcat
vi /etc/init.d/tomcat
#加入如下注释,注意是注释,#
#chkconfig: 23456 10 90
#description: tomcat service
如图:
chkconfig: 2345 10 90
其中2345 表示这4个运行级别会开机自启, 10是启动优先级,90是关闭优先级
使用chkconfig --add命令添加服务:
chkconfig -add tomcat
完成后即可开机自启。
重启之后还能看到tomcat这个页面,说明成功;
mysql的安装
1) 查看系统中是否存在mariadb,如果存在则安装mysql时会有冲突,需要先卸载mariadb
# 查看是系统中是否存在mariadb
rpm -qa|grep mariadb
# 卸载mariadb
rpm -e --nodeps mariadb
注意:查看是否存在mariadb的时候,复制最后那一串,在进行卸载
2)创建mysql用户及用户组
#创建用户组
groupadd mysql
#创建用户
useradd mysql -g mysql
3) 将离线安装包传入liunx,并解压,注意版本号是否一致
tar -xvf mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar
4) 安装
rpm -ivh mysql-community-common-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.23-1.el7.x86_64.rpm
//安装之前,请先检查是否安装libaio,如果未安装请先安装之后再装server源
rpm -qa|grep libaio
rpm -ivh mysql-community-server-5.7.23-1.el7.x86_64.rpm
安装过程是这样:
5) 初始化,启动
# 初始化数据库
mysqld --initialize
#启动数据库服务
systemctl start mysqld
如果启动失败,可能是因为/var/lib/mysql没有权限导致的。可以通过查看/var/lib下的mysql目录的所属用户及用户组予以确认。如果mysql目录的所属用户及用户组不是mysql,处理方法如下:
# 更改mysql数据库目录的所属用户及用户组
chown mysql:mysql /var/lib/mysql -R
# mysql目录授权
cd /var/lib
chmod -R 777 mysql
6) 启动成功后修改mysql的登录密码
查看安装时生成的随机密码:
grep 'password' /var/log/mysqld.log
运行结果如下:
使用随机密码登录
mysql -u root -p
#注入随机密码
重置密码:
set password = password('密码')
7) 授权外网登录权限
grant all privileges on *.* to root@'%' identified by '密码';
all privileges: 表示所有权限
. 表示所有数据库的所有表。
8)刷新权限
flush privileges;
9)在防火墙规则中加入3306端口
#配置防火墙规则
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
#关闭防火墙,不建议使用
systemctl stop firewalld.service
systemctl disable firewalld.service
我们链接成功了,mysql也就安装完成;
在线安装
1)下载并安装MySQL官方的 Yum Repository
[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
2) yum安装
[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
3) 开始安装MySQL服务器
[root@localhost ~]# yum -y install mysql-community-server
4) 启动数据库
[root@localhost ~]# systemctl start mysqld.service
5)查看数据库状态
[root@localhost ~]# systemctl status mysqld.service
6)登录数据库
首先获取安装mysql时的初始密码:
[root@localhost ~]# grep "password" /var/log/mysqld.log
2020-09-15T17:01:57.020172Z 1 [Note] A temporary password is generated for root@localhost: dsTSIKb2yo:9
dsTSIKb2yo:9即为初始密码,
使用初始密码登录,然后修改为自己的密码, mysql默认对密码是有要求的,不能简单的设置为1234等,自己的测试库不用太复杂,可以关闭密码检查
mysql -u root -p
......
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
7)赋值权限
mysql> grant all privileges on *.* to root@'%' identified by '123456';
mysql> flush privileges;
mysql> exit
8) 防火墙等相关设置,请大家参照8.1部分的描述。
9)自动启动
#服务状态
systemctl status mysqld.service
#开机启动
systemctl enable mysqld.service
这一步操作完成之后安装nginx
安装nginx
有两种方式,一种是先下载Nginx,在离线安装; 第二种是yum方式安装。 这里采用离线安装方式, 如果希望使用yum方式安装,可以参考Nginx官方文档。
离线安装步骤:
1) gcc安装
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装
yum install gcc-c++
2)PCRE pcre-devel 安装
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。
yum install -y pcre pcre-devel
3) zlib 安装
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库
yum install -y zlib zlib-devel
4)OpenSSL 安装
OpenSSL 套接字层密码库,有主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库
yum install -y openssl openssl-devel
5) wget下载Nginx
wget -c https://nginx.org/download/nginx-1.18.0.tar.gz
6)解压
tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
7)配置安装
# 使用默认配置,命令在nginx目录中执行,执行完成会产生MakeFile等文件
./configure
#编译并安装
make
make install
8)启动与停止
#到命令所在目录
cd /usr/local/nginx/sbin/
#启动
./nginx
#停止,强制直接关停
./nginx -s stop
#等待nginx进程处理完任务再停止
./nginx -s quit
#重新加载配置文件
./nginx -s reload
9)配置Nginx自动启动
vim /etc/rc.d/rc.local
修改/etc/rc.d/rc.local的权限:
chmod 755 rc.local
部署:
在部署前请先将后台服务的数据库连接修改为已安装配置好的mysq服务器的ip地址
后台服务的部署,非常简单,之间将war包上传至tomcat的webapps目录下即可。
)修改前端程序
注:在部署前端程序时,需要先修改后台server的ip地址配置。
2)将前台程序打包
npm run build
3) 将打包好的前端程序上传到Nginx服务器
4) nginx.conf配置
vim /usr/local/nginx/conf/nginx.conf
重新加载配置文件
[root@localhost sbin]# pwd
/usr/local/nginx/sbin
[root@localhost sbin]# ls
nginx
[root@localhost sbin]# ./nginx -s reload
配置完成,启动mysql,tomcat1,tomcat2,nginx等服务进行测试
成功之后访问网址也就是虚拟机的IP地址;如果部署成功,则可以显示以下界面
配置不成功,检查配置文件的ip是否与主机虚拟机的IP是否一致;