linux系统tomcat部署SpringBoot+vue前后端分离项目准备工作

前提条件已经在虚拟机上安装好linux系统了。

第一步:下载需要的软件,建议自己去官网下载,以下为本人已经下载好的放在网盘的。

  jdk:

  tomcat:

  mysql:

第二步:将jdk、tomcat、mysql上传到linux中。

  1、可以通过rz命令直接选择上传 

[root@localhost myfile]$rz

 

 

   2、通过sftp上传文件如下图和代码

sftp> cd /opt/myfile/
sftp> ls
jdk-8u271-linux-aarch64.tar.gz
sftp> put E:\linux\tomcat\apache-tomcat-8.5.61.tar.gz
Uploading apache-tomcat-8.5.61.tar.gz to /opt/myfile/apache-tomcat-8.5.61.tar.gz
  100% 10246KB  10246KB/s 00:00:01     
E:/linux/tomcat/apache-tomcat-8.5.61.tar.gz: 10492067 bytes transferred in 1 seconds (10246 KB/s)

 

 

 

  3、通过scp命令将文件上传,我用的是cmder,通过scp 文件路径 用户名@ip:/路径  将本地E:\linux\mysql\mysql-5.5.62-linux-glibc2.12-x86_64.tar.gz 上传到192.168.199.214的/opt/myfile/路径中,需要输入yes确认以及输入admin对应的命令。

E:\linux\mysql
λ scp mysql-5.5.62-linux-glibc2.12-x86_64.tar.gz admin@192.168.199.214:/opt/myfile
The authenticity of host '192.168.199.214 (192.168.199.214)' can't be established.
ECDSA key fingerprint is SHA256:drQxf1K1d6NNTnDDA0PiOUHwBNmIThzDyloHrFfmWx4.
Are you sure you want to continue connecting (yes/no)?
Warning: Permanently added '192.168.199.214' (ECDSA) to the list of known hosts.
admin@192.168.199.214's password:
mysql-5.5.62-linux-glibc2.12-x86_64.tar.gz                                  100%  190MB  94.8MB/s   00:02

E:\linux\mysql

  从linux中想window中获取文件时,只需要将linux系统的路径写在前边即可,如下代码

scp admin@192.168.199.214:/opt/myfile/1.txt E:\linux\mysql\

  4、通过挂载U盘的方式将文件上传。或者xftp等各种文件,就不再一一列举。

第二步:开始安装jdk,一般linux都会自带,但是网上百度说不建议使用,据说是少东西。

  1、通过命令确定是否存在自带的jdk,

[root@localhost myfile]$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)

  2、通过命令:yum remove *openjdk*  进行卸载,最后再次通过java -version 进行确认

[root@localhost myfile]$yum remove *openjdk*
已加载插件:langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
正在解决依赖关系
--> 正在检查事务
---> 软件包 java-1.8.0-openjdk.x86_64.1.1.8.0.161-2.b14.el7 将被 删除
--> 正在处理依赖关系 java >= 1.5,它被软件包 jline-1.0-8.el7.noarch 需要
--> 正在处理依赖关系 java-1.8.0-openjdk,它被软件包 icedtea-web-1.7.1-1.el7.x86_64 需要
---> 软件包 java-1.8.0-openjdk-headless.x86_64.1.1.8.0.161-2.b14.el7 将被 删除
--> 正在检查事务
---> 软件包 icedtea-web.x86_64.0.1.7.1-1.el7 将被 删除
---> 软件包 jline.noarch.0.1.0-8.el7 将被 删除
--> 正在处理依赖关系 jline,它被软件包 rhino-1.7R5-1.el7.noarch 需要
--> 正在检查事务
---> 软件包 rhino.noarch.0.1.7R5-1.el7 将被 删除
--> 解决依赖关系完成

依赖关系解决

================================================================================
 Package                     架构   版本                    源             大小
================================================================================
正在删除:
 java-1.8.0-openjdk          x86_64 1:1.8.0.161-2.b14.el7   @anaconda/7.5 501 k
 java-1.8.0-openjdk-headless x86_64 1:1.8.0.161-2.b14.el7   @anaconda/7.5 103 M
