lnmpmemadmin管理(memcached单进程)

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

标签:服务端   虚拟主机   源码   客户端   个数   模块   图形   进程   桌面   测试   数据

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top