LNMP+memcached

2.LNMP+memcached
问题
沿用练习一,部署LNMP+memcached网站平台,通过PHP页面实现对memcached服务器的数据操作,实现以下目标:
1)部署LNMP实现PHP动态网站架构
2)创建PHP页面,并编写PHP代码,实现对memcached的数据操作
3)具体操作包括增、删、改、查
方案
使用2台RHEL6虚拟机,其中一台作为memcached及LNMP服务器(192.168.4.5)、另外一台作为测试用的Linux客户机(192.168.4.205),如图-2所示。
在这里插入图片描述
图-2
在RHEL6系统中,我们使用源码的方式安装所有软件,nginx、mysql、php、memcached,注意相关依赖包软件也需要安装。另外如果希望使用PHP来操作memcached,注意必须要为PHP安装memcache扩展,都则PHP无法解析连接memcached的指令。客户端测试时需要提前安装telnet远程工具。
步骤
实现此案例需要按照如下步骤进行。
步骤一:部署LNMP环境
1)使用yum安装基础依赖包
[root@svr5 ~]# yum -y groupinstall “Development Tools”
[root@svr5 ~]# yum -y install gcc openssl-devel pcre-devel zlib-devel ncurses-devel
… …
2)源码安装Nginx
[root@svr5 ~]# useradd -s /sbin/nologin www
[root@svr5 ~]# tar -zxvf nginx-1.2.0.tar.gz
[root@svr5 ~]# cd nginx-1.2.0
[root@svr5 nginx-1.2.0]# ./configure \

–prefix=/usr/local/nginx
–user=www --group=www
–with-http_ssl_module
–with-http_stub_status_module
–with-http_gzip_static_module
… …
[root@svr5 ~]# make && make install
… …
3)源码安装cmake
新版本的MySQL需要使用cmake编译,因此安装MySQL前需要安装cmake:
[root@svr5 ~]# tar -zxvf cmake-2.8.10.2.tar.gz
[root@svr5 ~]# cd cmake-2.8.10.2
[root@svr5 cmake-2.8.10.2]# ./bootstrap --prefix=/usr/local/cmake
[root@svr5 cmake-2.8.10.2]# make && make install
[root@svr5 cmake-2.8.10.2]# /usr/local/cmake/bin/cmake --version
ncmake version 2.8.10.2

