最近做项目完成了服务端的开发,为了减轻本地计算机的负担便于后续开发和调试客户端,决定先将服务端部署在远程服务器上。在此之前先安装一些必要的依赖。
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).检查云服务器安全组有没有开放端口
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博客