Java 8
1. 下载
官网下载地址 下载完成后上传到 CentOS7 机器上
2. 解压
下载之后移动到一个指定的目录,这里以 /usr/local/java 为例:
cd /usr/local/java
# 解压 /usr/local/java/jdk1.8.0_321
tar -zxvf jdk-8u321-linux-x64.tar.gz
3. 配置环境变量
vi /etc/profile
# 在文件末尾追加
# jdk
export JAVA_HOME=/usr/local/java/jdk1.8.0_321
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
# esc :wq 保存
# 使生效
source /etc/profile
# 查看版本
java -version
# 查看环境变量 /usr/local/java/jdk1.8.0_321
echo $JAVA_HOME
MySQL 8
1. 卸载MariaDB
MariaDB是MySQL的一个分支,主要由开源社区维护。
- CentOS 7及以上版本已经不再使用MySQL数据库,而是使用MariaDB数据库;
- 如果直接安装MySQL,会和MariaDB的文件冲突;
因此,需要先卸载自带的MariaDB,再安装MySQL。
# 查看版本
rpm -qa|grep mariadb
# 卸载
rpm -e --nodeps 文件名
#检查是否卸载干净
rpm -qa|grep mariadb
# 检查是否安装mysql
rpm -qa|grep mysql
# 卸载
rpm -e --nodeps mysql文件名
2. 下载 MySQL
3. 解压
- .tar.gz后缀:tar -zxvf 文件名
- .tar.xz后缀:tar -Jxvf 文件名
解压,操作目录 /usr/local
# 解压后目录 /usr/local/mysql-8.0.28-linux-glibc2.12-x86_64 tar -Jxvf mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz
重命名 ```shell
重命名
mv mysql-8.0.28-linux-glibc2.12-x86_64 mysql8
或者创建软链接(二选一)
ln -s mysql-8.0.28-linux-glibc2.12-x86_64 mysql8
<a name="sbIkZ"></a>
## 4. 环境变量
```shell
vim /etc/profile
# mysql8
export MYSQL_HOME=/usr/local/mysql8
export PATH=$PATH:${MYSQL_HOME}/bin
# esc :wq
# 使生效
source /etc/profile
# 查看版本
mysql --version
5. 创建用户组和用户
# 创建一个用户组:mysql
groupadd mysql
# 创建一个系统用户:mysql,指定用户组为mysql
useradd -r -g mysql mysql
增加数据目录权限
# 更改属主和数组
chown -R mysql:mysql /usr/local/mysql8/
chown -R mysql:mysql /usr/local/mysql8/data/
chown -R mysql:mysql /usr/local/mysql8/logs/
# 更改模式
chmod -R 750 /usr/local/mysql8/data
6. my.cnf 配置文件
放置到 /usr/local/etc/my.cnf
[mysql]
# 默认字符集
default-character-set=utf8mb4
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
server-id = 3306
user = mysql
socket = /tmp/mysql.sock
# 安装目录
basedir = /usr/local/mysql8
# 数据存放目录
datadir = /usr/local/mysql8/data
log-bin = /usr/local/mysql8/logs/binlog
innodb_data_home_dir =/usr/local/mysql8/data
innodb_log_group_home_dir =/usr/local/mysql8/data
#日志及进程数据的存放目录
log-error =/usr/local/mysql8/logs/error.log
pid-file =/usr/local/mysql8/mysqld.pid
# 服务端使用的字符集默认为8比特编码
character-set-server = utf8mb4
lower_case_table_names = 1
autocommit = 1
##################以上要修改的########################
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 1024
sort_buffer_size = 4M
net_buffer_length = 8K
read_buffer_size = 4M
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 64M
thread_cache_size = 128
#query_cache_size = 128M
tmp_table_size = 128M
explicit_defaults_for_timestamp = true
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535
binlog_format=mixed
binlog_expire_logs_seconds =864000
# 创建新表时将使用的默认存储引擎
default_storage_engine = InnoDB
innodb_data_file_path = ibdata1:10M:autoextend
innodb_buffer_pool_size = 1024M
innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
transaction-isolation=READ-COMMITTED
[mysqldump]
quick
max_allowed_packet = 16M
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 4M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
7. 初始化
mysqld --defaults-file=/usr/local/etc/my.cnf --basedir=/usr/local/mysql8 --datadir=/usr/local/mysql8/data --user=mysql --initialize-insecure
- —defaults-file:指定配置文件(要放在—initialize 前面)
- —user: 指定用户
- —basedir:指定安装目录
- —datadir:指定初始化数据目录
- —intialize-insecure:初始化无密码
8. 启动mysql
```shellsafe 启动
/usr/local/mysql8/bin/mysqld_safe —defaults-file=/usr/local/etc/my.cnf &配置环境变量可以用
mysqld_safe —defaults-file=/usr/local/etc/my.cnf &
检查
ps -ef | grep mysql
<a name="QMlbR"></a>
## 9. 初始化密码
```shell
# 无密码登录方式
mysql -u root --skip-password
# 有密码登录方式(初始的随机密码在/data/mysql8_data/mysql/mysql.log下)
mysql -u root -p
password:随机密码
# >mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'tyros@2022';
# 刷新权限
FLUSH PRIVILEGES;
10. 创建远程连接用户
# 选择mysql数据库
USE mysql;
# 查看当前用户
SELECT user,host,plugin,authentication_string FROM user;
# 创建用户,任意主机访问
CREATE user 'root'@'%';
# 设置密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'tyros@2022';
# 授权用户所有权限
GRANT ALL PRIVILEGES ON *.* TO "root"@"%";
# 刷新权限
FLUSH PRIVILEGES;
11. 注册系统服务开机自启
在 /usr/lib/systemd/system
目录下新建 mysql.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql8/bin/mysqld_safe --defaults-file=/usr/local/etc/my.cnf
LimitNOFILE = 5000
#Restart=on-failure
#RestartPreventExitStatus=1
#PrivateTmp=false
启动并设置开机自启
# 刷新配置
systemctl daemon-reload
# 开机自动启动
systemctl enable mysql
# 启动redis服务
systemctl start mysql
12. 开放防火墙 mysql:3306 端口
如果开启了防火墙,则外部无法访问 mysql,需要关闭防火墙或开放 mysql 3306 端口
# 查看已经开放的端口
firewall-cmd --list-ports
# 开放 mysql 3306 端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重新加载
firewall-cmd --reload
关闭防火墙
# 1.查看状态
systemctl status firewalld
firewall-cmd --state
# 2.启动防火墙
systemctl start firewalld
# 3.禁用防火墙
systemctl stop firewalld
# 4. 设置开机启动
systemctl enable firewalld
# 5.停止并禁用开机启动
systemctl disable firewalld
Redis 6
1. C 语言环境 - gcc
# 查看当前系统是否已经安装 gcc
gcc -v
# 安装 gcc
yum -y install gcc
2. 下载源码编译安装到指定目录
# 下载,我是在/usr/local下执行的下载,所以我的下载目录为:/usr/local/redis-6.2.6
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
# 解压 /usr/local/redis-6.2.6
tar -zxvf redis-6.2.6.tar.gz
# 编译
cd redis-6.2.6
make
# 指定安装目录并进行安装
make install PREFIX=/usr/local/redis
3. 通过守护进程方式启动
# 1. 从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录
cp /usr/local/redis-6.2.6/redis.conf /usr/local/redis/bin/
# 2. 修改redis.conf配置文件
cd /usr/local/redis/bin/
vi redis.conf
# 修改内容如下:
#daemonize 的值从 no 修改成 yes
daemonize yes
# 密码
requirepass tyros@2022
# 3. 启动服务
/usr/local/redis/bin/redis-server redis.conf *:6379
# 4. 查看进程来确定redis是否启动成功,非必须
ps -ef | grep redis
# 查看版本
./redis-server --version
4. 设置开机自启
第一种方式
# 1. 将redis自带的初始化脚本复制到 /etc/init.d/
cp /usr/local/redis-6.2.6/utils/redis_init_script /etc/init.d/redis
# 2. 修改脚本 见下图
vim /etc/init.d/redis
# 3. 修改读写权限,如果已有权限,可忽略
chmod +x /etc/init.d/redis
# 启动
service redis start
# 停止
service redis stop
# 4. 开机自启
chkconfig --add redis
第二种方式
切换到 /lib/systemd/system/
目录,创建 redis.service
文件。命令如下:
cd /lib/systemd/system/
vim redis.service
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
ExecReload=ps -ef | grep redis|grep -v grep | awk '{print $2}' |xargs kill -9 && /usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
ExecStop=ps -ef | grep redis|grep -v grep | awk '{print $2}' |xargs kill -9
PrivateTmp=true
[Install]
WantedBy=multi-user.target
设置开机自启
# 刷新配置
systemctl daemon-reload
# 开机自动启动
systemctl enable redis.service
# 启动redis服务
systemctl start redis.service
# 查看服务状态
systemctl status redis.service
# 停止服务
systemctl stop redis.service
# 取消开机自动启动(卸载服务)
systemctl disable redis.service
5. 防火墙
如果开启防火墙,则外部无法访问 redis,需要关闭防火墙或开放 redis 6379 端口
# 查看已经开放的端口
firewall-cmd --list-ports
# 开放 redis 6379 端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
# 重新加载
firewall-cmd --reload
关闭防火墙
# 1.查看状态
systemctl status firewalld
firewall-cmd --state
# 2.启动防火墙
systemctl start firewalld
# 3.禁用防火墙
systemctl stop firewalld
# 4. 设置开机启动
systemctl enable firewalld
# 5.停止并禁用开机启动
systemctl disable firewalld
Nginx 1.21.6
1. 安装环境
# gcc-c++
yum install -y gcc-c++
# PCRE pcre-devel
yum install -y pcre pcre-devel
# zlib
yum install -y zlib zlib-devel
# OpenSSL
yum install -y openssl openssl-devel
2. 下载安装
下载 Nginx 压缩包,放置到 /usr/local
目录解压安装
# 解压缩
tar -zxvf /usr/local/nginx-1.21.6.tar.gz
# 进入 nginx 目录
cd /usr/local/nginx-1.21.6
# 使用默认配置
./configure
# 编译安装
make && make install
# 删除无用目录
rm -rf nginx-1.21.6
这时,nginx 就被安装到了 /usr/local/nginx
目录
3. 启动验证
# 防火墙开放 80 端口
firewall-cmd --zone=public --add-port=80/tcp --permanent && firewall-cmd --reload
# 启动 nginx
cd /usr/local/nginx/sbin/ && ./nginx
# 宿主机直接访问 ip
其他命令
# 此方式停止步骤是待nginx进程处理任务完毕进行停止
./nginx -s quit
# 此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程
./nginx -s stop
# 重新加载配置
./nginx -s reload
4. 注册系统服务 开机自启
# 新建启动脚本
vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx - web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
# 重新加载系统配置
systemctl daemon-reload
# 使用 systemctl 启动前先停止 nginx
./nginx -s stop
# 启动
systemctl start nginx
# 开机自启
systemctl enable nginx