4)安装MySQL
[root@svr5 ~]# useradd –s /sbin/nologin mysql
[root@svr5 ~]# tar -zxvf mysql-5.5.13.tar.gz
[root@svr5 ~]# cd mysql-5.5.13
[root@svr5 mysql-5.5.13]# /usr/local/cmake/bin/cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DSYSCONFDIR=/etc -DMYSQL_DATADIR=/usr/local/mysql/data
-DMYSQL_TCP_PORT=3306
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock
-DMYSQL_USER=mysql -DEXTRA_CHARSETS=all
[root@svr5 mysql-5.5.13]# make && make install
[root@svr5 mysql-5.5.13]# chown -R mysql.mysql /usr/local/mysql/
[root@svr5 mysql-5.5.13]# cd /usr/local/mysql
[root@svr5 mysql]#./scripts/mysql_install_db
–user=mysql --datadir=/usr/local/mysql/data
[root@svr5 mysql]# ls data/
mysql performance_schema test
5)安装mhash、libiconv、libmcrypt、PHP
[root@svr5 ~]# tar -zxvf mhash-0.9.9.9.tar.gz
[root@svr5 ~]# cd mhash-0.9.9.9
[root@svr5 mhash-0.9.9.9]# ./configure
[root@svr5 mhash-0.9.9.9]# make && make install
[root@svr5 ~]# tar -zxvf libiconv-1.13.tar.gz
[root@svr5 libiconv-1.13]# cd libiconv-1.13
[root@svr5 libiconv-1.13]# ./configure
[root@svr5 libiconv-1.13]# make && make install
[root@svr5 ~]# tar -zxvf libmcrypt-2.5.8.tar.gz
[root@svr5 ~]# cd libmcrypt-2.5.8
[root@svr5 libmcrypt-2.5.8]# ./configure
[root@svr5 libmcrypt-2.5.8]# make && make install
[root@svr5 libmcrypt-2.5.8]# ldconfig -v
[root@svr5 libmcrypt-2.5.8]# cd libltdl
[root@svr5 libltdl ]# ./configure --enable-ltdl-install
[root@svr5 libltdl ]# make && make install
[root@svr5 ~]# ln -sv /usr/local/lib/libmcrypt* /usr/lib/
[root@svr5 ~]# ln -sv /usr/local/lib/libmhash.* /usr/lib/
[root@svr5 ~]# ln -sv /usr/local/lib/libicon* /usr/lib/
[root@svr5 ~]# tar -zxvf php-5.4.9.tar.gz
[root@svr5 ~]# cd php-5.4.9
[root@svr5 php-5.4.9]# ./configure
–prefix=/usr/local/php5
–with-config-file-path=/usr/local/php5/etc
–with-mysql=/usr/local/mysql
–with-mysqli=/usr/local/mysql/bin/mysql_config
–enable-fpm --enable-mbstring
[root@svr5 php-5.4.9]# make ZEND_EXTRA_LIBS=’-liconv’
[root@svr5 php-5.4.9]# make install
[root@svr5 php-5.4.9]# cp php.ini-production /usr/local/php5/etc/php.ini
6)为PHP添加memcache扩展
[root@svr5 ~]# tar -zxvf memcache-2.2.5.tgz
[root@svr5 ~]# cd memcache-2.2.5
[root@svr5 memcache-2.2.5]# /usr/local/php5/bin/phpize
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
[root@svr5 memcache-2.2.5]# ./configure \
–with-php-config=/usr/local/php5/bin/php-config
–enable-memcache
[root@svr5 memcache-2.2.5]# make && make install
[root@svr5 ~]# vim /usr/local/php5/etc/php.ini
extension_dir=“/usr/local/php5/lib/php/extensions/no-debug-non-zts-20100525/”
extension=memcache.so
7)生成php-fpm配置文件
默认安装完php后,会自动生成一个php-fpm参考模板,我们需要复制该模板,并进行适当修改即可。
[root@svr5 ~]# cd /usr/local/php5/etc/
[root@svr5 etc]# cp php-fpm.conf.default php-fpm.conf
8)修改php-fpm配置文件,并启动php-fpm服务
[root@svr5 etc]# vim /usr/local/php5/etc/php-fpm.conf
[global]
pid = run/php-fpm.pid
error_log = log/php-fpm.log
log_level = error
daemonize = yes
[www]
user = www
group = www
listen = 127.0.0.1:9000
pm = dynamic
pm.max_children = 32
pm.start_servers = 15
pm.min_spare_servers = 5
pm.max_spare_servers = 32
[root@localhost ~]# cd php-5.4.9/sapi/fpm/ //进入安装包子目录
[root@localhost fpm]# cp init.d.php-fpm /etc/rc.d/init.d/php-fpm
[root@localhost fpm]# chmod +x /etc/rc.d/init.d/php-fpm
[root@localhost fpm]# chkconfig --add php-fpm
[root@localhost fpm]# service php-fpm start
[root@localhost fpm]# ps aux | grep php-fpm
9)修改Nginx配置文件
[root@svr5 ~]# vim /usr/local/nginx/conf/nginx.conf
location / {
root html;
index index.php index.html index.htm;
}
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME d o c u m e n t r o o t document_root documentrootfastcgi_script_name;
include fastcgi_params;
}
步骤二:启动服务
1)启动Nginx服务
这里需要注意的是,如果服务器上已经启动了其他监听80端口的服务软件(如httpd),则需要先关闭该服务,否则会出现冲突。
[root@svr5 ~]# service httpd stop //如果该服务存在则关闭该服务
[root@svr5 ~]# chkconfig httpd off
[root@svr5 ~]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
[root@svr5 ~]# netstat -utnlp | grep :80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 32428/nginx
2)启动MySQL服务
[root@svr5 ~]# echo “/usr/local/mysql/lib/” >> /etc/ld.so.conf
[root@svr5 ~]# ldconfig
[root@svr5 ~]# vim /etc/profile
… …
PATH= P A T H : PATH: PATH:HOME/bin:/usr/local/mysql/bin/
export PATH
[root@svr5 mysql]# cp /usr/local/mysql/my.cnf /etc/my.cnf
[root@svr5 mysql]# cp /usr/local/mysql/support-files/mysql.server
/etc/init.d/mysqld
[root@svr5 mysql]# chmod +x /etc/init.d/mysqld
[root@svr5 mysql]# chkconfig add mysqld
[root@svr5 mysql]# chkconfig mysqld on
[root@svr5 ~]# service mysqld start
步骤三:创建PHP页面,使用PHP语言测试memcached服务
创建PHP首页文档/usr/local/nginx/html/index.php:
[root@svr5 ~]# vim /usr/local/nginx/html/index.php

<?php $memcache=new Memcache; //创建memcache对象 $memcache->connect(‘localhost’,11211) or die (‘could not connect!!’); $memcache->set(‘key’,‘test’); //定义变量 $get_values=$memcache->get(‘key’); //获取变量值 echo $get_values; ?>

步骤四:客户端测试
客户端使用浏览器访问服务器PHP首页文档,检验对memcached的操作是否成功:
[root@client ~]# firefox http://192.168.4.5

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

董筱杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值