常用命令

  1. 进行相关
1
2
3
#查看当前端口运行状态
lsof -i:6379 格式:lsof -i:端口号
kill -9 2200093 格式:lsof -i:pid

CentOS8 安装Nginx

首先,介绍一下 Linux 的安装方式,可以是 yum 安装,也可以是源码包安装。

  • yum 安装:简单方便,不易出错。
  • 源码包安装:有点繁琐,但是服务性能好。

yum 安装

1. 安装 Nginx

yum 安装 nginx 非常简单,就输入一条命令即可。

1
2
$ sudo yum -y install nginx   # 安装 nginx
$ sudo yum remove nginx # 卸载 nginx

使用 yum 进行 Nginx 安装时,Nginx 配置文件在 /etc/nginx 目录下。

2. 配置 Nginx 服务

1
2
3
4
5
$ sudo systemctl enable nginx # 设置开机启动 
$ sudo service nginx start # 启动 nginx 服务
$ sudo service nginx stop # 停止 nginx 服务
$ sudo service nginx restart # 重启 nginx 服务
$ sudo service nginx reload # 重新加载配置,一般是在修改过 nginx 配置文件时使用。

源码包安装

Nginx 源码包安装方式步骤比较繁琐,并且需要提前安装一些 Nginx 依赖库。

依赖库安装

1. 安装 gcc 环境

1
$ sudo yum -y install gcc gcc-c++ # nginx 编译时依赖 gcc 环境

2. 安装 pcre

1
$ sudo yum -y install pcre pcre-devel # 让 nginx 支持重写功能

3. 安装 zlib

1
2
# zlib 库提供了很多压缩和解压缩的方式,nginx 使用 zlib 对 http 包内容进行 gzip 压缩
$ sudo yum -y install zlib zlib-devel

4. 安装 openssl

1
2
# 安全套接字层密码库,用于通信加密
$ sudo yum -y install openssl openssl-devel

以上安装完成后,进行 nginx 安装。

nginx 源码包安装

将准备好的 nginx-1.11.5.tar.gz 包,拷贝至 /usr/local/nginx 目录下(一般习惯在此目录下进行安装)进行解压缩。

源码包下载地址:nginx.org/en/download…

1
$ sudo tar -zxvf  nginx-1.11.5.tar.gz # 解压缩

在完成解压缩后,进入 nginx-1.11.5 目录进行源码编译安装。

1
2
3
$  cd nginx-1.11.5
$ ./configure --prefix=/usr/local/nginx # 检查平台安装环境
# --prefix=/usr/local/nginx 是 nginx 编译安装的目录(推荐),安装完后会在此目录下生成相关文件

如果前面的依赖库都安装成功后,执行 ./configure --prefix=/usr/local/nginx 命令会显示一些环境信息。如果出现错误,一般是依赖库没有安装完成,可按照错误提示信息进行所缺的依赖库安装。

进行源码编译并安装 nginx

1
2
$ make # 编译
$ make install # 安装

源码包安装与 yum 安装的 nginx 服务操作命令也不同。

  • 启动服务

    1
    $ /usr/local/nginx/sbin/nginx

    如遇到错误如下:

    image-20220420231407142

    解决办法:

    1
    2
    3
    /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
    #再次重启|启动
    /usr/local/nginx/sbin/nginx
  • 重新加载服务

    1
    $ /usr/local/nginx/sbin/nginx -s reload
  • 停止服务

    1
    $ /usr/local/nginx/sbin/nginx -s stop
  • 查看 nginx 服务进程

    1
    $ ps -ef | grep nginx # 查看服务进程

img

img

反向代理

1
vim nginx.conf

在文件中添加或修改:

在文件中添加或修改:

