zoukankan      html  css  js  c++  java
  • 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	omcatapache-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:linuxmysqlmysql-5.5.62-linux-glibc2.12-x86_64.tar.gz 上传到192.168.199.214的/opt/myfile/路径中,需要输入yes确认以及输入admin对应的命令。

    E:linuxmysql
    λ 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:linuxmysql

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

    scp admin@192.168.199.214:/opt/myfile/1.txt E:linuxmysql

      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则被省略
    
      	 :显示时间为24小时格式,如:HH:MM:SS
    
      T :显示时间为12小时格式
    
      A :显示时间为24小时格式:HH:MM
    
      u :当前用户的账号名称
    
      v :BASH的版本信息
    
      w :完整的工作目录名称。家目录会以 ~代替
    
      W :利用basename取得工作目录名称,所以只会列出最后一个目录
    
      # :下达的第几个命令
    
      $ :提示字符,如果是root时,提示符为:#   ,普通用户则为:$
    
      默认的PS1内容为: 'u@hW$' ,所以默认的提示符就是:[root@linux ~]#
  • 相关阅读:
    Protobuf
    iOS保持App真后台运行
    oc之考试答题类效果
    oc之脚本
    IOS
    Xcode中控制台中打印中文处理
    iOS-拍照后裁剪,不可拖动照片的问题
    iOS开发之一句代码检测APP版本的更新
    AVAudioSesion和AVAudioPlayer的基本使用
    GCD使用dispatch_semaphore_t创建多线程网络同步请求
  • 原文地址:https://www.cnblogs.com/qcq0703/p/14290834.html
Copyright © 2011-2022 走看看