centosphpredis
① CentOS7系统与CentOS8系统的区别都有哪些
在CentOS8版本时,NTP没有了。
数据库支持方面:CentOS8默认支持的数据库版本,Mysql 8.0、MariaDB 10.3、PostgreSQL 10 and PostgreSQL 9.6、Redis 5.0
MariaDB是Red Hat Enterprise linux 7中MySQL的默认版本,在CentOS8中被保留了下来,至于当初为什么在7中将MySQL改个名字,限制来说一言难尽,总之对于开发者来说,是一件比较折腾的事情。
CentOS7.X支持的编程语言:python 2 ( 2.7.X)、php 5.4、Ruby 2.0.0,OpenJDK8用作默认的Java开发工具包(JDK),而Java 8用作默认的Java版本。
相关拓展
CentOS 8是CentOS项目发布的开源类服务器操作系统,于2019年9月24日正式发布。
CentOS 8是一个稳定、高预测性、高管理性、高重复性的Linux平台,由RedHat企业级Linux(RHEL)的源代码进行再发行。CentOS 8基于Fedora28和内核版本4.18,为用户提供一个稳定的、安全的、一致的基础以跨越混合云部署,并支持传统和新兴工作负载所需的工具。
以上内容参考网络-CentOS 8
② 怎样用wdcp安装redis,phpredis扩展及redis配置文件到centos
redis是一款很不错的高性能的key-value数据库,它的出现在很大程度上弥补了很多像memcached这类的keyvalue存储的不足,它的特点有:
支持持久化、半持久化数据保存、支持主从同步、value值支持多种类型等等。
③ Centos7.x Redis6.2.5 Cluster搭建
官方地址:
前提条件:
Redis Cluster 不使用一致性哈希,而是使用不同形式的分片 每个键在概念上都是我们所谓的 哈希槽的一部分 。
Redis Cluster 有 16384 个哈希槽,计册清算哈希值是多少 给定密钥的插槽,我们只需取密钥的 CRC16 模 16384。
Redis 集群中的每个节点都负责哈希槽的一个子集, 例如,您可能有一个包含 3 个节点的集群,其中:
节点 A 包含从 0 到 5500 的哈希槽。
节点 B 包含从 5501 到 11000 的哈希槽。
节点 C 包含从 11001 到 16383 的哈希槽。
如果报错 ERR This instance has cluster support disabled 的话,说明集群未开启。
本例子是在一台服务器上面做的实验,只是创建了6个目录,启了6个redis-server而已。
创建一个 redis.conf每个目录中的文件,从 7000 到 7005。 作为配置文件的模板,只需使用上面的小示例, 但一定要更换端口号 7000使用正确的端口号 根据目录名。
通过 ps aux|grep redis 查看redis的启动情况。
如果不想通过配置和执行来创建Redis集群 如上所述,手动单个实例,有一个更简单的 系统(但您不会了解相同数量的操作细节)。
只需检查 utils/create-clusterRedis 发行版中的目录。 有一个脚本叫做 create-cluster里面(与目录同名 它包含在)中,它是一个简单的 bash 脚本。 为了开始 一个有 3 个主节点和 3 个从节点的 6 节点集群只需输入以下内容 命令:
回复 yes在第 2 步中,当 redis-cli实用程序要你接受 集群布局。
您现在可以与集群交互,第一个节点将从端口 30001 开始 默认情况下。 完成后,使用以下命令停止集群:
请阅读 README在此目录中以获取有关如何操作的更多信息 运行脚本。
create-cluster.sh
集群信息
集群节点
我上面的例子我们可以看出,设置的key会被分配到不同的实例去。
现在很多的sdk都支持move,例如:phpredis。
我们先查看州指前下当前的集群情况。
目前 7000 , 7001 , 7002 是 master 角色, 7003 , 7004 , 7005 是 slave 角色。
然后我们将 7001 这个端口的redis服务的进程杀掉。
7004.log 日志,发现 7001 主挂了,然后将自己升级为master。
查询当前的集群状态如下:
我们可以看出, 7004 升级了 master , 7001 是 fail 状态。
启动 7001 的redis服务。
7001.log 中可以发现,自己变成了 slave 。
此时我们再来看下集群情况:
目前 7000 , 7002 , 7004 是 master角色, 7001 , 7003 , 7005 是 slave角色,自动进行了故障切换。
如果配置了 requirepass 的话, masterauth 必须需要配置,不然 master 与 slave 不能自动切换。
修改配置文件 redis.conf 中的 cluster-enabled 参数的值为 yes 并把参数前#去除,重启Redis服务器。
在命令尾部追加 2>/dev/null 即可。
我们继续在 cluster-test 目录下,创建 7006 目录,配置和之前的一样,不同就是端口以及日志路径,然后启动服务即可。
看下最新的集群情况
添加一个 7006 的从节点。
在 cluster-test 目录下,创建 7007 目录,配置和之前的一样,不同就是端口以及日志路径,然后逗锋启动服务即可。
看下最新的集群情况
从上面集群情况可以看出了问题,新增加的 7006 , 7007 的虽然增加到了集群里面,但是没有分配slot。
分配后的集群情况
缩容前:
将 7006 的slot给了 7000 。
缩容后:
删除了 7006 , 7007 后的集群情况
④ Linux主要应用在哪些方面
具体应用如下:
1、虚拟化:从桌面虚拟化到云,现在又回到桌面虚拟化,VMware是第一家也是最好的虚拟化产品公司,其主要产品也是基础,而Linux是非常有力的竞争对手。
2、数据库服务器:Oracle和IBM都在Linux上运行企业软件,因为他们在Linux上运行良好,而且Linux消耗资源很少,不会与数据竞争资源。
3、应用服务器:Tomcat、Geronimo、WebSphere和Weblogic都是Java应用服务器,而Linux为这些服务提供了一个稳定、占用内存和长时间运行的平台。
4、日志服务器:Linux是处理和存储日志文件的优秀平台,虽然听起来是一个低级的任务,但是它的低成本、低硬件要求和高性能是任何需要日志服务人的首选平台。
5、开发平台:Linux下有很多开发工具,比如说eclipse、C、C++、mono、python、Perl、PHP等,Linux是最流行的开发平台。
6、监控服务:如果您想进行网络监控或者系统性能监控,Linux是一个非常不错的选择
⑤ Linux服务器 一般都用啥操作系统
1.Linux服务器通常都会安装些啥应用在上面?
解答:非常多,最常见的比如: Web服务(Nginx,Apache,PHP,tomcat)、
数据库服务(MySQL,Redis),存储服务(NFS,FASTDFS),比如网络等网站就是需要上述应用。
2.Linux好像有很多版本啥小红帽,Ubuntu。分不清楚这些是干啥的。
解答:
1.5 如何选择服务端Linux版本
1.5.1 Linux发行版本介绍
Linux内核(kernel)版本主要有Linux kernel 2.2、2.4、2.6、3.x、4.x,更多更新的内核版本请浏览https://www.kernel.org/。
Linux发行商包括Redhat、Debian、Fedora、SUSE、CentOS、Ubuntu、麒麟……
下面来看看其中几个重要的服务端发行版本。
1) Red Hat:Red Hat Linux9.0的内核为2.4.20。在版本9.0后,Red Hat不再遵循GPL协议,成为收费产品(但仍开源),发展的新版本依次为3.x、4.x、5.x、6.x、7.x、8.x。
2) Fedora:Red Hat的一个分支,仍遵循GPL协议,可以认为是Red Hat预发布版。
3) CentOS:Red Hat的另一个分支,以Red Hat发布的源代码重建符合GPL许可协议的Linux系统,即将其源代码的商标LOGO以及非自由软件部分去除后再编译而成的版本,目前CentOS已被Red Hat公司收购,但仍开源免费。
3.我现在想学习Linux的服务器不知道应该从哪里入手。最少让我知道安装啥系统吧。
1.5.2 选择适合的Linux服务端系统学习
可以作为服务器端Linux系统常见的有Redhat、CentOS、Ubuntu,其中,CentOS 是国内互联网公司使用最多的,本书后面所有的内容讲解都是基于CentOS这个操作系统的,绝大部分知识几乎无需任何修改同样也适用于Red Hat Linux等同源Linux系统版本。
下面是CentOS的主流版本在国内互联网企业的使用现状说明。
q CentOS6系列:在企业生产的业务中使用不多,不推荐新手学习。
q CentOS7系列:已经成为企业主流,新手建议选择此版本学习。
q CentOS8系列:该系列也已成熟,建议新手可以配合7学习CentOS8。
综上,老男孩推荐学习当下企业的主流应用,即CentOS7系列,本书选了当下最新CentOS7.8作为主要版本来讲,让读者掌握最新的企业级操作系统技术。
2-3题内容出处《跟老男孩学Linux运维:核心基础实战(第三版)_第1章》
⑥ LAMP - CentOS7+Apache2.4+MySQL8+PHP7.3环境搭建
yum -y install epel-release
yum -y install yum-utils
yum update
yum -y install httpd
systemctl enable httpd
systemctl start httpd
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
# 隐藏版本号
vim /etc/httpd/conf.d/secure.conf
TraceEnable off
ServerSignature Off
ServerTokens Prod
# 配置vhost
vim /etc/httpd/conf.d/vhosts.conf
DocumentRoot "/var/www/html"
ServerName example.com
ServerAlias www.example.com
ErrorLog "logs/example.com-error_log"
CustomLog "logs/example.com-access_log" combined
yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
yum install certbot python2-certbot-apache
certbot --apache
systemctl restart httpd
# 安装MySQL8 YUM源
rpm -Uvh https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm
yum install mysql-community-server
systemctl enable mysqld
systemctl start mysqld
# 查看自动生成的MySQL密码
grep "password" /var/log/mysqld.log
# 登录MySQL后修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
# 刷新MySQL权限表
FLUSH PRIVILEGES;
yum-config-manager --disable remi-php54
yum-config-manager --enable remi-php73
yum -y install php php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json php-opcache php-redis php-soap
# 隐藏php版本号
vim /etc/php.ini
expose_php = off
系统参数设置
# 文件打开数设置
ulimit -n 65535
vim /etc/security/limits.d/nofile.conf
* soft nofile 65535
* hard nofile 65535
# 内核网络优化
vim /etc/sysctl.conf
# 启用timewait 快速回收
net.ipv4.tcp_tw_recycle = 1
⑦ Linux系统都有哪些常用版本,它们有什么区别
有社区版CentOS 和商业版 Redhat两种,两者一个开源 一个不开源,一个免费,一个付费使用;
1) Linux运维岗位及工作内容
互联网Linux运维工程师是一个融合多学科(网络、系统、开发、数据库、安全、存储等)的综合性技术岗位,甚至还需要沟通、为人处世、培训、销售、管理等非技术能力,这给运维工程师提供了一个广阔的发展空间。
2) Linux运维工程师岗位职责
一般从企业入门到中级Linux运维工程师的工作大致有:挑选IDC机房及带宽、购买物理服务器或云服务、购买及使用CDN服务、搭建部署程序开发及用户的访问系统环境(例如:网站运行环境)、对数据进行备份及恢复、处理网站运行中的各种故障(例如:硬件故障、软件故障、服务故障、数据损坏及丢失等)、对网站的故障进行监控、解决网站运行的潜在安全问题、开发自动化脚本程序提高工作效率、规划网站架构、程序发布流程和规范,制定运维工作制度和规范、配合开发人员部署及调试产品研发需要的测试环境、代码发布等工作需求,公司如果较小可能还会兼职网管、网络工程师、数据库管理员、安全工程师、技术支持等职责。
涉及到的Linux平台上的运维工具有:Linux系统,Linux基础命令,Nginx,Apache,MySQL,PHP,Tomcat,Lvs,Keepalived,SSH,Ansible,Rsync,NFS,Inotify,Sersync,Drbd,PPTP,OpenVPN,NTP,Kickstart/Cobbler,KVM,OpenStack,Docker,,K8S,Mongodb,Redis,Memcached,Iptables,SVN,GIT,Jenkins,网络基础,Shell/Python开发基础等,除此之外还可能涉及到交换机、路由器、存储、安全、开发等知识。
运维工程师还包括一些低端的岗位,例:网络管理员、监控运维、IDC运维,值班运维
职业发展方向:Linux运维工程师、系统架构师、数据库工程师、运维开发工程师、系统网络安全工程师、运维经理、运维总监
3) Linux中级运维工程师应用软件阶段。
Linux系统,Linux基础命令,Nginx,Apache,MySQL,PHP,Tomcat,Lvs,Keepalived,SSH,Ansible,Rsync,NFS,Inotify,Sersync,Drbd,PPTP,OpenVPN,NTP,Kickstart/Cobbler,KVM,OpenStack,Docker,Mongodb,Redis,Memcached,Iptables,SVN,GIT,Jenkins,网络基础,Shell/Python开发基础
4)Linux运维架构师岗位职责
运维架构师是运维工程师的高级阶段,并没有明确的岗位界限区分,运维架构师一般来说是除了对运维工程师应用的开源工具熟练掌握之外,更多的是用思想来运维了,即DevOps的落地,各种企业运行过程中的解决方案提出和执行,例如:根据公司的现状可以设计各类运维解决方案的能力:
1、自动化代码上线(SVN/GIT+Jenkins+MVN)解决方案;
2、云计算部署架构及Docker微服务架构方案;
3、服务自动化扩容方案(KVM/OpenStack/Docker+Ansible+Zabbix);
4、10万并发的网站架构、秒杀系统的架构及解决发你个案;
5、多IDC机房互联方案、全网数据备份解决方案、账号统一认证方案;
6、数据库、存储及各重要服务节点的集群和高可用方案。
7、各网络服务的极端优化方案、服务解耦/拆分。
8、运维流程、制度、规范等的建设和推行。
9、沟通能力、培训能力、项目管理、业务需求分析及落地执行力等。
这里仅举几个例子,实际工作中会有更多,运维架构师的工作,其实就是解决企业中的用户访问量不断增大带来的痛点,最终达到高效、优质的为客户提供网站及业务服务。
总的来说:Linux运维架构师更多的是根据企业日益增长的访问量需求,利用若干运维工具组合加上经验思想,形成解决业务需求方案的阶段,当然也不排除对运维工具进行二次开发以及可视化展示运维数据的阶段(开发软件平台),这个阶段涉及的工具会非常多,几乎市面好用的开源工具都在备选之列,在一线城市互联网公司的薪资范围15000-50000/月。
职业方向:高级数据库工程师、运维开发工程师、运维经理、运维总监、技术总监
运维架构师:将多个工具组合,加上思想经验,形成方案,用思想和经验赚钱的阶段。
技术的提升仅是量的积累,思想的提升才是质的飞跃!——老男孩
5)数据库运维工程师
众所周知,数据几乎是所有企业的生命线,所以数据库工程师的地位和薪水一般会比普通运维工程师高一些,主要工作内容就是保证数据库数据的安全以及高效地为用户提供各种服务。工作内容主要有:数据库环境搭建、数据库优化、数据库;
Linux学习路线图
⑧ 如何在 CentOS 7 上安装 Redis 服务器
一、安装redis
a、在redis官网下载redis:
$ wget http://download.redis.io/releases/redis-3.2.6.tar.gz
$ tar xzf redis-3.2.6.tar.gz
$ cd redis-3.2.6
$ make
b、在redis安装目录下进入utils目录,执行自动安装脚本
cd utils/
./install_server.sh
一路回车都按照默认设置执行
//执行完脚本后,会出现以下提示:
Selected config:
Port : 6379
Config file : /etc/redis/6379.conf
Log file : /var/log/redis_6379.log
Data dir : /var/lib/redis/6379
Executable : /usr/local/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli
c、添加redis开机自启动
//修改文件权限
chmod 755 /etc/init.d/redis_6379
//添加自启动
chkconfig --add redis_6379
chkconfig --level 345 redis_6379on
d、检查远程服务器的6379端口是否被防火墙拦截。假如未开启,则添加
/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
/etc/init.d/iptables restart(视服务器情况而定,如果不知道的话可以选择重启服务器)
也可以在wdcp的后台系统管理--iptables添加规则
使用安骑士等防火墙软件的自行添加6379端口访问通过的规则
e、通过客户端命令行连接redis
//在本地连接
redis-cli -h 127.0.0.1 -p 6379
二、添加phpredis扩展
获取并解压安装包
cd
wget https://github.com/phpredis/phpredis/archive/develop.zip
unzip develop.zip
注意:若提示未找到“unzip”命令
解决办法:运行 yum install unzip -y
//进入目录
cd phpredis-develop
使用phpize命令添加扩展,phpize命令所在路径根据实际情况修改
/www/wdlinux/nginx_php/bin/phpize
注意:可能会有“Cannot find autoconf. Please check your autoconf installation and the$PHP_AUTOCONF environment variable. Then, rerun this script.”错误
解决办法:运行 yum install -y autoconf
再重新运行前面的phpize命令
出现类似下图的提示,则代表成功
代表生成redis.so成功,可以进到该目录去查看是否有生成。该路径也是视实际情况而定。
//php.ini中加入redis.so扩展
//加入这一行,保存退出。路径要使用上面装完redis生成redis.so的路径
extension=/www/wdlinux/nginx_php/lib/php/extensions/no-debug-non-zts-20121212/redis.so
重启web服务(重点是重启php)
通过phpinfo查看是否添加了redis扩展