首页 文章 精选 留言 我的

精选列表

搜索[centos],共5623篇文章
优秀的个人博客,低调大师

centos设置双网卡绑定band0

1、执行setup命令-->网络配置-->本例中四块网卡。 2、ifconfig列出四块网卡。 3、我们的目标,绑定eth0和eth1两块网卡作为公网网卡,ip设置为192.168.0.51 4、首先备份两块网卡的配置文件 Mv/etc/sysconfig/network-scripts/ifcfg-eth0/etc/sysconfig/bak_network-scripts/ifcfg-eth0_bak Mv /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/sysconfig/bak_network-scripts/ifcfg-eth1_bak 5、重新创建ifcfg-eth0网卡配置文件 vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 USERCTL=no ONBOOT=yes SLAVE=yes MASTER=bond0 BOOTPROTO=none 6、重建eth1网卡配置文件 vi /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 USERCTL=no ONBOOT=yes SLAVE=yes MASTER=bond0 BOOTPROTO=none 7、创建bond0虚拟网卡配置文件 Vi /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 IPADDR=192.168.0.51 NETMASK=255.255.255.0 USERCTL=no BOOTPROTO=none ONBOOT=yes GATEWAY=192.168.0.1 IPV6INIT=no TYPE=Ethernet #DNS1=192.168.0.1 8、修改配置文件/etc/modprobe.d/dist.conf vi dist.conf 最后新增如下两行: alias bond0 bonding options bond0 miimon=100 mode=0 mode=0表示做负载均衡 9、加载bond0模块 [plain]view plain copy [root@rac1modprobe.d]#modprobebonding [root@rac1modprobe.d]#lsmod|grepbond bonding1273310 8021q253171bonding ipv632142230bonding,ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6 10、重启网络服务 service network stop 11、最好也重启下sshd服务 service sshd restart 12、查看bond0状态: [plain]view plain copy [root@rac1network-scripts]#cat/proc/net/bonding/bond0 EthernetChannelBondingDriver:v3.6.0(September26,2009) BondingMode:loadbalancing(round-robin) MIIStatus:up MIIPollingInterval(ms):0 UpDelay(ms):0 DownDelay(ms):0 SlaveInterface:eth0 MIIStatus:up Speed:1000Mbps Duplex:full LinkFailureCount:0 PermanentHWaddr:08:00:27:fc:7e:5b SlavequeueID:0 SlaveInterface:eth1 MIIStatus:up Speed:1000Mbps Duplex:full LinkFailureCount:0 PermanentHWaddr:08:00:27:6f:e3:9d SlavequeueID:0 [root@rac1network-scripts]# 13、查看ifconfig [plain]view plain copy [root@rac1network-scripts]#ifconfig bond0Linkencap:EthernetHWaddr08:00:27:FC:7E:5B inetaddr:192.168.0.51Bcast:192.168.0.255Mask:255.255.255.0 inet6addr:fe80::a00:27ff:fefc:7e5b/64Scope:Link UPBROADCASTRUNNINGMASTERMULTICASTMTU:1500Metric:1 RXpackets:4135errors:0dropped:0overruns:0frame:0 TXpackets:2025errors:0dropped:0overruns:0carrier:0 collisions:0txqueuelen:0 RXbytes:375692(366.8KiB)TXbytes:261792(255.6KiB) eth0Linkencap:EthernetHWaddr08:00:27:FC:7E:5B UPBROADCASTRUNNINGSLAVEMULTICASTMTU:1500Metric:1 RXpackets:3394errors:0dropped:0overruns:0frame:0 TXpackets:1640errors:0dropped:0overruns:0carrier:0 collisions:0txqueuelen:1000 RXbytes:304735(297.5KiB)TXbytes:219122(213.9KiB) eth1Linkencap:EthernetHWaddr08:00:27:FC:7E:5B UPBROADCASTRUNNINGSLAVEMULTICASTMTU:1500Metric:1 RXpackets:742errors:0dropped:0overruns:0frame:0 TXpackets:387errors:0dropped:0overruns:0carrier:0 collisions:0txqueuelen:1000 RXbytes:71017(69.3KiB)TXbytes:43378(42.3KiB) eth2Linkencap:EthernetHWaddr08:00:27:18:29:48 inetaddr:192.168.0.7Bcast:192.168.0.255Mask:255.255.255.0 inet6addr:fe80::a00:27ff:fe18:2948/64Scope:Link UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1 RXpackets:862errors:0dropped:0overruns:0frame:0 TXpackets:113errors:0dropped:0overruns:0carrier:0 collisions:0txqueuelen:1000 RXbytes:77480(75.6KiB)TXbytes:12978(12.6KiB) eth3Linkencap:EthernetHWaddr08:00:27:59:1E:79 inetaddr:192.168.0.99Bcast:192.168.0.255Mask:255.255.255.0 inet6addr:fe80::a00:27ff:fe59:1e79/64Scope:Link UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1 RXpackets:768errors:0dropped:0overruns:0frame:0 TXpackets:42errors:0dropped:0overruns:0carrier:0 collisions:0txqueuelen:1000 RXbytes:73511(71.7KiB)TXbytes:2732(2.6KiB) loLinkencap:LocalLoopback inetaddr:127.0.0.1Mask:255.0.0.0 inet6addr:::1/128Scope:Host UPLOOPBACKRUNNINGMTU:16436Metric:1 RXpackets:8errors:0dropped:0overruns:0frame:0 TXpackets:8errors:0dropped:0overruns:0carrier:0 collisions:0txqueuelen:0 RXbytes:728(728.0b)TXbytes:728(728.0b) [root@rac1network-scripts]# 注意eth0和eth1是不应该有ip显示的。 14、ok

