恒创科技:免备案香港/美国云服务器低至2.5折,仅需220元/年
【性价之王】 | 【线路之王】 | 【价格之王】 | 【配置之王】 |
【免费之王】 | 【香港首推】 | 【梯子之王】 | 【独服之王】 |
提前准备
一、配置防火墙
CentOS 7系列默认使用的是firewall作为防火墙,这里改为iptables防火墙。
1、关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
systemctl mask firewalld
systemctl stop firewalld
yum remove firewalld
2、安装iptables防火墙
yum install iptables-services #安装
vi /etc/sysconfig/iptables #编辑防火墙配置文件
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state –state NEW -m tcp –dport 22 -j ACCEPT
-A INPUT -p tcp -m state –state NEW -m tcp –dport 6379 -j ACCEPT
-A INPUT -j REJECT –reject-with icmp-host-prohibited
-A FORWARD -j REJECT –reject-with icmp-host-prohibited
COMMIT
:wq! #保存退出
systemctl restart iptables.service #最后重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
/usr/libexec/iptables/iptables.init restart #重启防火墙
二、关闭系统的SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq! #保存退出
setenforce 0 #使配置立即生效
三、调整一下内核参数
vi /etc/sysctl.confvm.overcommit_memory = 1 #设置为1,使redis在低内存下能正常运行:wq! #保存退出sysctl -p #设置立即生效
说明:
vm.overcommit_memory参数可选值:0、1、2
0表示内核将检查是否有足够的可用内存供应用进程使用,如果有足够的可用内存,内存申请允许,否则,内存申请失败,并把错误返回给应用进程
1表示内核允许分配所有的物理内存,而不管当前的内存状态如何
2表示内核允许分配超过所有物理内存和交换空间总和的内存
开始安装
1、下载安装包
下载地址:https://github.com/redis/redis/archive/7.0.4.tar.gz
上传安装包到服务器/usr/local/src目录
2、升级gcc版本
redis源码编译需要先gcc的版本大于等于5
gcc -v 查看gcc版本
yum -y install gcc gcc-c++ #安装gcc
yum -y install tcl
#升级到gcc版本,redis-6.0.x版本需要gcc 5.3以上,CentOS 7.x默认是gcc version 4.8.5
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash #版本临时生效
echo “source /opt/rh/devtoolset-9/enable” >>/etc/profile #永久生效
3、先安装Redis
三台服务器Redis安装部分相同Redis主节点:192.168.21.100Redis从节点1:192.16.21.101Redis从节点2:192.168.21.102
在三台服务器上执行相同的操作
mkdir -p /usr/local/redis_db #创建数据存放目录
cd /usr/local/src
tar -zxvf redis-7.0.4.tar.gz
cd redis-7.0.4
make
make install PREFIX=/usr/local/redis-7.0.4
4、开始配置Redis
4.1 创建日志目录
mkdir -p /usr/local/redis-7.0.4/log
4.2 拷贝配置文件模板
cp /usr/local/src/redis-7.0.4/redis.conf /usr/local/redis-7.0.4/redis.conf
4.3 修改配置文件
vi /usr/local/redis-7.0.4/redis.conf
daemonize yes #以后台daemon方式运行redis
pidfile /usr/local/redis-7.0.4/redis_6379.pid
port 6379
bind 127.0.0.1 192.168.21.100 #主节点配置文件用这个,ip地址为主节点服务器ip
bind 127.0.0.1 #两台从节点配置文件用这个
replicaof 192.168.21.100 6379 #只在两台从节点添加这一行,ip地址为主节点服务器ip
masterauth 123456 #只在两台从节点添加这一行,密码是主节点requirepass中设置的redis数据库连接密
timeout 300 #客户端超时设置,单位为秒
loglevel notice #设置日志级别,支持四个级别:debug、verbose、notice、warning
logfile “/usr/local/redis-7.0.4/log/redis.log” #日志记录方式,默认为标准输出,logs不写文件,输出到空设备/deb/null
databases 16 #开启数据库的数量
save 900 1
save 300 10
save 60 10000
rdbcompression yes #启用数据库lzf压缩
dbfilename dump.rdb
dir “/usr/local/redis_db”
requirepass 123456 #设置redis数据库连接密码
maxclients 10000 #同一时间最大客户端连接数,0为无限制
maxmemory 4096MB #设定redis最大使用内存,值要小于物理内存,必须设置
appendonly yes #开启日志记录,相当于MySQL的binlog
appendfilename “appendonly.aof” #日志文件名,注意:不是目录路径
appendfsync everysec #每秒执行同步,还有两个参数always、no一般设置为everysec,相当于MySQL事物日志的写方式
:wq! #保存退出
5、启动redis数据库
5.1 手动启动
/usr/local/redis-7.0.4/bin/redis-server /usr/local/redis-7.0.4/redis.conf
#测试redis主从是否同步
#进入主库控制台
/usr/local/redis-7.0.4/bin/redis-cli -h 192.168.21.100 -a 123456set name
esphp.com#写数据get name #读取数据exit #退出redis数据库控制台
#进入两台从库控制台
/usr/local/redis-7.0.4/bin/redis-cli -h 127.0.0.1 -a 123456get name #能够读取到数据,说明主从同步成功
[root@localhost ~]# /usr/local/redis-7.0.4/bin/redis-cli -h 127.0.0.1 -a 123456
Warning: Using a password with ‘-a’ or ‘-u’ option on the command line interface may not be safe.
127.0.0.1:6379> get name”
esphp.com“
127.0.0.1:6379>
#1000个并发连接,10000个请求,测试127.0.0.1端口为6379的redis服务器性能
redis-benchmark -h 127.0.0.1 -p 6379 -c 1000 -n 10000 -a 123456
5.2 配置脚本启动
vi /usr/local/redis-7.0.4/redis.sh
#!/bin/bash
#应用名称
APP_NAME=redis-7.0.4
#Redis端口
REDISPORT=6379
#Redis安装目录
DIR=/usr/local/redis-7.0.4
#Redis进程文件
PIDFILE=/usr/local/redis-7.0.4/redis_6379.pid
#Redis配置文件
CONF=”/usr/local/redis-7.0.4/redis.conf”
#Redis密码
AUTH=’123456′
#使用说明,用来提示输入参数
usage() {
echo “Usage: ./redis.sh [start|stop|restart|status]”
exit 1
}
#检查程序是否在运行
is_exist() {
if [ -f $PIDFILE ]
then
pid=$(cat $PIDFILE)
else pid=
fi
#如果不存在返回1,存在返回0
if [ -z “${pid}” ]; then
return 1
else
return 0
fi
}
#启动方法
start() {
is_exist
if [ $? -eq “0” ]; then
echo “${APP_NAME} is already running. pid=${pid} .”
else
echo “Starting Redis server…”
$DIR/bin/redis-server $CONF
fi
}
#停止方法
stop() {
is_exist
if [ $? -eq “0” ]; then
$DIR/bin/redis-cli -p $REDISPORT -a $AUTH shutdown 2>/dev/null
sleep 2
while [ -x $PIDFILE ]
do
echo “Waiting for Redis to shutdown…”
sleep 1
done
echo “Redis stopped”
else
echo “${APP_NAME} is not running”
fi
}
#输出运行状态
status() {
is_exist
if [ $? -eq “0” ]; then
echo “${APP_NAME} is running. Pid is ${pid}”
else
echo “${APP_NAME} is not running.”
fi
}
#重启
restart() {
stop
sleep 2
start
}
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case “$1” in
“start”)
start
;;
“stop”)
stop
;;
“status”)
status
;;
“restart”)
restart
;;
*)
usage
;;
esac
:wq! #保存退出
#添加脚本执行权限
chmod +x /usr/local/redis-7.0.4/redis.sh
#执行脚本
sh /usr/local/redis-7.0.4/redis.sh start|stop|restart|status
5.3、设置开机启动Redis
cp /usr/local/src/redis-7.0.4/utils/redis_init_script /etc/init.d/redis
vi /etc/init.d/redis #添加修改
AUTH=123456
REDISPORT=6379
EXEC=/usr/local/redis-7.0.4/bin/redis-server
CLIEXEC=/usr/local/redis-7.0.4/bin/redis-cli
PIDFILE=/usr/local/redis-7.0.4/redis_${REDISPORT}.pid
CONF=”/usr/local/redis-7.0.4/redis.conf”
$CLIEXEC -p $REDISPORT -a $AUTH shutdown 2>/dev/null
:wq! #保存退出
#设置开机启动
chkconfig redis on
#启动|关闭
service redis start|stop
到这一步,CentOS 7.x 系统安装配置redis-7.0.4集群全部完成。
[主机测评]历史优惠活动内容
猜你可能想看的VPS
- Usonyx - 新加坡 VPS 最低月付 4.67 新加坡元 可看奈飞全球[VPS测评]
- 疯狂猜成语 图猜成语一只鹤四只鸡是什么成语?全球[VPS测评]
- pacificrack→4 月便宜美国 VPS 促销 $20.59 年 美国VPS[主机]
- PHP:Maximum number of allowable file全球[VPS测评]
- HostXen→日本 2G 套餐月付 70 元 美国 2G 套餐月付 6日本VPS[主机]
- tp5 模板中使用自定义函数的方法全球[VPS测评]
- 7 折活动 $1.4 月 512M 内存 1T 月流量 100M 带宽全球[VPS测评]
- UEditor 报错→Uncaught ReferenceError: 全球[VPS测评]
- 疯狂猜成语 图猜成语屋子里有一只手在勾引狼是什么成语?全球[VPS测评]
- 土豪上车 BandwagonHost→$50 季 1GB 内存 20GB虚拟空间(主机)
- 动力云→588 元 月 2GB 内存 32GB SSD 空间 40TB 虚拟空间(主机)
- 新年促销 糖果主机→无限空间 无限流量虚拟主机 6 折起 VPS 年付 虚拟空间(主机)
- WordPress 支持上传 webp 图片的方法全球[VPS测评]
- 如何在WordPress博客实现历史上的今天的小功能全球[VPS测评]
- 阳帝云 美国CN2 GIA高防 VPS 1g内存40G硬盘外带200G防美国VPS[主机]
- HostMem 洛杉矶亚洲优化线路 CN2GT 1g内存 60g硬盘 年全球[VPS测评]
- hostodo美国便宜VPS,1.5G内存,8T超大流量,1Gbps带宽美国VPS[主机]
- Maple-Hosting荷兰抗投诉DMCA服务器,无视版权/真不限流量全球[VPS测评]
- Google AMP 可以提升收录和排名吗?哪些网站适合使用AMP?哪些全球[VPS测评]
- 【黑五】云鼎互联:黑五促销洛杉矶9.9元 月1H 1G 20M 800G全球[VPS测评]
- Virmach → $1.5 月付 512M 内存 10G SSD硬盘 全球[VPS测评]
- 快车道 圣何塞 香港IP HE线路 解锁香港美国流媒体美国VPS[主机]
- 牛信云入选艾瑞《2022年中国跨境电商服务行业趋势报告》典型厂商全球[VPS测评]
- 2.45亿、成都公安(大数据基座-服务器)采购:神码、虹信、海康、超聚变全球[VPS测评]
- 文物、沉船、村落!干旱导致大量遗迹重见天日 2022年干旱还要持续多久?全球[VPS测评]
- 147SEO采集器 CSS选择器写法案例全球[VPS测评]
- 向日葵-漏洞科普:海外云服务器三种漏洞修复方法快收藏起来!全球[VPS测评]
- OneTechCloud易科云双十二优惠:香港/美国CN2全场VPS季付美国VPS[主机]
- 亚马逊卖家与广告流量之间的博弈才刚刚开始?品牌卖家如何冲破广告之困...全球[VPS测评]
- SugarHosts糖果主机:虚拟主机5折(有独立IP);香港/美国cn独立服务器[U]
转载请注明原文地址:https://www.motoll.com/read-238532.html