Spring Boot服务端部署CentOS7相关依赖 | MySQL、Nignx、JDK、Maven

117 阅读2分钟

最近做项目完成了服务端的开发,为了减轻本地计算机的负担便于后续开发和调试客户端,决定先将服务端部署在远程服务器上。在此之前先安装一些必要的依赖。

1.基本信息

1.1服务端信息

框架以及版本:Spring Boot 2.2.6.RELEASE

架构类型:单体应用架构

规模大小:中小型

1.2依赖清单

MySQL 8.0.19

Nginx 1.20.1

Nginx-vod-module 1.28

Maven-3.6.1

JDK 1.8.281

2.Linux

2.1 服务器信息

云服务器商:阿里云

系统:CentOS7

配置:2核(vCPU) 4 GiB 100 Mbps

远程操作工具:FinalShell

2.2 相关操作

(1).解压缩

tar -zxvf 压缩文件.tar.gz

(2).移动文件

假设我们将file文件移动到上级目录的其它文件夹another_folder

mv file ../another_folder/

(3).防火墙操作

查看防火墙某个端口是否开放

firewall-cmd --query-port=8080/tcp

开放防火墙端口8080

firewall-cmd --zone=public --add-port=8080/tcp --permanent

注意:开放端口后要重启防火墙生效

重启防火墙

systemctl restart firewalld

3.MySQL安装

3.1 排雷操作

为了避免安装后出现各种岔子,需要先进行一些排雷

(1).查看是否已有数据库

rpm -qa | grep mysql

rpm -qa | grep mariadb

如果有就删除,一般centos7自带mariadb

rpm -e --nodeps mariadb-libs

(2).检查相关依赖是否安装

两个依赖:

libaio

numactl

查看是否已经安装操作

rpm -qa|grep 依赖

如果没有则进行安装

yum -y install 依赖

(3).检查云服务器安全组有没有开放端口

image.png

3.2 开始安装

(1).切换目录

假设你已经把下载好的安装包上传到linux的/usr/local/路径上,现在开始切换到该路径

cd /usr/local/

(2).解压安装包

将xz文件解压为tar文件

xz -d mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz

解压tar文件

tar -xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar

(3).重命名

mv mysql-8.0.19-linux-glibc2.12-x86_64/ mysql

(4).其他操作

mkdir mysql/data
# 设置用户组并赋权
groupadd mysql
useradd -r -g mysql mysql

chown -R mysql /usr/local/mysql/
chgrp -R mysql /usr/local/mysql/
# 添加环境变量并生效
vi /etc/profile
# 在文件添加 PATH=$PATH:/usr/local/mysql/bin
source /etc/profile

# 切换路径
cd /usr/local/mysql/
mkdir mysql-files
chown mysql:mysql mysql-files/
chmod 750 mysql-files/

# 初始化(生成的密码先复制,最好保存在文档,后面会用到)
bin/mysqld --initialize --user=mysql --console
# 启动MySQL
/usr/local/mysql/support-files/mysql.server start
# 配置init.d/mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

# 配置服务
chmod +x /etc/init.d/mysql
chkconfig --add mysql
chkconfig --list
# 启动并查看状态
systemctl start mysql
systemctl status mysql
#停止服务
systemctl stop mysql

vi /etc/my.cnf

[mysqld]
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
pid-file=centOS1.pid
socket=/tmp/mysql.sock
max_connections=200
max_connect_errors=10
default_authentication_plugin=mysql_native_password
[mysql]
#default-character-set=utf8
[client]
port=3306
#default-character-set=utf8
chmod 777 /etc/my.cnf
# 重启MySQL
service mysql restart

进入MySQL并修改密码

mysql -uroot -p

# 修改密码
alter user 'root'@'localhost' identified by '123456';
use mysql;
# 开放远程连接
update user set user.Host='%' where user.User='root';
flush privileges;
# 退出MySQL
exit;

查看防火墙是否开启,没有就开启

systemctl status firewalld
systemctl start firewalld.service
# 开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

4.Nginx安装

把Nginx和Nginx-vod-module安装包上传Linux

4.1 解压缩

将压缩包解压在非/usr/local/nginx 目录,比如:我们可以先解压在/root/nginx

tar -zxvf nginx-1.20.1.tar.gz

tar -zxvf nginx-vod-module-1.28.tar.gz

为了方便后续的安装,对解压后的文件夹改名

mv nginx-1.20.1/ nginx

mv nginx-vod-module-1.28/ nginx-vod-module-master

4.2 安装依赖

gcc-c++

yum install -y gcc-c++

pcre-devel

