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擴展