1
2
3
4
5
6
7
8
9
10
server {
listen 80; //监听80端口
server_name www.xxx.xxx; //请求地址
location / {
proxy_pass http://localhost:8081; //代理的地址和端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

这样设置后,凡是www.xxx.xxx这个域名的请求都会代理到8081端口上。

可以在conf文件中有多个server,这样就能实现不同的二级域名代理到不同的端口上。

重启nginx

1
/usr/local/nginx/sbin/nginx -s reload

静态代理

编辑nginx.conf文件

1
vim nginx.conf
1
2
3
4
5
location /sszn {
alias /usr/opt/app/front/dist/;
try_files $uri $uri/ /sszn/index.html;
index index.html index.htm;
}

CentOS8下安装mysql8

安装Yum Repository

1
[root@localhost ~]# wget https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm

使用rpm来安装MySQL

1
[root@localhost ~]# rpm -ivh mysql80-community-release-el8-1.noarch.rpm

使用yum安装mysql服务

1
[root@localhost ~]# yum install mysql-server --nogpgcheck

centos8安装mysql8 表名忽略大小写问题 密码问题

1
2
3
4
修改my.conf 
vim /etc/my.conf
#添加
lower_case_table_names=1
1
2
3
4
5
初始化

#sudo mysqld --initialize --user=mysql --lower-case-table-names=1

这个很关键、如果没有初始化时设置lower-case-table-names=1后面在my.cnf文件修改将无法启动mysql

检查是否已经设置为开机启动MySQL服务

1
2
3
[root@localhost ~]# systemctl list-unit-files|grep mysqld
mysqld.service disabled
mysqld@.service disabled
1
2
3
4
5
[root@localhost ~]# systemctl enable mysqld.service  #设置开机启动
Created symlink /etc/systemd/system/multi-user.target.wants/mysqld.service → /usr/lib/systemd/system/mysqld.service.
[root@localhost ~]# systemctl list-unit-files|grep mysqld
mysqld.service enabled
mysqld@.service disabled
1
2
3
[root@localhost ~]# ps -ef|grep mysql # 查看是否启动MySQL服务
root 4311 32702 0 21:07 pts/4 00:00:00 grep --color=auto mysql
[root@localhost ~]# systemctl start mysqld.service #启动服务

img

密码操作

查看密码

1
cat /var/log/mysqld.log | grep password

登录密码

1
mysql -uroot -p

修改密码

1
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root_21root';

密码等级长度修改

1
2
修改密码长度:set global validate_password.length=1;(长度)
修改密码等级:set global validate_password.policy=0;(等级)

授权远程访问

1
2
3
4
5
6
# 使用mysql库
use mysql
# 远程访问的root用户
update user set host='%' where user='root';
# 刷新生效
flush privileges;

Centos8版本安装 redis

一,redis的官网:

https://redis.io/
redis6于5月3日正式发布,它的新增功能:

  1. acl

  2. 多线程io

  3. cluster proxy

  4. resp3协议

本文演示redis6.0.1的安装

二,检查gcc的版本

1
2
3
[root@centos8 liuhongdi]# gcc --version
gcc (GCC) 8.3.1 20190507 (Red Hat 8.3.1-4)
Copyright © 2018 Free Software Foundation, Inc.

本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。
如果提示找不到gcc程序,说明没有安装,

本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。
如果提示找不到gcc程序,说明没有安装,

可以用dnf命令安装

1
[root@centos8 liuhongdi]# dnf install gcc

说明:gcc版本不宜过低,应该在gcc 5.3以上

如版本过低则建议先升级gcc

三,下载redis6并解压缩

下载

1
[root@centos8 source]# wget http://download.redis.io/releases/redis-6.0.1.tar.gz

解压缩

1
[root@centos8 source]# tar -zxvf redis-6.0.1.tar.gz 

四,安装redis6.0.1

1,安装redis

#PREFIX=/usr/local/soft/redis6 :用来指定安装目录,这里我们指定安装到/usr/local/soft/redis6

1
2
[root@centos8 source]# cd redis-6.0.1/
[root@centos8 redis-6.0.1]# make PREFIX=/usr/local/soft/redis6 install

2,生成配置文件

创建安装目录

1
[root@centos8 redis-6.0.1]# mkdir /usr/local/soft/redis6/conf

把源码目录下的redis.conf复制到安装目录

1
[root@centos8 redis-6.0.1]# cp redis.conf /usr/local/soft/redis6/conf/

五,创建供redis运行的目录

分别用来存放redis的日志和数据

  1. logs:存放日志

  2. data:存放快照数据

1
2
3
4
[root@centos8 data]# mkdir -p /data/redis6
[root@centos8 data]# cd /data/redis6/
[root@centos8 redis6]# mkdir logs
[root@centos8 redis6]# mkdir data

六,修改redis的配置文件:

1
[root@centos8 conf]# vi redis.conf 

配置项:

#绑定访问的ip

bind 192.168.1.7
#使以daemon方式运行

daemonize yes
#日志保存目录

logfile “/data/redis6/logs/redis.log”
#数据保存目录

dir /data/redis6/data/
#使用的最大内存数量

maxmemory 128MB
#io线程数

#系统建议设置为cpu核心数量的3/4,我的机器是4核,所以这里设置为3

io-threads 3
附redis.conf中的原说明:

1
2
3
4
5
# So for instance if you have a four cores boxes, try to use 2 or 3 I/O

# threads, if you have a 8 cores, try to use 6 threads. In order to

# enable I/O threads use the following configuration directive:

如何查看核心数量:

1
2
3
4
5
6
7
8
9
[root@centos8 ~]# lscpu

Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
...
CPU(s)显示是4个核心

完整配置文件:

下载完成后,把文件名改为redis.conf

redis配置文件

七,生成供systemd使用的service文件

1
[root@centos8 ~]# vi /lib/systemd/system/redis6.service

内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[Unit]
Description=Redis
After=network.target

[Service]
Type=forking
PIDFile=/var/run/redis_6379.pid
ExecStart=/usr/local/soft/redis6/bin/redis-server /usr/local/soft/redis6/conf/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

重新加载service文件

1
[root@centos8 ~]# systemctl daemon-reload 

七,测试启动redis6:

启动:

1
[root@centos8 ~]# systemctl start redis6

查看运行状态:

1
[root@centos8 ~]# systemctl status redis6

停止:

1
[root@centos8 ~]# systemctl stop redis6

八,测试从本地连接访问:

1
2
3
4
5
[root@centos8 conf]# /usr/local/soft/redis6/bin/redis-cli -h 192.168.1.7
192.168.1.7:6379> set a aaaa
OK
192.168.1.7:6379> get a
"aaaa"

九,查看已安装redis的版本

1
2
[root@centos8 conf]# /usr/local/soft/redis6/bin/redis-server -v
Redis server v=6.0.1 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=0

十,查看centos的版本

1
2
[root@centos8 conf]# cat /etc/redhat-release 
CentOS Linux release 8.1.1911 (Core)