优秀的个人博客,低调大师

阿里云CentOS7中安装Redis

1.Redis安装 cd wget http://download.redis.io/releases/redis-4.0.2.tar.gz tar xzf redis-4.0.2.tar.gz mv redis-4.0.2 /usr/local/redis-4.0.2 cd /usr/local/redis-4.0.2 make make install redis-server redis.conf redis-cli ps -ef | grep redis 2.Docker使用Redis官方镜像 docker version docker pull redis docker run --name payredis -d redis docker run --rm -it --link payredis:redis redis /bin/bash redis-cli -h redis -p 6379 ./redis-cli -p 6379 shutdown

优秀的个人博客,低调大师

Centos安装FTP服务器和配置

安装 yum install vsftpd 启动/重启/关闭 /sbin/service vsftpd start /sbin/service vsftpd restart /sbin/service vsftpd stop 配置文件 /etc/vsftpd/vsftpd.conf 匿名上传下载 修改配置文件即可vsftpd.conf anonymous_enable=yes anon_upload_enable=yes anon_mkdir_write_enable=yes anon_umask=022 配置vsftpd.conf anonymous_enable=NO #禁止匿名 local_enable=YES #允许本地登录 write_enable=YES #允许写,如需上传,则必须 llocal_umask=027 #将上传文件的权限设置为:777-local_umask anon_upload_enable=YES #允许虚拟用户和匿名用户上传 anon_other_write_enable=YES #允许虚拟用户和匿名用户修改文件名和删除文件 dirmessage_enable=YES xferlog_enable=YES #打开日志记录 connect_from_port_20=YES xferlog_file=/var/log/vsftpd.log #日志存放位置 xferlog_std_format=YES #标准日志格式 idle_session_timeout=600 #空闲连接超时 data_connection_timeout=120 ftpd_banner=Welcome to ChinaRise FTP service #欢迎信息 chroot_local_user=NO chroot_list_enable=YES #以上两行将虚拟用户限制在其目录下,不能访问其他目录,或者直接用 chroot_local_user=YES listen=yes #监听/被动模式 listen_port=21 #监听端口 chroot_list_file=/etc/vsftpd/vsftpd.chroot_list #虚拟用户名单保存在文件/etc/vsftpd/vsftpd.chroot_list 中 user_config_dir=/etc/vsftpd/vsftpd_user_conf #每个虚拟用户名的更加详细的培植保存在/etc/vsftpd/vsftpd_user_conf 中 本文转自我爱物联网博客园博客,原文链接:http://www.cnblogs.com/yydcdut/p/4190036.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

centos命令行常用命令

常用命令 1、文件操作类: 1、在当前目录下改变目录a的名字为bmv a b 2、移动目录a下的内容到目录bmv a/* b/* 3、 2、任务进程类: 1、删除用户进程kill -9 pid(pid为相应的进程号) 2、动态查看进程:top 3、系统用户类: 1、 强制踢掉正在登录的用户:pkill -kill -t tty (root用户可以踢掉任何人包括自己,改变tty为所踢用户的TTY即可) root pts/0 *.*.*.* Fri Sep 29 21:10 still logged in root pts/0 *.*.*.* Fri Sep 29 20:30 - 21:09 (00:39) 如想踢掉pst/0 则使用命令pkill -kill -t pst/0 2、使用kill命令强制踢掉用户 [root@oldpan ~]# ps -ef | grep pts/0x root 10359 10340 0 21:13 pts/0 00:00:00 grep --color=auto pts/0x kill -9 10359 即可kill掉相应的用户pid

优秀的个人博客,低调大师

CentOS6.5安装配置Tomcat方法

在进行安装配置Tomcat前请确保系统中已安装jdk并配置好路由器设置 路由器漏洞java的环境变量,tomcat与jdk版本对应表如下所示 Servlet Spec JSP Spec EL Spec WebSocket Spec JASPIC Spec Apache Tomcat Version Latest Released Version Supported Java Versions 4.0 TBD (2.4?) TBD (3.1?) TBD (1.2?) 1.1 9.0.x 9.0.0.M21 (alpha) 8 and later 3.1 2.3 3.0 1.1 1.1 8.5.x 8.5.15 7 and later 3.1 2.3 3.0 1.1 N/A 8.0.x (superseded) 8.0.44 (superseded) 7 and later 3.0 2.2 2.2 1.1 N/A 7.0.x 7.0.78 6 and later(7 and later for WebSocket) 2.5 2.1 2.1 N/A N/A 6.0.x 6.0.53 5 and later 2.4 2.0 N/A N/A N/A 5.5.x (archived) 5.5.36 (archived) 1.4 and later 2.3 1.2 N/A N/A N/A 4.1.x (archived) 4.1.40 (archived) 1.3 and later 2.2 1.1 N/A N/A N/A 3.3.x (archived) 3.3.2 (archived) 1.1 and later 下面以安装配置tomcat 8.5.15为例。 1.到tomcat官网下载tomcat 8.5.15.tar.gz. #wget –O apache-tomcat-8.5.15.tar.gz http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.15/bin/apache-tomcat-8.5.15.tar.gz 2.将下载好的压缩文件解vm虚拟机压到当前文件夹,并复制到/usr/local/,且重命名为tomcat8 #tar zxvf apache-tomcat-8.5.15.tar.gz #cp –R apache-tomcat-8.5.15 /usr/local/tomcat8 3.切换目录至/usr/local/tomvat8/bin,启动tomcat服务器 #cd /usr/local/tomcat8/bin #./startup.sh 启动成功后,可以访问http://你的IP:8080,若访问成功,出现如下tomcat管理页面则表示安装成功,否则为安装失败。 4.因为此时tomcat并没有设置角色以及用户名密码等信息,所以点击manager apps等按钮时会出现403错误,此时需配置tomcat-users.xml添加角色及用户名密码,在tomcat-users.xml中<tomcat-users>*</tomcat-users>标签中间添加如下内容 <role rolename="tomcat"/> <role rolename="manager-gui"/> <user username="admin" password="123456" roles="tomcat,manager-gui"/> 5.配置好tomcat-users.xml文件后,重新启动服务器,若点击manager apps等按钮仍出现403错误,则需要对/usr/local/tomcat8/webapps/manager/META-INF/context.xml进行修改,注释掉其中的value标签。 <Context antiResourceLocking="false" privileged="true" > <!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" > --> </Context> 再次重新启动tomcat,此时发现manager apps等功能已可以正常使用

优秀的个人博客,低调大师

centos7编译安装php7.1

安装依赖: [html]view plain copy yum-yinstallgccgcc-c++libxml2libxml2-develbzip2bzip2-devellibmcryptlibmcrypt-developensslopenssl-devellibcurl-devellibjpeg-devellibpng-develfreetype-develreadlinereadline-devellibxslt-develperlperl-develpsmisc.x86_64recoderecode-devellibtidylibtidy-devel mcryptmhash 下载及解压php7.1: [html]view plain copy wgethttp://cn2.php.net/distributions/php-7.1.0.tar.gz tarzxvfphp-7.1.0.tar.gz cdphp-7.1.0 配销魂淑女 黯然销魂 寸寸销魂置及安装php7.1: [html]view plain copy ./configure\ --prefix=/usr/local/php7\ --exec-prefix=/usr/local/php7\ --bindir=/usr/local/php7/bin\ --sbindir=/usr/local/php7/sbin\ --includedir=/usr/local/php7/include\ --libdir=/usr/local/php7/lib/php\ --mandir=/usr/local/php7/php/man\ --with-config-file-path=/usr/local/php7/etc\ --with-mysql-sock=/usr/local/mysql/mysql.sock\ --with-mcrypt=/usr/include\ --with-mhash\ --with-openssl\ --with-mysql=shared,mysqlnd\ --with-mysqli=shared,mysqlnd\ --with-pdo-mysql=shared,mysqlnd\ --with-gd\ --with-iconv\ --with-zlib\ --enable-zip\ --enable-inline-optimization\ --disable-debug\ --disable-rpath\ --enable-shared\ --enable-xml\ --enable-bcmath\ --enable-shmop\ --enable-sysvsem\ --enable-mbregex\ --enable-mbstring\ --enable-ftp\ --enable-gd-native-ttf\ --enable-pcntl\ --enable-sockets\ --with-xmlrpc\ --enable-soap\ --without-pear\ --with-gettext\ --enable-session\ --with-curl\ --with-jpeg-dir\ --with-freetype-dir\ --enable-opcache\ --enable-redis\ --enable-fpm\ --enable-fastcgi\ --with-fpm-user=www\ --with-fpm-group=www\ --without-gdbm\ --disable-fileinfo make&&makeinstall 拷贝配置文件: [html]view plain copy cp/usr/local/php-7.1.0/php.ini-production/usr/local/php7/etc/php.ini cp/usr/local/php7/etc/php-fpm.conf.default/usr/local/php7/etc/php-fpm.conf cp/usr/local/php7/etc/php-fpm.d/www.conf.default/usr/local/php7/etc/php-fpm.d/www.conf cp/usr/local/php-7.1.0/sapi/fpm/php-fpm.service/lib/systemd/system/php-fpm.service 编辑php-rpm.conf,将pid=run/php-fpm.pid开启 创建php相关目录及给予权限: [html]view plain copy mkdir-p/var/log/php/ mkdir-p/var/log/php-fpm/ mkdir-p/run/php-fpm/ mkdir-p/var/lib/php/session touch/dev/shm/php-fpm.sock chownwww.www/dev/shm/php-fpm.sock chmod777/dev/shm/php-fpm.sock chown-Rwww:www/var/lib/php

优秀的个人博客,低调大师

CentOS7搭建Hadoop + HBase + Zookeeper集群

一、基础环境准备 1、下载安装包(均使用当前最新的稳定版本,截止至2017年05月24日) 1)jdk-8u131 2)hadoop-2.7.3 3)hbase-1.2.5 4)zookeeper-3.4.10 以上下载地址请点击“阅读原文” 2、修改hosts文件(使用的三台集群主机默认IP为192.168.0.100、192.168.0.101、192.168.0.102) #vim/etc/hosts 添加以下信息 192.168.0.100master 192.168.0.101slave1 192.168.0.102slave2 3、安装JDK --解压jdk安装包 #mkdir/usr/java #tar-zxvfjdk-8u131-linux-x64.tar.gx-C/usr/java --拷贝jdk至slave1及slave2中 #scp-r/usr/javaslave1:/usr #scp-r/usr/javaslave2:/usr --设置jdk环境变量 #vim/etc/environment JAVA_HOME=/usr/java/jdk1.8.0_131 JRE_HOME=/usr/java/jdk1.8.0_131/jre #vim/etc/profile exportJAVA_HOME=/usr/java/jdk1.8.0_131 exportJRE_HOME=${JAVA_HOME}/jre exportCLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar exportPATH=$PATH:$JAVA_HOME/bin 4、设置免密登陆 slave1 #ssh-keygen-trsa #cp~/.ssh/id_rsa.pub~/.ssh/slave1_id_rsa.pub #scp~/.ssh/slave1_id_rsa.pubmaster:~/.ssh/ slave2 #ssh-keygen-trsa #cp~/.ssh/id_rsa.pub~/.ssh/slave2_id_rsa.pub #scp~/.ssh/slave2_id_rsa.pubmaster:~/.ssh/ master #ssh-keygen-trsa #cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys #cat~/.ssh/slave1_id_rsa.pub>>~/.ssh/authorized_keys #cat~/.ssh/slave2_id_rsa.pub>>~/.ssh/authorized_kyes --拷贝文件至slave1及slave2 #scp~/.ssh/authorized_keysslave1:~/.ssh #scp~/.ssh/authorized_keysslave2:~/.ssh 5、关闭防火墙及SELINUX --关闭防火墙 #systemctlstopfirewalld.service #systemctldisablefirewalld.service --关闭SELINUX #vim/etc/selinux/config --注释掉 #SELINUX=enforcing #SELINUXTYPE=targeted --添加 SELINUX=disable 二、Hadoop环境搭建 1、解压缩安装包及创建基本目录 #tar-zxvfhadoop-2.7.3-x64.tar.gz-C/usr #cd/usr/hadoop-2.7.3 #mkdirtmplogshdfhdf/datahdf/name 2、修改hadoop配置文件 --修改slaves文件 #vim/usr/hadoop-2.7.3/etc/hadoop/slaves --删除localhost,添加 slave1 slave2 --修改core-site.xml文件 #vim/usr/hadoop-2.7.3/etc/hadoop/core-site.xml --在configuration节点中添加以下内容 <property> <name>fs.default.name</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/usr/hadoop-2.7.3/tmp</value> </property> --修改hdfs-site.xml文件 #vim/usr/hadoop-2.7.3/etc/hadoop/hdfs-site.xml --在configuration节点添加以下内容 <property> <name>dfs.datanode.data.dir</name> <value>/usr/hadoop-2.7.3/hdf/data</value> <final>true</final> </property> <property> <name>dfs.namenode.name.dir</name> <value>/usr/hadoop-2.7.3/hdf/name</value> <final>true</final> </property> --修改mapred-site.xml文件 #cp/usr/hadoop-2.7.3/etc/hadoop/mapred-site.xml.template/usr/hadoop-2.7.3/etc/hadoop/mapred-site.xml #vim/usr/hadoop-2.7.3/etc/hadoop/mapred-site.xml --在configuration节点添加以下内容 <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>master:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>master:19888</value> </property> --修改yarn-site.xml文件 #vim/usr/hadoop-2.7.3/etc/hadoop/yarn-site.xml --在configuration节点添加以下内容 <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.mapred.ShuffleHandler</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>master:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>master:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>master:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>master:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>master:8088</value> </property> 3、复制hadoop到slave节点 #scp-r/usr/hadoop-2.7.3slave1:/usr #scp-r/usr/hadoop-2.7.3slave2:/usr 4、配置 master 和 slave 的 hadoop 环境变量 #vim/etc/profile --添加如下内容 exportHADOOP_HOME=/usr/hadoop-2.7.3 exportPATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH exportHADOOP_LOG_DIR=/usr/hadoop-2.7.3/logs exportYARN_LOG_DIR=$HADOOP_LOG_DIR --保存后执行 #source/etc/profile #vim~/.bashrc --添加如下内容 exportHADOOP_PREFIX=/usr/hadoop-2.7.3/ 5、格式化 namenode #/usr/hadoop-2.7.3/sbin/hdfsnamenode-format 6、启动 hadoop #/usr/hadoop-2.7.3/sbin/start-all.sh 到这一步已经成功完成了hadoop环境的搭建 三、Zookeeper 环境搭建 1、解压缩 zookeeper 安装包,并建立基本目录 #tar-zxvfzookeeper-3.4.10.tar.gz-C/usr #mkdir/usr/zookeeper-3.4.10/data 2、修改配置文件 --复制配置文件模板 #cp/usr/zookeeper-3.4.10/conf/zoo-sample.cfg/usr/zookeeper-3.4.10/conf/zoo.cfg --修改配置文件 #vim/usr/zookeeper-3.4.10/conf/zoo.cfg --添加如下内容 dataDir=/usr/zookeeper-3.4.10/data server.1=master:2888:3888 server.2=slave1:2888:3888 server.3=slave2:2888:3888 --创建myid文件(master、slave1、slave2均需更新) #touch/usr/zookeeper-3.4.10/data/myid #vim/usr/zookeeper-3.4.10/myid --添加如下内容 1(master节点添加) 2(slave2节点添加) 3(slave3节点添加) 3、启动zookeeper --master、slave1、slave2增需要执行 #cd/usr/zookeeper-3.4.10/bin #./zkServer.shstart #./zkServer.shstatus 到这一步完成了zookeeper环境的搭建 四、HBase环境搭建 1、解压缩 hbase 安装包 #tar-zxvfhbase-1.2.5-bin.star.gz-C/usr #mkdir/usr/hbase-1.2.5-bin/logs 2、修改配置文件 #vim/usr/hbase-1.2.5/conf/hbase-env.sh --添加如下内容 exportJAVA_HOME=/usr/java/jdk1.8.0_131 exportHBASE_LOG_DIR=${HBASE_HOME}/logs exportHBASE_MANAGES_ZK=false 3、修改regionservers #vim/usr/hbase-1.2.5/conf/regionservers --删除localhost,新增如下内容 master slave1 slave2 4、修改配置文件 #vim/usr/hbase-1.2.5/conf/hbase-site.xml --在configuration节点下添加如下内容 <property> <name>hbase.rootdir</name> <value>hdfs://master:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>master,slave1,slave2</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/usr/zookeeper-3.4.10/data</value> </property> <property> <name>hbase.master</name> <value>hdfs://master:60000</value> </property> 5、复制hbase到slave中 #scp-r/usr/hbase-1.2.5slave1:/usr #scp-r/usr/hbase-1.2.5slave2:/usr 6、启动hbase #/usr/hbase-1.2.5/bin/start-hbase.sh 到这一步hbase环境搭建完成 作者:kolbe 来源:51CTO

优秀的个人博客,低调大师

memcached--------基于centos6源码安装

1. 背景 许多Web应用程序都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示。但随着数据量的增大,访问的集中,就会出现REBMS的负担加重,数据库响应恶化,网站显示延迟等重大影响。Memcached是高性能的分布式内存缓存服务器。一般的使用目的是通过缓存数据库查询结果,减少数据库的访问次数,以提高动态Web应用的速度、提高扩展性。如图: Memcached作为高速运行的分布式缓存服务器具有以下特点。 1. 协议简单 memcached的服务器客户端通信并不使用复杂的MXL等格式,而是使用简单的基于文本的协议。 2. 基于libevent的事件处理 libevent是个程序库,他将Linux的epoll、BSD类操作系统的kqueue等时间处理功能封装成统一的接口。memcached使用这个libevent库,因此能在Linux、BSD、Solaris等操作系统上发挥其高性能。 3. 内置内存存储方式 为了提高性能,memcached中保存的数据都存储在memcached内置的内存存储空间中。由于数据仅存在于内存中,因此重启memcached,重启操作系统会导致全部数据消失。另外,内容容量达到指定的值之后memcached回自动删除不适用的缓存。 4. Memcached不互通信的分布式 memcached尽管是“分布式”缓存服务器,但服务器端并没有分布式功能。各个memcached不会互相通信以共享信息。他的分布式主要是通过客户端实现的。 5. Memcached的内存管理 最近的memcached默认情况下采用了名为Slab Allocatoion的机制分配,管理内存。在改机制出现以前,内存的分配是通过对所有记录简单地进行malloc和free来进行的。但是这中方式会导致内存碎片,加重操作系统内存管理器的负担。 Slab Allocator的基本原理是按照预先规定的大小,将分配的内存分割成特定长度的块,已完全解决内存碎片问题。Slab Allocation的原理相当简单。将分配的内存分割成各种尺寸的块(chucnk),并把尺寸相同的块分成组(chucnk的集合)如图: 而且slab allocator还有重复使用已分配内存的目的。也就是说,分配到的内存不会释放,而是重复利用。 Slab Allocation的主要术语 Page :分配给Slab的内存空间,默认是1MB。分配给Slab之后根据slab的大小切分成chunk. Chunk :用于缓存记录的内存空间。 Slab Class:特定大小的chunk的组。 2. 环境 3. 安装(下载源码包全部放至/usr/local/src目录下,先cd切换到/usr/local/src目录下工作) 安装libevent(memcache网络库部分基于libevent库开发,解决了不同平台的差异性) 下载:wgethttps://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz 解压: tar xf libevent-2.1.8-stable.tar.gz 进入目录: cd libevent-2.1.8-stable 安装: ./configure --prefix=/usr/local/libevent-2.1.8 && make && make install 做软链接 ln -s /usr/local/libevent-2.1.8 /usr/local/libevent 安装memcached 下载: wgethttp://www.memcached.org/files/memcached-1.4.35.tar.gz 解压: tar xf memcached-1.4.35.tar.gz 进入目录: cd memcached-1.4.35 编译安装:./configure --prefix=/usr/local/memcached-1.4.35--with-libevent=/usr/local/libevent && make && make install 做软链接: ln -s /usr/local/memcached-1.4.35 /usr/local/memcached 创建系统用户, 并且不创建家目录 useradd -r -s /sbin/nologin -M memcached 编辑并添加memcached启动脚本(当前路径还在memcached-1.4.35源码包目录里) 进入脚本目录: cd scripts 复制脚本至init.d目录下: cp memcached.sysv /etc/init.d/memcached 创建memcached运行目录, 并改变其用户与用户组为memcached mkdir /var/run/memcached chown memcached.memcached /var/run/memcached 编辑脚本: (/etc/init.d/memcached) daemon memcached -d -p $PORT -u $USER -m $CACHESIZE -c $MAXCONN -P /var/run/memcached/memcached.pid $OPTIONS 改为 daemon /usr/local/memcached/bin/memcached -d -p $PORT -u $USER -m $CACHESIZE -c $MAXCONN -P /var/run/memcached/memcached.pid $OPTIONS (可选)删除脚本中以下内容 PORT=11211 USER=nobody MAXCONN=1024 CACHESIZE=64 OPTIONS="" 创建参数脚本并添加参数 创建touch /etc/sysconfig/memcached 更改用户与用户组 chown memcached.memcached /etc/sysconfig/memcached 添加内容 PORT=11211 USER=memcached MAXCONN=1024 CACHESIZE=64 OPTIONS="-l 0.0.0.0,::1" 将memcached添加进service管理,并开机启动 chkconfig --add memcached chkconfig memcached on 4. 测试 启动: /etc/init.d/memcached start 或者 service memcached start 启动成功 5. 连接(通过telnet测试连接) telnet 127.0.0.1 11211 6. 总结 以需求驱动技术,技术本身没有优略之分,只有业务之分。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册