为依赖而移除:
 icedtea-web                 x86_64 1.7.1-1.el7             @anaconda/7.5 2.3 M
 jline                       noarch 1.0-8.el7               @anaconda/7.5  72 k
 rhino                       noarch 1.7R5-1.el7             @anaconda/7.5 1.1 M

事务概要
================================================================================
移除  2 软件包 (+3 依赖软件包)

安装大小:107 M
是否继续?[y/N]:y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在删除    : icedtea-web-1.7.1-1.el7.x86_64                              1/5 
  正在删除    : rhino-1.7R5-1.el7.noarch                                    2/5 
  正在删除    : jline-1.0-8.el7.noarch                                      3/5 
  正在删除    : 1:java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64             4/5 
  正在删除    : 1:java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64    5/5 
  验证中      : 1:java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64             1/5 
  验证中      : 1:java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64    2/5 
  验证中      : rhino-1.7R5-1.el7.noarch                                    3/5 
  验证中      : icedtea-web-1.7.1-1.el7.x86_64                              4/5 
  验证中      : jline-1.0-8.el7.noarch                                      5/5 

删除:
  java-1.8.0-openjdk.x86_64 1:1.8.0.161-2.b14.el7                               
  java-1.8.0-openjdk-headless.x86_64 1:1.8.0.161-2.b14.el7                      

作为依赖被删除:
  icedtea-web.x86_64 0:1.7.1-1.el7           jline.noarch 0:1.0-8.el7          
  rhino.noarch 0:1.7R5-1.el7                

完毕!
[root@localhost myfile]$java -version
bash: /usr/bin/java: 没有那个文件或目录

  3、开始安装自己上传的jdk

  创建安装目录,将jdk压缩包复制过去,解压

[root@localhost myfile]$mkdir /usr/java
[root@localhost myfile]$cp jdk-8u271-linux-aarch64.tar.gz /usr/java/
[root@localhost myfile]$cd /usr/java/
[root@localhost java]$ls
jdk-8u271-linux-aarch64.tar.gz
[root@localhost java]$tar -xvf jdk-8u271-linux-aarch64.tar.gz

  通过命令:vim /etc/profile 配置环境变量,在最后面添加标红加粗的代码

[root@localhost java]$vim /etc/profile
# /etc/profile

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc

# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.

pathmunge () {
case ":${PATH}:" in
*:"$1":*)
;;
*)
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
esac
}


if [ -x /usr/bin/id ]; then
if [ -z "$EUID" ]; then
# ksh workaround
EUID=`/usr/bin/id -u`
UID=`/usr/bin/id -ru`
fi
USER="`/usr/bin/id -un`"
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
fi

# Path manipulation
if [ "$EUID" = "0" ]; then
pathmunge /usr/sbin
pathmunge /usr/local/sbin
else
pathmunge /usr/local/sbin after
pathmunge /usr/sbin after
fi

HOSTNAME=`/usr/bin/hostname 2>/dev/null`
HISTSIZE=1000
if [ "$HISTCONTROL" = "ignorespace" ] ; then
export HISTCONTROL=ignoreboth
else
export HISTCONTROL=ignoredups
fi

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL

# By default, we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
umask 002
else
umask 022
fi

for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do
if [ -r "$i" ]; then
if [ "${-#*i}" != "$-" ]; then
. "$i"
else
. "$i" >/dev/null
fi
fi
done

unset i
unset -f pathmunge

export JAVA_HOME=/usr/java/jdk1.8.0_271
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib
export JAVA_HOME PATH CLASSPATH

最后记得通过命令:source /etc/profile  使设置生效,生效后,通过java -version 确认是否成功安装。

[root@localhost java]$source /etc/profile
[root@localhost java]$java -version
bash: /usr/java/jdk1.8.0_271/bin/java: 无法执行二进制文件

报错:无法执行二进制文件,是由于jdk为32位的但是linux是64位的所以需要去官网重新下载64位的.

最终结果如下就代表安装好了

[root@localhost java]$java -version
java version "1.8.0_271"
Java(TM) SE Runtime Environment (build 1.8.0_271-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.271-b09, mixed mode)

