环境搭建
JDK环境安装
安装包下载
本次选用的版本是:JDK 1.8.0_421 官网地址:www.oracle.com/java/techno…
安装包上传服务器
如果是本地下载的安装包,可以通过SSH工具上传服务器,我一般都会建一个单独的目录在/home/soft下方便管理,SSH工具我使用的是MobaXterm
安装包解压
安装包上传后,使用命令解压。在执行解压操作前,创建Java的文件目录/usr/local/java/,然后使用下面的命令进行解压。
tar -zxvf jdk-8u421-linux-x64.tar.gz -C /usr/local/java/
环境配置
编辑环境文件
vim /etc/profile
在末尾添加
export JAVA_HOME=/usr/local/java/jdk1.8.0_421
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
输入以下命令让环境生效
source /etc/profile
创建软链接
ln -s /usr/local/java/jdk1.8.0_421/bin/java /usr/bin/java
环境检查
java -version
Nginx安装-源码方式
为什么要用源码方式安装Nginx呢,虽然有点繁琐,但是服务性能好。
下载源码
我选择的版本是:1.24.0
上传服务器
同样的跟上Java环境搭建的一样,没看过的往上看
依赖环境搭建
跟Java安装方式不同,nginx需要依赖很多环境,依次安装下面的依赖,已安装的忽略此步骤
# 编译时依赖 gcc 环境
yum -y install gcc gcc-c++
# 让nginx支持重写功能
yum -y install pcre pcre-devel
# zlib 库提供了很多压缩和解压缩的方式,nginx 使用 zlib 对 http 包内容进行 gzip 压缩
yum -y install zlib zlib-devel
# 安全套接字层密码库,用于通信加密
yum -y install openssl openssl-devel
解压安装
解压操作跟上面一样,不再赘述... 讲解一下安装过程: 假设我创建,并将安装包解压到了/usr/local/nginx目录,通过如下命令进入安装目录
cd /usr/local/nginx/nginx-1.24.0
通过下面的命令完成环境检查:
./configure --prefix=/usr/local/nginx # 检查平台安装环境
进行源码编译并安装 nginx
make
make install
启动服务
/usr/local/nginx/sbin/nginx
查看进程状态
# 查看服务进程
ps -ef | grep nginx
MySQL数据库的安装
安装包下载
官网地址:downloads.mysql.com/archives/co…
本次版本:8.0.35
温馨提示:不建议安装8.4版本服务,有BUG,当然,一般看这个教程的服务器都会是生产级的服务器,那就无所谓...
下载地址:cdn.mysql.com/archives/my…
文件上传服务器并解压
解压地址:/usr/local/mysql8
tar -xvf mysql-8.0.35-1.el7.x86_64.rpm-bundle.tar
解压后会得到很多rpm包
卸载原生环境
查看系统中是否存在mariadb包
rpm -qa | grep mariadb
很明显有,但是我这只有一个,可能有些系统有多个,使用下面的命令删除所有的包
rpm -e --nodeps 文件名
准备环境
依次执行下面的命令
yum update -y
yum install -y libaio
yum install -y net-tools
yum install openssl-devel.x86_64 openssl.x86_64 -y
yum -y install autoconf
yum install perl.x86_64 perl-devel.x86_64 -y
yum install perl-JSON.noarch -y
yum install perl-Test-Simple -y
以上命令是解决安装mysql8时的依赖环境问题。(如果以上命令运行失败可能会影响接下来的安装)
安装
在/usr/local/mysql8目录下,依次运行以下几个命令,安装MySQL8,注意如下命令运行顺序不能颠倒,必须严格按照以下顺序运行:
rpm -ivh mysql-community-common-8.0.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-8.0.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-compat-8.0.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.35-1.el7.x86_64.rpm
配置
设置配置文件:
编辑/etc/my.cnf文件,可以为MySQL设置如下参数(按实际需求选择即可)
[mysqld]
# 设置 MySQL 服务运行的端口号
port = 3306
# 指定 MySQL 数据库的默认字符集
character-set-server=utf8mb4
# 允许外部访问
bind-address=0.0.0.0
# 设置client连接mysql时的字符集,防止乱码
init_connect='SET NAMES utf8mb4'
# 设置 MySQL 允许访问的最大连接数
max_connections = 1000
# 指定MySQL服务器存储数据文件的目录
datadir=/var/lib/mysql
# 是否对sql语句大小写敏感,1表示不敏感
lower_case_table_names = 1
# 事务隔离级别,默认为可重复读,mysql默认可重复读级别(此级别下可能参数很多间隙锁,影响性能)
transaction_isolation = READ-COMMITTED
# TIMESTAMP如果没有显示声明NOT NULL,允许NULL值
explicit_defaults_for_timestamp = true
关闭防火墙
如果需要外部访问建议关闭防火墙,或者开放3306端口
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
目录授权
chown -R mysql:mysql /var/lib/mysql/
启动MySQL的服务
systemctl start mysqld.service
查询服务状态
systemctl status mysqld.service
设置开机自启
systemctl enable mysqld
查看临时密码
grep "A temporary password" /var/log/mysqld.log
为root用户设置新的密码
# 修改密码,注意密码强度校验,这里把密码设置为 Ab%123456
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
# 刷新权限
FLUSH PRIVILEGES;
设置允许远程登录
update mysql.user set host='%' where user='root';
flush privileges;