本人是在服务器上操作的,可能与虚拟机上的操作有所不同,但大致应该一样。
一、创建新用户:
服务器上的默认用户是root用户,为了安全起见,创建一个普通用户。
1.添加用户:
useradd -m 用户名
2.设置用户密码:
passwd 用户名
3.将用户添加到用户组:
usermod -a -G adm 用户名
4.为用户添加sudo权限:
sudo vim /etc/sudoers
在 root ALL=(ALL:ALL) 下一行添加下边代码,不要注释这句代码!
用户名 ALL=(ALL:ALL) ALL
保存并退出
:wq!
注意:以上操作是在root账户下操作的
5.设置vim:
切换到你刚刚创建的用户下
su - 你的用户名
sudo vim .vimrc
将以下代码粘贴过去
syntax on
set nu
set autoindent
set smartindent
set tabstop=4
set shiftwidth=4
set showmatch
set ruler
set cindent
set background=dark
set mouse=a
退出并保存
:wq!
二、安装python3.6
默认情况下, CentOS 7.5 的yum源里面没有内置Python3版本,所以需要启用epel,而且随着以后的升级,epel包含的Python3版本也不一定都是同一版本。
下面写一下如何在CentOS 7.5上面安装Python3
1.更新源:
sudo yum update
2.安装epel:
sudo yum install epel-release
3.查看目前包含的Python3是哪个版本的:
yum list | grep python3
4.安装查看到的最新版本:
sudo yum install python36
这里的python36替换成上一步查看到的python最新版本
5.将python3.6设置为默认解析器:
cd /usr/bin/
sudo rm python
sudo ln -s python3.6 python
6.将yum的解析器改为Python2.7
由于第五步将默认解析器设置成了Python3.6,所以再使用yum操作的时候会报以下错误:
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax
问题出现原因:
yum包管理是使用python2.x写的,将python2.x升级到python3.x以后,由于python版本语法兼容性导致问题出现解决办法:
修改yum配置文件,将python版本指向以前的旧版本
sudo vim /usr/bin/yum
将第一行改成如下内容
#!/usr/bin/python2.7
修改urlgrabber-ext-down文件,更改python版本
sudo vim /usr/libexec/urlgrabber-ext-down
将第一行改成如下内容
#!/usr/bin/python2.7
这样以后再使用yum操作的时候就没有问题了
7.安装pip:
查看已有的pip包
yum search easy_install | grep pip
结果如下:
python2-pip.noarch : A tool for installing and managing Python 2 packages
python34-pip.noarch : A tool for installing and managing Python3 packages
安装pip
sudo yum install python34-pip
这样就可以使用pip3安装python3的相关软件包了。
三、安装MySQL:
注意:需要先设置阿里云服务器安全组,否则无法连接MySQL数据库!!!
CentOS 7.5的yum源中默认是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。
首先去mysql官网 yum库下载地址列表 找到相应.rpm 包的下载地址,然后去 Linux下执行Wget下载该rpm包,例如
1. 下载mysql的repo源
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
2. 安装mysql80-community-release-el7-1.noarch.rpm包
sudo rpm -Uvh mysql80-community-release-el7-1.noarch.rpm
如果有特殊需要安装低版本或其他特殊版本的(如无需要可忽略这一步)
可以使用如下命令:
yum repolist all | grep mysql #查看所有可选择版本
sudo yum-config-manager --disable mysql80-community #取消选中默认版本
sudo yum-config-manager --enable mysql57-community #需要的版本
(无需要可忽略上一步)
3. 安装mysql
sudo yum install mysql-community-server
4.启动Mysql数据库
service mysqld start
这里会让你输入一个密码,这个密码是root密码,千万别输错了。
查看mysql版本: mysql -V
5.查看初始密码
grep 'temporary password' /var/log/mysqld.log
6.修改密码
mysql -uroot -p
然后会提示你输入密码,这个密码就是上一步查到的初始密码。
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
如果只是修改为一个简单的密码,会报以下错误:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
这个其实与validate_password_policy的值有关。
validate_password_policy有以下取值:
Policy | Tests Performed |
0 or LOW | Length |
1 or MEDIUM | Length; numeric, lowercase/uppercase, and special characters |
2 or STRONG | Length; numeric, lowercase/uppercase, and special characters; dictionary file |
默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。
有时候,只是为了自己测试,不想密码设置得那么复杂,譬如说,我只想设置root的密码为123456。
这个问题对于不同的mysql版本解决方法不同,下面以两个现在最常用的版本来说明解决方法。
- MySQL 5.7 进行如下设置,即可解决问题:
set global validate_password_policy=0;
set global validate_password_length=1;
- MySQL 8.0 进行如下设置,即可解决问题:
1、先修改一个满足的密码 (如:Root_12root)。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root_12root';
2、密码修改后,可用命令查看 validate_password 密码验证插件是否安装。
SHOW VARIABLES LIKE 'validate_password%';
- MySQL 5.7 查看密码验证插件:
- MySQL 8.0 查看密码验证插件:
通过查看 MySQL5.7 和 MySQL8.0 密码验证插件对比,可知两个版本中,
变量名不一样。(*_password_policy 和 *_password.policy ) — 问题原因所在。3、MySQL 8.0 调整密码验证规则:
set global validate_password.policy=0;
set global validate_password.length=1;
如此一来就可以将密码设置成简单容易记住的了,例如:123456
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
四、Redis安装:
1.去官网手动下载安装包:
下载完以后将压缩包上传到服务器
2.配置编译环境:
sudo yum install gcc-c++
3.安装tcl
wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
sudo tar xzvf tcl8.6.1-src.tar.gz -C /usr/local/
cd /usr/local/tcl8.6.1/unix/
cd /usr/local/tcl8.6.1/unix/
sudo make
sudo make install
3.解压下载好的文件
tar zxvf redis-4.0.11.tar.gz
4.进入解压后的文件目录编译redis
make
5.安装redis
前提:必须要进入到
redis-4.0.11
输入命令:记得要指定安装路径,不然安装之后不好找到。PREFIX:
指定安装路径。
make PREFIX=/usr/local/redis install
6.测试前端启动
cd /usr/local/redis/bin
sudo ./redis-server
7.进入到redis-4.0.11
中复制redis.conf
到 redis/bin下面
sudo cp -r redis.conf /usr/local/redis/bin/
8.redis的配置
新建一个目录redisdb用来存储缓存数据
sudo mkdir /usr/local/redisdb
进入配置文件做如下更改:
sudo vim /usr/local/redis/bin/redis.conf
- 1.将
bind 127.0.0.1
注释掉(#bind 127.0.0.1
),添加bind 0.0.0.0
- 2.默认为保护模式,把
protected-mode yes
改为protected-mode no
3.以守护进程启动
- 默认为不守护进程模式,把
daemonize no
改为daemonize yes
4.修改连接密码
- 将
requirepass foobared
前的“#”去掉,密码改为你想要设置的密码(我为了练习用,设置为123456)
5.设置缓存文件生成和读取的目录
- 默认是当前目录:
dir ./
修改为第一步中创建的目录:dir /usr/local/redisdb
- 开启aof持久化
appendonly yes
- 选择aof持久化的策略
# appendfsync always
appendfsync everysec
# appendfsync no
9.设置redis开机启动
进入/lib/systemd/system目录
# cd /lib/systemd/system
创建一个名为redis.service文件
# touch redis.service
再redis.service中写入下面的内容
[Unit]
Description=redis service
Wants=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
[Install]
WantedBy=multi-user.target
设置开机启动
systemctl enable redis
查看redis服务的状态
systemctl status redis
检查是否安装成功
ps -ef|grep redis
10.其他
Redis服务查看、开启、关闭:
- a.通过
ps -ef|grep redis
命令查看Redis进程 - b.开启Redis服务操作通过
/etc/init.d/redis_6379 start
命令,也可通过(service redis_6379 start
) - c.关闭Redis服务操作通过
/etc/init.d/redis_6379 stop
命令,也可通过(service redis_6379 stop
)
redis.conf 的配置信息
1、daemonize 如果需要在后台运行,把该项改为yes
2、pidfile 配置多个pid的地址 默认在/var/run/redis.pid
3、bind 绑定ip,设置后只接受来自该ip的请求
4、port 监听端口,默认是6379
5、loglevel 分为4个等级:debug verbose notice warning
6、logfile 用于配置log文件地址
7、databases 设置数据库个数,默认使用的数据库为0
8、save 设置redis进行数据库镜像的频率。
9、rdbcompression 在进行镜像备份时,是否进行压缩
10、dbfilename 镜像备份文件的文件名
11、Dir 数据库镜像备份的文件放置路径
12、Slaveof 设置数据库为其他数据库的从数据库
13、Masterauth 主数据库连接需要的密码验证
14、Requriepass 设置 登陆时需要使用密码
15、Maxclients 限制同时使用的客户数量
16、Maxmemory 设置redis能够使用的最大内存
17、Appendonly 开启append only模式
18、Appendfsync 设置对appendonly.aof文件同步的频率(对数据进行备份的第二种方式)
19、vm-enabled 是否开启虚拟内存支持 (vm开头的参数都是配置虚拟内存的)
20、vm-swap-file 设置虚拟内存的交换文件路径
21、vm-max-memory 设置redis使用的最大物理内存大小
22、vm-page-size 设置虚拟内存的页大小
23、vm-pages 设置交换文件的总的page数量
24、vm-max-threads 设置VM IO同时使用的线程数量
25、Glueoutputbuf 把小的输出缓存存放在一起
26、hash-max-zipmap-entries 设置hash的临界值
27、Activerehashing 重新hash
11.在Windows上用Redis客户端连接CentOS上的Redis
(1).修改防火墙配置文件
sudo vim /usr/bin/firewall-cmd
将第一行
#!/usr/bin/python -Es
修改为#!/usr/bin/python2.7 -Es
, 保存并退出即可。(2).查看防火墙状态
systemctl status firewalld
如下图所示:如果防火墙是dead状态,即防火墙未开启。
(3).开启防火墙
systemctl start firewalld
再次通过systemctl status firewalld查看firewalld状态,显示running即已开启了。
如果防火墙已开启可以跳过这一步骤
(4).查看指定端口是否开放
firewall-cmd --query-port=6379/tcp
执行结果为no,未开放
(5).开放指定端口
如果端口以开放,可以忽略这一步骤
firewall-cmd --add-port=6379/tcp
执行结果为success,开放成功
然后就可以用Windows上的Redis客户端连接CentOS上的Redis