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 ~]#

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM