mcached缓存之源码编译安装

系统环境:
主机名 操作系统 ip地址 服务软件
memcached centos7.5 192.168.80.100 memcached-1.5.9.tar.gzlibevent-2.1.8-stable.tar.gz

web1 centos7.5 192.168.80.101 yum安装LAMP,memcache-2.2.7.tgz

关闭防火墙及SElinux
systemctl stop firewalld
setenforce 0

memcached服务器:
上传源码包和插件包:
yum install lrz* -y

memcached-1.5.9.tar.gz
libevent-2.1.8-stable.tar.gz

解压
tar xf memcached-1.5.6.tar.gz -C /opt/

tar xf libevent-2.1.8-stable.tar.gz -C /opt/

yum install gcc gcc-c++ make -y

cd /opt/libevent-2.1.8-stable
./configure --prefix=/usr/local/libevent

make && make install

安装memcached:
cd /opt/memcached-1.5.6

./configure
–prefix=/usr/local/memcached
–with-libevent=/usr/local/libevent/
make && make install

ln -s /usr/local/libevent/lib/libevent-2.1.so.6.0.2 /usr/lib64/libevent-2.1.so.6
//不可缺少

cd /usr/local/memcached/bin/

./memcached -d -m 32m -p 11211 -u root //以守护进程的方式分配32MB内存指定端口指定用户账号位root运行Memcached服务

以上选项说明如下:
-p:使用的tcp端口,默认为11211
-m:最大内存大小,默认为64M
-vv:以very vrebose模式启动,将调试信息和错误输出到控制台
-d:作为守护进程的后台运行
-c:最大运行的并发连接数,默认是1024,一般按照服务器的负载量来设置
-P:设置保存Memcached的pid文件
-l:监听的服务器IP地址,若有多个地址
-u:运行Memcached的用户,默认不能用root启动,若使用需要-u来指定root用户

设置Memcached 服务脚本:
vi /etc/init.d/memcached
#!/bin/bash
#chkconfig: 35 99 20
#description: memcached Service Control Script
PROG="/usr/local/memcached/bin/memcached"
case “$1” in
start)
$PROG -d -m 32 -p 11211 -u root
;;
stop)
pkill -9 memcached &> /dev/null
;;
restart)
$0 stop
$0 start
;;
*)
echo “Usage: $0 {start|stop|restart|reload}”
exit 1
esac
exit 0

chmod +x /etc/init.d/memcached //添加运行权限

chkconfig --add memcached //添加到service管理器

service memcached start //启动

netstat -anpt | grep memcached

yum install -y telnet //安装telnet

telnet 127.0.0.1 11211 //连接登录

set userid 0 0 5 //不进行压缩和序列化标识 数据过期时间为永不过期 标识号是5就需要输入5位数。

123456 //输入数据以 . 结束。

get userid //获取数据

stats //显示状态信息

quit //退出

以下安装客户端–需要LAMP-----
------------安装Apache----下面两个插件是httpd2.4以后的版本所需要-----
tar xf apr-1.6.2.tar.gz -C /opt/
tar xf apr-util-1.6.0.tar.gz -C /opt/
tar xf httpd-2.4.29.tar.bz2 -C /opt/

cd /opt
mv apr-1.6.2 httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

yum -y install \ //安装编译环境及插件
gcc
gcc-c++
make
pcre-devel
expat-devel
perl

安装apache:
cd httpd-2.4.29

./configure
–prefix=/usr/local/httpd
–enable-so
–enable-rewrite
–enable-charset-lite
–enable-cgi

make && make install

cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd //添加服务管理脚本
vi /etc/init.d/httpd
添加以下内容:
#chkconfig: 35 85 21
#description: Apache is a World Wide Web server
保存退出

chkconfig --add httpd //将httpd加入到SERVICE管理器

vi /usr/local/httpd/conf/httpd.conf
搜索并修改以下内容:
ServerName 去掉#注释
不修改的话,apache启动不了

