背景:springboot項(xiàng)目開(kāi)發(fā)完成后, 需要將項(xiàng)目部署到云服務(wù)器上, 環(huán)境(CentOS Linux release 8.2, mysql8.x, redis6.2.6, java8); 記錄一下部署過(guò)程.
一.環(huán)境安裝
I.安裝mysql
1.使用ssh登錄遠(yuǎn)程服務(wù)器, 查看mysql是否安裝. 首先我們需要查看軟件是否已經(jīng)安裝懊亡,或者說(shuō)查看安裝的軟件包名稱(chēng)。如查找是否安裝mysql
```
rpm -qa | grep mysql
```
2.如果運(yùn)行上述命令沒(méi)有返回信息, 則說(shuō)明之前沒(méi)有安裝過(guò); 如果有返回, 則先用以下命令卸載
```
rpm -e --nodeps mysql80-community-release-el8-3.noarch
```
3.下載mysql的repo源, 需要下載哪個(gè)版本可以根據(jù)系統(tǒng)版本決定,
mysql repo信息: https://dev.mysql.com/downloads/repo/yum/
```
wget http://repo.mysql.com/mysql80-community-release-el8-3.noarch.rpm
```
4.安裝mysql源
```
rpm -ivh mysql80-community-release-el8-3.noarch.rpm
```
5.安裝mysql
```
yum install mysql-server -y
```
6.重啟服務(wù)
```
service mysqld restart
```
7.登錄mysql數(shù)據(jù)庫(kù),并設(shè)置root用戶(hù)登錄密碼. (第一次使用數(shù)據(jù)庫(kù)登錄的時(shí)候不用輸入密碼乎串,因?yàn)檫€沒(méi)有設(shè)置密碼店枣,直接回車(chē)進(jìn)入數(shù)據(jù)庫(kù)后再去修改密碼.)
```
mysql -u root -p #輸入密碼時(shí)直接回車(chē)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root12345'; #設(shè)置root用戶(hù)登錄密碼為root12345
mysql> exit; #退出mysql
```
8.設(shè)置開(kāi)機(jī)自啟動(dòng)
```
systemctl enable mysqld
systemctl daemon-reload
```
9.mysql的安裝已經(jīng)完成, 接下來(lái)需要將建表語(yǔ)句的sql文件拷貝到服務(wù)器上, 并完成建表
從本機(jī)拷貝sql文件到服務(wù)器端
```
scp ./mall_sql.sql root@x.x.x.x:/root #將建表語(yǔ)句從本機(jī)復(fù)制到服務(wù)器的root目錄下
```
在服務(wù)器上連接mysql, 并執(zhí)行sql文件
```
mysql -u root -p #使用root賬戶(hù)登錄mysql
mysql> create database imooc_mall; #創(chuàng)建數(shù)據(jù)庫(kù)
mysql> use imooc_mall; #使用數(shù)據(jù)庫(kù)
mysql> source /root/mall_sql.sql; #在當(dāng)前數(shù)據(jù)庫(kù)中執(zhí)行sql語(yǔ)句文件
```
至此, mysql的安裝以及創(chuàng)建數(shù)據(jù)庫(kù), 建表等操作完成;
II.安裝redis
1.在redis官網(wǎng)查看redis版本,選擇合適的版本下載地址,并在服務(wù)器端下載
```
[root#] wget http://download.redis.io/releases/redis-6.2.6.tar.gz
```
2.將redis解壓到/usr/local目錄下
```
[root#] tar -zxvf redis-6.2.6.tar.gz -C /usr/local
```
3.進(jìn)入/usr/local/redis-6.2.6目錄中進(jìn)行編譯
```
cd /usr/local/redis-6.2.6
make
```
4.安裝完成后, 需要進(jìn)行2項(xiàng)配置
```
1.允許redis在后臺(tái)運(yùn)行, 使用vim編輯 redis-6.2.6/redis.conf配置文件, 將 daemonize no 改成 yes
2.設(shè)置redis開(kāi)機(jī)自啟動(dòng)
vi /etc/rc.local
#在里面添加內(nèi)容:
/usr/local/redis-6.2.6/src/redis-server /usr/local/redis-6.2.6/redis.conf #(意思就是開(kāi)機(jī)調(diào)用這段開(kāi)啟redis的命令)
```
注意: make過(guò)程會(huì)報(bào)很多錯(cuò)誤, 以下為碰到的錯(cuò)誤和解決方法:
```
1. 報(bào)錯(cuò) /bin/sh: cc: command not found
原因: 在linux系統(tǒng)上對(duì)redis源碼進(jìn)行編譯時(shí)提示提示“make cc Command not found,make: *** [adlist.o] Error 127”。這是由于系統(tǒng)沒(méi)有安裝gcc環(huán)境鸯两,因此在進(jìn)行編譯時(shí)才會(huì)出現(xiàn)上面提示坏瞄,當(dāng)安裝好gcc后再進(jìn)行編譯時(shí),上面錯(cuò)誤提示將消失甩卓。
解決: yum install gcc
2.報(bào)錯(cuò) You need tcl 8.5 or newer in order to run the Redis test
解決: yum install tcl
3.報(bào)錯(cuò)類(lèi)似這樣 ../deps/hiredis/libhiredis.a: No such file or directory
../deps/lua/src/liblua.a: No such file or directory
../deps/jemalloc/lib/libjemalloc.a: No such file or directory
解決: 進(jìn)入到指定路徑后 運(yùn)行 make 命令
cd /usr/local/redis-6.2.6/deps
make hiredis jemalloc linenoise lua
其中對(duì)于 jemalloc 可以按照以下命令執(zhí)行:
cd /usr/local/redis-6.2.6/deps/jemalloc
./configure
make
```
III.安裝java8環(huán)境
1.在本機(jī)手動(dòng)下載jdk8, 并上傳到服務(wù)器上
```
scp ./jdk-8u321-linux-x64.tar.gz root@106.x.x.x:/root # 將jdk復(fù)制到服務(wù)器的root目錄下
```
2.將jdk解壓到 /usr/local 目錄
```
tar -zxvf jdk-8u321-linux-x64.tar.gz -C /usr/local
```
3.配置java環(huán)境
使用vim編輯 /etc/profile文件
```
vim /etc/profile
# 將下面的配置添加到文件最后
#java env
export JAVA_HOME=/usr/local/jdk1.8.0_321
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
```
保存后, 讓profile立即生效
```
source /etc/profile
```
----------以下步驟可能不需要-----
4.更新/usr/bin 下的java命令
```
ln -s /usr/local/jdk1.8.0_321/bin/java /usr/bin/java
```
5.可以用 java -version查看版本信息, 可能出現(xiàn): /usr/bin/java: Permission denied
這是新jdk下的java命令沒(méi)有權(quán)限鸠匀,沒(méi)有權(quán)限就給它權(quán)限就行了:sudo chmod -R 777 /usr/local/jdk1.8.0_321/bin
二.數(shù)據(jù)庫(kù)準(zhǔn)備,
mysql的安裝已經(jīng)完成, 接下來(lái)需要將建表語(yǔ)句的sql文件拷貝到服務(wù)器上, 并完成建表
1.從本機(jī)拷貝sql文件到服務(wù)器端
scp ./mall_sql.sql root@x.x.x.x:/root #將建表語(yǔ)句從本機(jī)復(fù)制到服務(wù)器的root目錄下
2.在服務(wù)器上連接mysql, 并執(zhí)行sql文件
mysql -u root -p #使用root賬戶(hù)登錄mysql
mysql> create database imooc_mall; #創(chuàng)建數(shù)據(jù)庫(kù)
mysql> use imooc_mall; #使用數(shù)據(jù)庫(kù)
mysql> source /root/mall_sql.sql; #在當(dāng)前數(shù)據(jù)庫(kù)中執(zhí)行sql語(yǔ)句文件
三.上傳jar包,并運(yùn)行
1.上傳jar包
scp ./mall-0.0.1-SNAPSHOT.jar root@106.13.17.29:/root
2.運(yùn)行jar包
java -jar mall-0.0.1-SNAPSHOT.jar
或者在后臺(tái)運(yùn)行
nohup java -jar XXX.jar &