第三步:安装tomcat

  1、创建一个tomcat文件夹,解压,配置环境变量,注意标红的位置。还是需要通过命令:source /etc/profile  是修改后的文件生效 

[root@localhost tomcat]$mkdir /usr/tomcat
[root@localhost tomcat]$cp /opt/myfile/apache-tomcat-8.5.61.tar.gz /usr/tomcat/
[root@localhost tomcat]$tar -xvf apache-tomcat-8.5.61.tar.gz 
[root@localhost tomcat]$vi /etc/profile
# /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_271
export CATALINA_HOME=/usr/tomcat/apache-tomcat-8.5.61
export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib:$CATALINA_HOME/lib
export JAVA_HOME PATH CLASSPATH CATALINA_HOME
[root@localhost tomcat]$source /etc/profile

  2、完成操作后就可以查看tomcat版本,并且启动,测试连接

[root@localhost apache-tomcat-8.5.61]$cd /usr/tomcat/apache-tomcat-8.5.61/bin/
[root@localhost bin]$./version.sh 
Using CATALINA_BASE:   /usr/tomcat/apache-tomcat-8.5.61
Using CATALINA_HOME:   /usr/tomcat/apache-tomcat-8.5.61
Using CATALINA_TMPDIR: /usr/tomcat/apache-tomcat-8.5.61/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_271
Using CLASSPATH:       /usr/tomcat/apache-tomcat-8.5.61/bin/bootstrap.jar:/usr/tomcat/apache-tomcat-8.5.61/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Server version: Apache Tomcat/8.5.61
Server built:   Dec 3 2020 14:03:28 UTC
Server number:  8.5.61.0
OS Name:        Linux
OS Version:     3.10.0-862.el7.x86_64
Architecture:   amd64
JVM Version:    1.8.0_271-b09
JVM Vendor:     Oracle Corporation
[root@localhost bin]$./shutdown.sh 
Using CATALINA_BASE:   /usr/tomcat/apache-tomcat-8.5.61
Using CATALINA_HOME:   /usr/tomcat/apache-tomcat-8.5.61
Using CATALINA_TMPDIR: /usr/tomcat/apache-tomcat-8.5.61/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_271
Using CLASSPATH:       /usr/tomcat/apache-tomcat-8.5.61/bin/bootstrap.jar:/usr/tomcat/apache-tomcat-8.5.61/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
[root@localhost bin]$./startup.sh 
Using CATALINA_BASE:   /usr/tomcat/apache-tomcat-8.5.61
Using CATALINA_HOME:   /usr/tomcat/apache-tomcat-8.5.61
Using CATALINA_TMPDIR: /usr/tomcat/apache-tomcat-8.5.61/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_271
Using CLASSPATH:       /usr/tomcat/apache-tomcat-8.5.61/bin/bootstrap.jar:/usr/tomcat/apache-tomcat-8.5.61/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
[root@localhost bin]$

 

 第四步:安装mysql,参考链接:https://www.cnblogs.com/wendy-0901/p/12673705.html

    

检测系统是否自带Mysql

# rmp -qa|grep mysql

 

 如果有进行强行卸载

# rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64

检测系统是否自带mariadb

# rpm -qa|grep mariadb

 

# rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64

# rpm -e --nodeps mariadb-5.5.64-1.el7.x86_64

# rpm -e --nodeps mariadb-server-5.5.64-1.el7.x86_64

 

 用连接工具将下载的mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz上传到linux服务器/data/software/的目录下面

三、安装

进入/data/software/目录下解压

# tar -zxvf mysql-5.7.28.tar.gz

 

 解压完成后重命名

# mv mysql-5.7.28-linux-glibc2.12-x86_64 mysql-5.7.28
# mv mysql-5.7.28 /usr/local/

 

 检查mysql组和用户是否存在,如果没有则创建

cat /etc/group|grep mysql

groupadd mysql

useradd -r -g mysql mysql  #useradd -r参数表示mysql用户是系统用户,不可用于登录系统

 

安装数据库

创建data目录

cd 

/usr/local/mysql-5.7.28

mkdir data

 

 将/usr/local/mysql-5.7.28的所有者及所属组改为mysql

# chown -R mysql.mysql /usr/local/mysql-5.7.28

 

 

 

 

 在/usr/local/mysql-5.7.28/support-files目录下创建my_default.cnf

# vim my_default.cnf

 

[mysqld]

#设置mysql的安装目录
basedir =/usr/local/mysql-5.7.28
#设置mysql数据库的数据存放目录
datadir = /usr/local/mysql-5.7.28/data
#设置端口
port = 3306

socket = /tmp/mysql.sock
#设置字符集
character-set-server=utf8
#日志存放目录
log-error = /usr/local/mysql-5.7.28/data/mysqld.log
pid-file = /usr/local/mysql-5.7.28/data/mysqld.pid
#允许时间类型的数据为零(去掉NO_ZERO_IN_DATE,NO_ZERO_DATE)
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

 

拷贝,是否覆盖,是

# cp my_default.cnf /etc/my.cnf

 

 

 初始化Mysql

# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.28/ --datadir=/usr/local/mysql-5.7.28/data/

 

 如果报错:./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or 就安装libaio,如果没有则跳过

 yum install libaio

 

 初始化完成之后查看日志

cat /usr/local/mysql-5.7.28/data/mysqld.log,蓝框里的是临时密码

把启动脚本放到开机初始化目录

cp support-files/mysql.server /etc/init.d/mysql

 

 

 启动mysql

service mysql start

 

 

 进入mysql并更改密码

cd /usr/local/mysql-5.7.28

./bin/mysql -u root -p

mysql> set password=password('123456');

mysql> grant all privileges on *.* to root@'%' identified by '123456';

mysql> flush privileges;

添加远程访问权限

mysql> use mysql;

mysql> update user set host='%' where user = 'root';

mysql> flush privileges;

如果更改时报错:ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY',就先查询一下是否已更改,最后执行刷新。

 

 重启mysql生效

service mysql restart

 

注:如果报以下错误

 

 解决方法:修改MySQL的配置文件,

1、windows下找到MySQL的安装目录的my.ini文件,修改其中的配置为不启动ONLY_FULL_GROUP_BY模式

删掉带有ONLY_FULL_GROUP_BY的模式就ok了,如果没有找到my.ini文件。

去系统的隐藏文件夹查看,在某个盘下输入%ProgramData%然后搜索MySQL的my.ini文件

2、linux下找到my.cnf文件,这个是配置MySQL的文件。一般这个文件是在etc文件夹下。

vi my.cnf 编辑这个文件,然后在图示的位置上加入sql_mode =

"STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FO

R_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"

然后重启MySQL服务:service mysql restart

 

 

杂记:

[root@localhost opt]# cd myfile/
[root@localhost myfile]# ls

注意标红的地方,这是文件路径,但是只显示现在所在文件夹的名字,无法显示完全的路径,可以通过root用户进行设置。具体方法如下标红处。

[root@localhost  opt]$vi ~/.bashrc

然后再该文件中最下边一行添加如下代码即可。

export PS1='[\u@\h \W]$'

最后通过source命令将其生效。

source ~/.bashrc

具体符号含义如下

PS1:提示符的设置

  PS1(是数字1而不是字母l),每个版本bash的PS1变量内的特殊符号可能有些小的差异,你可以先man bash 一下。下面是FC4环境下默认的特殊符号所代表的意义:

  \d   :代表日期,格式为weekday month date,例如:"Mon Aug 1"

  \H :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux

  \h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略

  \t :显示时间为24小时格式,如:HH:MM:SS

  \T :显示时间为12小时格式

  \A :显示时间为24小时格式:HH:MM

  \u :当前用户的账号名称

  \v :BASH的版本信息

  \w :完整的工作目录名称。家目录会以 ~代替

  \W :利用basename取得工作目录名称,所以只会列出最后一个目录

  \# :下达的第几个命令

  \$ :提示字符,如果是root时,提示符为:#   ,普通用户则为:$

  默认的PS1内容为: '\u@\h\W\$' ,所以默认的提示符就是:[root@linux ~]#

 

posted @ 2021-01-17 23:47  背着泰山找黄河  阅读(1046)  评论(0编辑  收藏  举报