ln -s /usr/local/httpd/conf/httpd.conf /etc/ //软连接,将配置文件软连接到etc方便搜寻
ln -s /usr/local/httpd/bin/* /usr/local/bin/ //将apache程序可执行的命令软连接到$PATH环境变量中

apachectl -t //检查apache配置文件语法错误

service httpd start //启动apache服务

netstat -anpt | grep httpd //查看apache端口有没有在工作

apache服务安装完成

---------------以下安装mysql------------------------
yum -y install
ncurses
ncurses-devel
bison
cmake

useradd -s /sbin/nologin mysql

tar xf mysql-boost-5.7.20.tar.gz
cd mysql-5.7.20/

cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock
-DSYSCONFDIR=/etc
-DSYSTEMD_PID_DIR=/usr/local/mysql
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
-DMYSQL_DATADIR=/usr/local/mysql/data
-DWITH_BOOST=boost
-DWITH_SYSTEMD=1

make && make install

make -j8(真机几核的双倍)
make install

chown -R mysql:mysql /usr/local/mysql/

vi /etc/my.cnf

[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

chown mysql:mysql /etc/my.cnf

echo $PATH
在这里插入图片描述

echo ‘PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH’ >> /etc/profile
方便Linux系统识别
echo ‘export PATH’ >> /etc/profile 变为全局变量
source /etc/profile
在这里插入图片描述

在安装目录中进行初始化
cd /usr/local/mysql/

bin/mysqld
–initialize-insecure
–user=mysql
–basedir=/usr/local/mysql
–datadir=/usr/local/mysql/data
安装完此处报3个Warning没事error就不行

cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

systemctl daemon-reload
systemctl start mysqld
netstat -anpt | grep 3306
在这里插入图片描述

systemctl enable mysqld

mysqladmin -u root -p password “abc123” 直接回车不用输入密码
在这里插入图片描述

mysql -u root -pabc123 已经进入数据库
在这里插入图片描述

数据库安装完成
---------以下安装PHP------------
yum -y install
gd
libpng
libpng-devel
pcre
pcre-devel
libxml2-devel
libjpeg-devel

这里注意一下php版本7以上会报错不兼容这里使用php5.6.11版本 7版本报错下面内容
在这里插入图片描述
这报错是因为php7以上的软件包问题

tar xf php-5.6.11.tar.bz2 -C /opt

cd /opt/php-5.6.11/

./configure
–prefix=/usr/local/php5
–with-gd
–with-zlib
–with-apxs2=/usr/local/httpd/bin/apxs
–with-config-file-path=/usr/local/php5
–enable-mbstring

make && make install

cp php.ini-development /usr/local/php5/php.ini
ln -s /usr/local/php5/bin/* /usr/local/bin/
ln -s /usr/local/php5/sbin/* /usr/local/sbin/

vi /etc/httpd.conf

修改成以下内容:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
在这里插入图片描述

DirectoryIndex index.html index.php 在这里插入图片描述

vi /usr/local/httpd/htdocs/index.php

<?php phpinfo(); ?>

service httpd stop
service httpd start
netstat -anpt | grep httpd

以上php搭建完成

测试: 在windows浏览器中输入192.168.80.101
在这里插入图片描述

在浏览器中输入http://192.168.80.101/index.php

在这里插入图片描述
客户端memcache:

yum install gcc gcc-c++ make -y

yum install lrz* -y
memcache-2.2.7.tgz软件包

tar xf memcache-2.2.7.tgz -C /opt/
cd /opt/memcache-2.2.7

/usr/local/php5/bin/phpize //增加为PHP的模块后再对memcache进行配置编译
在这里插入图片描述

yum install autoconf -y 解决上面报错

/usr/local/php5/bin/phpize 在执行一遍命令
在这里插入图片描述

./configure
–enable-memcache
–with-php-config=/usr/local/php5/bin/php-config

make && make install

记录“/usr/local/php5/lib/php/extensions/no-debug-zts-20131226/”类似的 在这里插入图片描述
vi /usr/local/php5/php.ini
搜索并修改以下内容::
extension_dir = “/usr/local/php5/lib/php/extensions/no-debug-zts-20131226/” (去掉注释)
extension = memcache.so (新增)
在这里插入图片描述

-------------以下是在客户端去检测服务端是否可以连接------

vi /usr/local/httpd/htdocs/index.php //编写测试页面,测试memcached工作是否正常

<?php $memcache = new Memcache(); $memcache->connect('192.168.80.100',11211); $memcache->set('key','Memcache test Successfull!',0,60); $result = $memcache->get('key'); unset($memcache); echo $result; ?>

service httpd restart //修改配置文件后要记得重启

在windows浏览器中输入http://192.168.80.101/index.php
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qeeezz11224/article/details/84504116