lnmp-memcache-memadmin管理(memcached单进程)
1)源码安装nginx (在192.168.4.5上)
[root@localhost 桌面]# yum -y install gcc gcc-c++
[root@localhost 桌面]# yum -y install openssl-devel openssl zlib zlib-devel pcre pcre-devel
[root@localhost 桌面]# ls
libiconv-1.14.tar.gz mhash-0.9.9.9.tar.gz nginx-1.6.2.tar.gz
libmcrypt-2.5.8.tar.gz mysql-5.1.72.tar.gz php-5.3.27.tar.gz
[root@localhost 桌面]# mkdir /nginx
[root@localhost 桌面]# mv nginx-1.6.2.tar.gz /nginx/
[root@localhost 桌面]# cd /nginx/
[root@localhost nginx]# ls
nginx-1.6.2.tar.gz
[root@localhost nginx]# tar -zxf nginx-1.6.2.tar.gz
[root@localhost nginx]# ls
nginx-1.6.2 nginx-1.6.2.tar.gz
[root@localhost nginx]# cd nginx-1.6.2
[root@localhost nginx-1.6.2]# ls
auto CHANGES.ru configure html man src
CHANGES conf contrib LICENSE README
[root@localhost nginx-1.6.2]# useradd -s /sbin/nologin -M nginx
[root@localhost nginx-1.6.2]# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
[root@localhost nginx-1.6.2]# make && make install
[root@localhost nginx-1.6.2]# ls /usr/local/nginx/
conf html logs sbin
[root@localhost nginx-1.6.2]# cd /root/桌面
[root@localhost 桌面]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost 桌面]# /usr/local/nginx/sbin/nginx
[root@localhost 桌面]# /usr/local/nginx/sbin/nginx -s stop
[root@localhost 桌面]# /usr/local/nginx/sbin/nginx
[root@localhost 桌面]# /usr/local/nginx/sbin/nginx -s reload
[root@localhost 桌面]# lsof -i :80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 5804 root 6u IPv4 28931 0t0 TCP *:http (LISTEN)
nginx 5807 nginx 6u IPv4 28931 0t0 TCP *:http (LISTEN)
[root@localhost 桌面]# vim /usr/local/nginx/conf/nginx.conf
user nginx;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name www.etiantian.org;
location / {
root www;
index index.html index.htm;
}
}
server {
listen 80;
server_name bbs.etiantian.org;
location / {
root bbs;
index index.html index.htm;
}
}
}
wq
[root@localhost conf]# cd /root/桌面
[root@localhost 桌面]# mkdir /usr/local/nginx/www
[root@localhost 桌面]# mkdir /usr/local/nginx/bbs
[root@localhost 桌面]# echo "www" > /usr/local/nginx/www/index.html
[root@localhost 桌面]# echo "bbs" > /usr/local/nginx/bbs/index.html
[root@localhost 桌面]# /usr/local/nginx/sbin/nginx -s reload
在192.168.4.66(客户端) //通过不同域名访问不同网页(虚拟主机)
[root@localhost 桌面]# vim /etc/hosts
192.168.4.5 www.etiantian.org bbs.etiantian.org
2)源码安装mysql (在192.168.4.5上)
依赖包:ncurses-devel需要提前装,否则会报错,这里为了显示错误,所以没有提前装。
[root@localhost 桌面]# useradd mysql -M -s /sbin/nologin
[root@localhost 桌面]# mkdir /mysql
[root@localhost 桌面]# mv mysql-5.1.72.tar.gz /mysql/
[root@localhost 桌面]# cd /mysql/
[root@localhost mysql]# ls
mysql-5.1.72.tar.gz
[root@localhost mysql]# tar -zxf mysql-5.1.72.tar.gz
[root@localhost mysql]# ls
mysql-5.1.72 mysql-5.1.72.tar.gz
[root@localhost mysql]# cd mysql-5.1.72
[root@localhost mysql-5.1.72]# ls
aclocal.m4 configure.in libmysql netware strings
BUILD COPYING libmysqld plugin support-files
ChangeLog dbug libmysql_r README tests
client depcomp ltmain.sh regex unittest
CMakeLists.txt Docs Makefile.am scripts vio
cmd-line-utils extra Makefile.in server-tools win
config include man sql ylwrap
config.guess install-sh missing sql-bench zlib
config.sub INSTALL-SOURCE mysql-test sql-common
configure INSTALL-WIN-SOURCE mysys storage
[root@localhost mysql-5.1.72]# ./configure
--prefix=/usr/local/mysql
--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
--localstatedir=/usr/local/mysql/data
--enable-assembler
--enable-thread-safe-client
--with-mysqld-user=mysql
--with-big-tables
--without-debug
--with-pthread
--enable-assembler
--with-extra-charsets=complex
--with-readline
--with-ssl
--with-embedded-server
--enable-local-infile
--with-plugins=partition,innobase
--with-mysqld-ldflags=-all-static
--with-client-ldflags=-all-static
回车即可。
报错信息:
checking for termcap functions library... configure: error: No curses/termcap library found
解决方法:
[root@localhost mysql-5.1.72]# yum -y install ncurses-devel
[root@localhost mysql-5.1.72]# ./configure
--prefix=/usr/local/mysql
--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
--localstatedir=/usr/local/mysql/data
--enable-assembler
--enable-thread-safe-client
--with-mysqld-user=mysql
--with-big-tables
--without-debug
--with-pthread
--enable-assembler
--with-extra-charsets=complex
--with-readline
--with-ssl
--with-embedded-server
--enable-local-infile
--with-plugins=partition,innobase
--with-mysqld-ldflags=-all-static
--with-client-ldflags=-all-static
回车即可。
[root@localhost mysql-5.1.72]# make && make install
[root@localhost mysql-5.1.72]# ls /usr/local/mysql/
bin docs include lib libexec mysql-test share sql-bench //安装完毕
//下面拷贝解压后的配置文件
[root@localhost mysql-5.1.72]# ls /mysql/mysql-5.1.72/support-files/
binary-configure Makefile.in mysqld_multi.server.sh
binary-configure.sh my-huge.cnf mysql-log-rotate
compiler_warnings.supp my-huge.cnf.sh mysql-log-rotate.sh
config.huge.ini my-innodb-heavy-4G.cnf mysql.m4
config.huge.ini.sh my-innodb-heavy-4G.cnf.sh mysql.server
config.medium.ini my-large.cnf mysql.server.sh
config.medium.ini.sh my-large.cnf.sh MySQL-shared-compat.spec
config.small.ini my-medium.cnf MySQL-shared-compat.spec.sh
config.small.ini.sh my-medium.cnf.sh mysql.spec
MacOSX my-small.cnf mysql.spec.sh
magic my-small.cnf.sh ndb-config-2-node.ini
Makefile mysql-5.1.72.spec ndb-config-2-node.ini.sh
Makefile.am mysqld_multi.server RHEL4-SElinux
//这里面是好多配置文件,选择需要的
[root@localhost mysql-5.1.72]# ls /mysql/mysql-5.1.72/support-files/my*.cnf
/mysql/mysql-5.1.72/support-files/my-huge.cnf //巨大
/mysql/mysql-5.1.72/support-files/my-innodb-heavy-4G.cnf //重大
/mysql/mysql-5.1.72/support-files/my-large.cnf //大
/mysql/mysql-5.1.72/support-files/my-medium.cnf //中等
/mysql/mysql-5.1.72/support-files/my-small.cnf //小
//上面大小是要针对硬件配置选择相应的配置文件,配置越高,可以选择更大的,现是虚拟机选择:small
[root@localhost mysql-5.1.72]# cd /mysql/mysql-5.1.72/support-files/
[root@localhost support-files]# cp my-small.cnf /etc/my.cnf
[root@localhost support-files]# mkdir /usr/local/mysql/data
[root@localhost support-files]# chown -R mysql.mysql /usr/local/mysql/data/
[root@localhost support-files]# ls /usr/local/mysql/bin/ |grep mysql_install
mysql_install_db //初始化数据库的二进制文件
//数据库初始化
[root@localhost support-files]# /usr/local/mysql/bin/mysql_install_db
--basedir=/usr/local/mysql/
--datadir=/usr/local/mysql/data/
--user=mysql
回车即可。
[root@localhost support-files]# ls /mysql/mysql-5.1.72/support-files/ |grep mysql.server
mysql.server
mysql.server.sh
[root@localhost support-files]# cd /mysql/mysql-5.1.72/support-files/
[root@localhost support-files]# cp mysql.server /etc/init.d/mysqld //拷贝启动脚本
[root@localhost support-files]# chmod +x /etc/init.d/mysqld
[root@localhost support-files]# vim /etc/init.d/mysqld //需修改一下脚本中路径才能启动
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data
wq
[root@localhost support-files]# /etc/init.d/mysqld start
Starting MySQL.. [确定]
[root@localhost support-files]# mysql
mysql> set password for root@"localhost"=password("123");
mysql> quit
[root@localhost support-files]# mysql -uroot -p123
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
mysql> quit
[root@localhost support-files]# cd /root/桌面
3)源码安装php (在192.168.4.5上)
//安装php所需的图形lib库
php程序在开发时会调用一些诸如画图所需的库,(网站有的需要图形如验证码、图形库等),大概如下:
zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel libxml2-devel libjpeg freetype-devel libpng-devel gd-devel curl-devel
[root@localhost 桌面]# yum -y install zlib libxml libjpeg freetype libpng gd curl zlib-devel libxml2-devel libjpeg-turbo-devel freetype-devel libpng-devel gd-devel curl-devel
[root@localhost 桌面]# rpm -qa zlib libxml libjpeg freetype libpng gd curl zlib-devel libxml2-devel libjpeg-turbo-devel freetype-devel libpng-devel gd-devel curl-devel
gd-2.0.35-11.el6.x86_64
libjpeg-turbo-devel-1.2.1-1.el6.x86_64
freetype-2.3.11-14.el6_3.1.x86_64
libpng-devel-1.2.49-1.el6_2.x86_64
freetype-devel-2.3.11-14.el6_3.1.x86_64
libpng-1.2.49-1.el6_2.x86_64
zlib-devel-1.2.3-29.el6.x86_64
libxml2-devel-2.7.6-14.el6.x86_64
zlib-1.2.3-29.el6.x86_64
curl-7.19.7-37.el6_4.x86_64
//源码安装php依赖包
[root@localhost 桌面]# yum -y install libxslt* //普通依赖包
[root@localhost 桌面]# ls
libiconv-1.14.tar.gz mhash-0.9.9.9.tar.gz
libmcrypt-2.5.8.tar.gz php-5.3.27.tar.gz
[root@localhost 桌面]# mkdir /php_yilai
[root@localhost 桌面]# mv libiconv-1.14.tar.gz /php_yilai/ //字体转换库
[root@localhost 桌面]# mv mhash-0.9.9.9.tar.gz /php_yilai/
[root@localhost 桌面]# mv libmcrypt-2.5.8.tar.gz /php_yilai/ //加密的库libmcrypt
[root@localhost 桌面]# cd /php_yilai/
[root@localhost php_yilai]# ls
libiconv-1.14.tar.gz libmcrypt-2.5.8.tar.gz mhash-0.9.9.9.tar.gz
[root@localhost php_yilai]# tar -zxf mhash-0.9.9.9.tar.gz
[root@localhost php_yilai]# tar -zxf libiconv-1.14.tar.gz
[root@localhost php_yilai]# tar -zxf libmcrypt-2.5.8.tar.gz
[root@localhost php_yilai]# ls
libiconv-1.14 libmcrypt-2.5.8 mhash-0.9.9.9
libiconv-1.14.tar.gz libmcrypt-2.5.8.tar.gz mhash-0.9.9.9.tar.gz
[root@localhost php_yilai]# cd mhash-0.9.9.9
[root@localhost mhash-0.9.9.9]# ls
acinclude.m4 config.status depcomp ltmain.sh NEWS
aclocal.m4 config.sub doc Makefile.am README
AUTHORS configure include Makefile.in src
buildconf configure.in INSTALL mhash-0.9.9 stamp-h1
ChangeLog COPYING install-sh mhash.spec THANKS
changelog-update.sh CVS lib mhash.spec.in TODO
config.guess CYGWIN-PATCHES libtool missing win32
[root@localhost mhash-0.9.9.9]# ./configure
[root@localhost mhash-0.9.9.9]# make && make install
[root@localhost mhash-0.9.9.9]# cd ..
[root@localhost php_yilai]# cd libiconv-1.14
[root@localhost libiconv-1.14]# ls
ABOUT-NLS configure.ac gnulib-local Makefile.in README tools
aclocal.m4 COPYING HACKING man README.djgpp windows
AUTHORS COPYING.LIB include NEWS README.woe32 woe32dll
autogen.sh DEPENDENCIES INSTALL.generic NOTES src
build-aux DESIGN lib os2 srclib
ChangeLog djgpp libcharset po srcm4
config.h.in doc m4 PORTS tests
configure extras Makefile.devel preload THANKS
[root@localhost libiconv-1.14]# ./configure
[root@localhost libiconv-1.14]# make && make install
[root@localhost libiconv-1.14]# cd ..
[root@localhost php_yilai]# cd libmcrypt-2.5.8
[root@localhost libmcrypt-2.5.8]# ls
acinclude.m4 config.h depcomp libmcrypt.spec mkinstalldirs
aclocal.m4 config.h.in doc libmcrypt.spec.in modules
AUTHORS config.log include libtool NEWS
autom4te.cache config.status INSTALL ltmain.sh README
autoscan.log config.sub install-sh Makefile src
buildconf configure KNOWN-BUGS Makefile.am stamp-h1
ChangeLog configure.in lib Makefile.in THANKS
config.guess COPYING.LIB libltdl missing TODO
[root@localhost libmcrypt-2.5.8]# ./configure
[root@localhost libmcrypt-2.5.8]# make && make install
[root@localhost libmcrypt-2.5.8]# cd libltdl/
[root@localhost libltdl]# ls
acinclude.m4 config-h.in configure.in ltdl.c Makefile.am README
aclocal.m4 configure COPYING.LIB ltdl.h Makefile.in
[root@localhost libltdl]# ./configure --enable-ltdl-install
[root@localhost libltdl]# make && make install
[root@localhost libltdl]# cd /root/桌面
[root@localhost 桌面]# ldconfig -v |grep mhash
空
[root@localhost 桌面]# ls /usr/local/lib
charset.alias libiconv.so.2 libmcrypt.so.4.4.8
libcharset.a libiconv.so.2.5.1 libmhash.a
libcharset.la libltdl.a libmhash.la
libcharset.so libltdl.la libmhash.so
libcharset.so.1 libmcrypt libmhash.so.2
libcharset.so.1.0.0 libmcrypt.la libmhash.so.2.0.1
libiconv.la libmcrypt.so preloadable_libiconv.so
libiconv.so libmcrypt.so.4
[root@localhost 桌面]# ln -s /usr/local/lib/libmhash.* /usr/lib
[root@localhost 桌面]# ln -s /usr/local/lib/libmcrypt* /usr/lib
[root@localhost 桌面]# ln -s /usr/local/lib/libiconv.* /usr/lib
[root@localhost 桌面]# ldconfig -v |grep mhash
libmhash.so.2 -> libmhash.so.2.0.1
[root@localhost 桌面]# ldconfig -v |grep mcrypt
libmcrypt.so.4 -> libmcrypt.so.4.4.8
[root@localhost 桌面]# ldconfig -v |grep conv
libiconv.so.2 -> libiconv.so.2.5.1
libv4lconvert.so.0 -> libv4lconvert.so.0
libconversion.so.4 -> libconversion.so.4.3.0
//安装php
[root@localhost 桌面]# mkdir /php
[root@localhost 桌面]# mv php-5.3.27.tar.gz /php
[root@localhost 桌面]# cd /php
[root@localhost php]# ls
php-5.3.27.tar.gz
[root@localhost php]# tar -zxf php-5.3.27.tar.gz
[root@localhost php]# ls
php-5.3.27 php-5.3.27.tar.gz
[root@localhost php]# cd php-5.3.27
[root@localhost php-5.3.27]# ls
acconfig.h Makefile.frag README.SUBMITTING_PATCH
acconfig.h.in Makefile.gcov README.TESTING
acinclude.m4 Makefile.global README.TESTING2
aclocal.m4 makerpm README.UNIX-BUILD-SYSTEM
build missing README.WIN32-BUILD-SYSTEM
buildconf mkinstalldirs run-tests.php
buildconf.bat netware sapi
CODING_STANDARDS NEWS scripts
config.guess pear server-tests-config.php
config.sub php5.spec.in server-tests.php
configure php.gif snapshot
configure.in php.ini-development stamp-h.in
CREDITS php.ini-production stub.c
ext README.EXTENSIONS svnclean.bat
EXTENSIONS README.EXT_SKEL tests
footer README.GIT-RULES TODO
generated_lists README.input_filter TODO-5.1
genfiles README.MAILINGLIST_RULES TODO-PHP5
header README.namespaces TSRM
INSTALL README.PARAMETER_PARSING_API UPGRADING
install-sh README.PHP4-TO-PHP5-THIN-CHANGES UPGRADING.INTERNALS
LICENSE README.REDIST.BINS vcsclean
ltmain.sh README.RELEASE_PROCESS win32
main README.SELF-CONTAINED-EXTENSIONS Zend
makedist README.STREAMS
[root@localhost php-5.3.27]#./configure
--prefix=/usr/local/php
--enable-fpm
--with-mysql=/usr/local/mysql/
--with-mysqli=/usr/local/mysql/bin/mysql_config
--enable-mbstring
--with-config-file-path=/usr/local/php/etc
--with-iconv-dir=/usr/local/libiconv/
--with-freetype-dir
--with-jpeg-dir
--with-png-dir
--with-zlib
--with-libxml-dir=/usr/
--enable-xml
--disable-rpath
--enable-discard-path
--enable-safe-mode
--enable-bcmath
--enable-shmop
--enable-sysvsem
--enable-inline-optimization
--with-curl
--with-curlwrappers
--enable-mbregex
--enable-fastcgi
--enable-force-cgi-redirect
--enable-mbstring
--with-mcrypt
--with-gd
--enable-gd-native-ttf
--with-openssl
--with-mhash
--enable-pcntl
--enable-sockets
--with-ldap
--with-ldap-sasl
--with-xmlrpc
--enable-zip
--enable-soap
--enable-short-tags
--enable-zend-multibyte
--enable-static
--with-xsl
--with-fpm-user=nginx
--with-fpm-group=nginx
回车即可。
报错1:configure: error: Cannot find ldap.h
解决:[root@localhost php-5.3.27]# yum -y install openldap openldap-devel
报错2:configure: error: Cannot find ldap libraries in /usr/lib.
解决:[root@localhost php-5.3.27]# cp -frp /usr/lib64/libldap* /usr/lib/
[root@localhost php-5.3.27]# make ZEND_EXTRA_LIBS='-liconv' //编译时,支持编码转换的扩展库
[root@localhost php-5.3.27]# make install //安装完成
如果有这种报错libxslt的,解决方法:yum -y install libxslt-devel
[root@localhost php-5.3.27]# cp php.ini-production /usr/local/php/etc/php.ini //拷贝配置文件
[root@localhost php-5.3.27]# vim /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/mysql/lib //添加此行,将mysql的lib库文件目录加入到ldconfig
wq
[root@localhost php-5.3.27]# ldconfig //刷新
[root@localhost php-5.3.27]# cd /usr/local/php/etc/
[root@localhost etc]# ls
pear.conf php-fpm.conf.default php.ini
[root@localhost etc]# cp php-fpm.conf.default php-fpm.conf //拷贝fast-cgi动态网页配置文件
[root@localhost etc]# ls
pear.conf php-fpm.conf php-fpm.conf.default php.ini
[root@localhost etc]# vim php-fpm.conf //fast-cgi配置文件,配置动态网页参数
pid = run/php-fpm.pid
error_log = log/php-fpm.log
log_level = error
daemonize = yes //上面这些释放
[www]
user = nginx
group = nginx
listen = 127.0.0.1:9000
pm=dynamic //模式:动态启动进程
pm.max_children=5 //最大启动进程数
pm.start_servers=2 //默认启动个数
pm.min_spare_servers=1 //最小空闲个数
pm.max_spare_servers=3 //最大空闲个数
wq
[root@localhost etc]# ls /php/php-5.3.27/sapi/fpm/
config.m4 init.d.php-fpm.in php-fpm.8 php-fpm.service
CREDITS LICENSE php-fpm.8.in php-fpm.service.in
fpm Makefile.frag php-fpm.conf status.html
init.d.php-fpm php-fpm php-fpm.conf.in status.html.in
[root@localhost etc]# cd /php/php-5.3.27/sapi/fpm/
[root@localhost fpm]# cp init.d.php-fpm /etc/init.d/php-fpm //启动动态网页的fast-cgi服务
[root@localhost fpm]# chmod +x /etc/init.d/php-fpm
[root@localhost fpm]# /etc/init.d/php-fpm start
Starting php-fpm done
[root@localhost fpm]# cd /root/桌面 //修改nginx配置文件,调用fast-cgi动态网页
[root@localhost 桌面]# vim /usr/local/nginx/conf/nginx.conf
user nginx;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name www.etiantian.org;
location / {
root www;
index index.html index.htm;
}
}
server {
listen 80;
server_name bbs.etiantian.org;
location / {
root bbs;
index index.php index.html index.htm;
} //上面修改,下面释放并修改
location ~ .php$ {
root bbs;
fastcgi_pass 127.0.0.1:9000; //客户请求匹配php的页面,定义交个后面的fastcgi
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}
wq //此处的document_root是调用了下面配置文件
[root@localhost conf]# ls /usr/local/nginx/conf/
fastcgi.conf mime.types scgi_params
fastcgi.conf.default mime.types.default scgi_params.default
fastcgi_params n.bak uwsgi_params
fastcgi_params.default nginx.conf uwsgi_params.default
koi-utf nginx.conf.default win-utf
koi-win nginx.conf.ori
[root@localhost conf]# cat /usr/local/nginx/conf/fastcgi_params
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param HTTPS $https if_not_empty;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
wq
[root@localhost conf]# cd /root/桌面
[root@localhost 桌面]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost 桌面]# /usr/local/nginx/sbin/nginx -s reload
[root@localhost 桌面]# lsof -i :80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 4597 root 6u IPv4 330357 0t0 TCP *:http (LISTEN)
nginx 4732 nginx 6u IPv4 330357 0t0 TCP *:http (LISTEN)
//以bbs虚拟主机为例建立测试php页面
[root@localhost 桌面]# vim /usr/local/nginx/bbs/index.php
<?php
phpinfo();
?>
wq
192.168.4.66(客户端测试:) //访问测试php页面成功
[root@localhost 桌面]# firefox //此时还没有memcached模块
192.168.4.5(服务端) 建立测试连接mysql程序,还以bbs虚拟主机为例
[root@localhost 桌面]# vim /usr/local/nginx/bbs/linkdb.php
<?php
$linkdb=mysql_connect("127.0.0.1","root","123");
if($linkdb){
echo "db ok";
}else{
echo "db no";
}
?>
wq //原来一般写成localhost,但有时不成功时,写成127.0.0.1时就会成功。
192.168.4.66(客户端测试:) 客户端测试连接mysql成功。
192.168.4.5上:安装php的扩展:memcached的客户端为:memcache(192.168.4.5上lnmp上)
[root@localhost 桌面]# mkdir /memcache
[root@localhost 桌面]# mv memcache-2.2.5.tgz /memcache/
[root@localhost 桌面]# cd /memcache/
[root@localhost memcache]# ls
memcache-2.2.5.tgz
[root@localhost memcache]# yum -y install autoconf
[root@localhost memcache]# tar -zxf memcache-2.2.5.tgz
[root@localhost memcache]# ls
memcache-2.2.5 memcache-2.2.5.tgz package.xml
[root@localhost memcache]# cd memcache-2.2.5
[root@localhost memcache-2.2.5]# ls
config9.m4 memcache.c memcache_queue.h
config.m4 memcache_consistent_hash.c memcache_session.c
config.w32 memcache.dsp memcache_standard_hash.c
CREDITS memcache.php php_memcache.h
example.php memcache_queue.c README
[root@localhost memcache-2.2.5]# /usr/local/php/bin/phpize //安装任何php的扩展都需要执行此命令
[root@localhost memcache-2.2.5]# ls
acinclude.m4 configure.in memcache.php
aclocal.m4 config.w32 memcache_queue.c
autom4te.cache CREDITS memcache_queue.h
build example.php memcache_session.c
config9.m4 install-sh memcache_standard_hash.c
config.guess ltmain.sh missing
config.h.in Makefile.global mkinstalldirs
config.m4 memcache.c php_memcache.h
config.sub memcache_consistent_hash.c README
configure memcache.dsp run-tests.php
[root@localhost memcache-2.2.5]# ./configure
--with-php-config=/usr/local/php/bin/php-config
--enable-memcache //回车即可
[root@localhost memcache-2.2.5]# make && make install
[root@localhost memcache-2.2.5]# ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
memcache.so
[root@localhost memcache-2.2.5]# vim /usr/local/php/etc/php.ini
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/" #添加
extension = "memcache.so" #添加
wq
[root@localhost memcache-2.2.5]# /etc/init.d/php-fpm stop
Gracefully shutting down php-fpm . done
[root@localhost memcache-2.2.5]# /etc/init.d/php-fpm start
Starting php-fpm done
[root@localhost memcache-2.2.5]# lsof -i :9000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
php-fpm 58599 root 7u IPv4 225339 0t0 TCP localhost:cslistener (LISTEN)
php-fpm 58600 nginx 0u IPv4 225339 0t0 TCP localhost:cslistener (LISTEN)
php-fpm 58601 nginx 0u IPv4 225339 0t0 TCP localhost:cslistener (LISTEN)
[root@localhost memcache-2.2.5]# cd /root/桌面
[root@localhost 桌面]# firefox //此时有memcache模块,证明成功安装memcache,(php的扩展)
有memcache模块,php扩展模块成功添加,写一个php测试程序,测试memcache客户端能缓存服务端memcached的数据
[root@localhost 桌面]# vim /usr/local/nginx/bbs/mem.php
<?php
$memcache=new Memcache;
$memcache->connect('192.168.4.205',11211) or die ('could not connect');
$memcache->set('age','23');
$get_values=$memcache->get('age');
echo $get_values;
?>
wq
客户端:192.168.4.66测试:memcache客户端能缓存服务端memcached的数据
192.168.4.5上:安装memcached管理工具mamadmin(lnmp上)
[root@localhost 桌面]# mkdir /memadmin
[root@localhost 桌面]# mv memadmin-1.0.11.tar.gz /memadmin/
[root@localhost 桌面]# cd /memadmin/
[root@localhost memadmin]# ls
memadmin-1.0.11.tar.gz
[root@localhost memadmin]# tar -zxf memadmin-1.0.11.tar.gz
[root@localhost memadmin]# ls
memadmin memadmin-1.0.11.tar.gz
[root@localhost memadmin]# ls memadmin
apps images index.php LICENSE.txt views
config.php include langs README.txt
[root@localhost memadmin]# mv memadmin /usr/local/nginx/bbs/ //产品移动到bbs站点为例
客户端:192.168.4.66测试:管理工具memadmin的使用
[root@localhost 桌面]# vim /etc/hosts
192.168.4.5 www.etiantian.org bbs.etiantian.org
[root@localhost 桌面]# firefox
用户名和密码都是admin,点击login即可登陆memadmin管理器,如下图:
设置好连接到的memcached服务器端IP,名称,端口号,点击添加,如下图:
点击开始管理,如下图:
点击写入数据,如下图:
写入对应的键值对,点击set,保存成功,再点击读取数据,如下图:
输入要查询的键名test1,点击get可查询到刚才对应设置的值,如下图:
在192.168.4.205上:(安装memcached服务)
[root@localhost 桌面]# yum -y install gcc gcc-c++
[root@localhost 桌面]# ls
libevent-2.0.15-stable.tar.gz memcached-1.4.5.tar.gz
[root@localhost 桌面]# tar -zxf libevent-2.0.15-stable.tar.gz
[root@localhost 桌面]# ls
libevent-2.0.15-stable libevent-2.0.15-stable.tar.gz memcached-1.4.5.tar.gz
[root@localhost 桌面]# cd libevent-2.0.15-stable
[root@localhost libevent-2.0.15-stable]# ls
aclocal.m4 evdns.h libevent_openssl.pc.in
arc4random.c event.c libevent.pc.in
autogen.sh event.h libevent_pthreads.pc.in
buffer.c event-internal.h LICENSE
bufferevent_async.c event_iocp.c listener.c
bufferevent.c event_rpcgen.py log.c
bufferevent_filter.c event_tagging.c log-internal.h
bufferevent-internal.h evhttp.h ltmain.sh
bufferevent_openssl.c evmap.c m4
bufferevent_pair.c evmap-internal.h Makefile.am
bufferevent_ratelim.c evport.c Makefile.in
bufferevent_sock.c evrpc.c Makefile.nmake
buffer_iocp.c evrpc.h minheap-internal.h
changelist-internal.h evrpc-internal.h missing
ChangeLog evsignal-internal.h mm-internal.h
compat evthread.c poll.c
compile evthread-internal.h ratelim-internal.h
config.guess evthread_pthread.c README
config.h.in evthread_win32.c sample
config.sub evutil.c select.c
configure evutil.h signal.c
configure.in evutil_rand.c strlcpy.c
defer-internal.h ht-internal.h strlcpy-internal.h
depcomp http.c test
devpoll.c http-internal.h util-internal.h
Doxyfile include whatsnew-2.0.txt
epoll.c install-sh WIN32-Code
epoll_sub.c iocp-internal.h win32select.c
evbuffer-internal.h ipv6-internal.h
evdns.c kqueue.c
[root@localhost libevent-2.0.15-stable]# ./configure
[root@localhost libevent-2.0.15-stable]# make && make install
[root@localhost libevent-2.0.15-stable]# ls /usr/local/lib
libevent-2.0.so.5 libevent_extra.la
libevent-2.0.so.5.1.3 libevent_extra.so
libevent.a libevent.la
libevent_core-2.0.so.5 libevent_pthreads-2.0.so.5
libevent_core-2.0.so.5.1.3 libevent_pthreads-2.0.so.5.1.3
libevent_core.a libevent_pthreads.a
libevent_core.la libevent_pthreads.la
libevent_core.so libevent_pthreads.so
libevent_extra-2.0.so.5 libevent.so
libevent_extra-2.0.so.5.1.3 pkgconfig
libevent_extra.a
[root@localhost libevent-2.0.15-stable]# vim /etc/ld.so.conf.d/libevent.conf
/usr/local/lib
wq
[root@localhost libevent-2.0.15-stable]# ldconfig
[root@localhost libevent-2.0.15-stable]# ldconfig -v |grep libevent
libevent_pthreads-2.0.so.5 -> libevent_pthreads.so
libevent-2.0.so.5 -> libevent.so
libevent_extra-2.0.so.5 -> libevent_extra.so
libevent_core-2.0.so.5 -> libevent_core.so
[root@localhost libevent-2.0.15-stable]# cd -
/root/桌面
[root@localhost 桌面]# ls
libevent-2.0.15-stable libevent-2.0.15-stable.tar.gz memcached-1.4.5.tar.gz
[root@localhost 桌面]# tar -zxf memcached-1.4.5.tar.gz
[root@localhost 桌面]# cd memcached-1.4.5
[root@localhost memcached-1.4.5]# ls
aclocal.m4 config.sub items.c NEWS stats.c
assoc.c configure items.h protocol_binary.h stats.h
assoc.h configure.ac m4 README t
AUTHORS COPYING Makefile.am sasl_defs.c testapp.c
cache.c daemon.c Makefile.in sasl_defs.h thread.c
cache.h depcomp memcached.c scripts timedrun.c
ChangeLog doc memcached_dtrace.d sizes.c trace.h
compile hash.c memcached.h slabs.c util.c
config.guess hash.h memcached.spec slabs.h util.h
config.h.in install-sh missing solaris_priv.c version.m4
[root@localhost memcached-1.4.5]# ./configure
[root@localhost memcached-1.4.5]# make && make install
[root@localhost memcached-1.4.5]# memcached -u root -d
[root@localhost memcached-1.4.5]# ps -elf |grep memcached
1 S root 10259 1 0 80 0 - 81676 ep_pol 01:20 ? 00:00:00 memcached -u root -d
0 S root 10270 2594 0 80 0 - 25814 pipe_w 01:21 pts/0 00:00:00 grep memcached
[root@localhost memcached-1.4.5]# yum -y install telnet
[root@localhost memcached-1.4.5]# telnet localhost 11211
Trying ::1...
Connected to localhost.
Escape character is '^]'.
set name 0 300 3
tom
STORED
get name
VALUE name 0 3
tom
END
append name 0 300 5
tommm
STORED
get name
VALUE name 0 8
tomtommm
END
delete name
DELETED
get name
END
quit
Connection closed by foreign host.
页面更新:2024-03-06
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号