yum install -y pcre pcre-devel

zlib-devel

yum install -y zlib zlib-devel

openssl-devel

yum install -y openssl openssl-devel

4.3 编译

编译的时候使用的配置参数

./configure 
--prefix=/usr/local/nginx 
--conf-path=/usr/local/nginx/nginx.conf 
--add-module=/root/nginx-vod-module-master 
--with-http_stub_status_module 
--with-http_ssl_module
--error-log-path=/var/log/nginx/nginx.log 

编译并安装

make && make install

跳转安装路径的sbin文件夹

cd /usr/local/nginx/sbin

启动

./nginx

停止

./nginx -s stop

重启

./nginx -s reload

4.4 设置服务

# 切换路径
cd /usr/lib/systemd/system
# 创建文件
touch nginx.service	
# vi编辑
vi nginx.service
[Unit]
Description=nginx
After=network.target
 
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx    #修改为自己系统对应的路径
ExecReload=/usr/local/nginx/sbin/nginx -s reload #修改为自己系统对应的路径
ExecStop=/usr/local/nginx/sbin/nginx -s quit    #修改为自己系统对应的路径
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target

设置开机自启动
systemctl enable nginx.service
关闭开机自启动
systemctl disable nginx.service 

systemctl start nginx.service   #开启
systemctl stop nginx.service    #关闭
systemctl reload nginx.service  #重新加载配置
systemctl status nginx.service  #查看状态

5.JDK安装

5.1 排雷操作

检测当前系统是否存在java环境!

java -version

如果有检测JDK版本信息

rpm -qa|grep jdk

卸载,nodeps是强制卸载的意思

rpm -e --nodeps jdk

5.2 解压并创建目录以及移动

对压缩包解压

tar -zxvf jdk-8u281-linux-x64.tar.gz

切换目录,递归式创建层级目录

cd /usr
mkdir -p environment/java

再次切换目录,移动目标文件

cd /root
mv jdk1.8.0_281 /usr/environment/java

5.3配置环境变量

打开环境变量文件

vi /etc/profile

在最后几行添加

export JAVA_HOME=/usr/environment/java/jdk1.8.0_281 
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
export PATH=$PATH:${JAVA_HOME}/bin:$JRE_HOME/bin

初始化,并且验证是否安装成功

source /etc/profile  
java -version 

6.Maven安装

6.1 解压缩

tar -zxvf apache-maven-3.6.1-bin.tar.gz

6.2 创建以及移动目录

# 创建maven目录
mkdir /usr/maven
# 将解压后的文件移动到maven目录
mv apache-maven-3.6.1/ /usr/maven/
# 创建文件夹,用于依赖
mkdir /usr/maven/apache-maven-3.6.1/repository
# 切换到配置文件路径
cd /usr/maven/apache-maven-3.6.1/conf/

6.3 编辑xml文件

打开xml文件

vi settings.xml

在settings标签下新增代码:

<localRepository>/usr/maven/apache-maven-3.6.1/repository</localRepository>

找到mirrors标签,新增如下代码:

     <mirror> 
         <id>alimaven</id> 
         <name>aliyun maven</name> 
         <url>https://maven.aliyun.com/nexus/content/groups/public/</url> 
         <mirrorOf>central</mirrorOf> 
     </mirror>

找到profiles标签,新增如下代码:

    <profile>
      <id>jdk-1.8</id>
      <activation>
        <activeByDefault>true</activeByDefault>
        <jdk>1.8</jdk>
      </activation>
      <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
      </properties>
    </profile>

6.4 配置以及验证

编辑环境变量

vi /etc/profile

将以下内容复制到环境变量文件最下面

export MAVEN_HOME=/usr/maven/apache-maven-3.6.1
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin

验证是否成功

mvn -v

参考资料

CentOS7安装MySQL8(亲测无坑百分百安装成功)-CSDN博客

linux安装mysql-8.0.19-最全讲解_[mysqld] basedir=/usr/local/mysql-8.0.19-linux-gli-CSDN博客

Linux查看防火墙状态及开启关闭命令_linux 查看防火墙-CSDN博客

Navicat连不上远程阿里云服务器MySQL数据库的几个原因_c#连接阿里云mysql-CSDN博客

CentOS下nginx的安装流程_nginx-vod-module-master安装-CSDN博客

使用nginx搭建音视频点播服务器 - seedoubleu - 博客园 (cnblogs.com)

Linux版本JDK1.8下载与安装_jdk-8u281-linux-x64.rpm下载-CSDN博客

CentOS7——安装配置Maven(Apache Maven)_centos7安装maven的setting文件-CSDN博客