LNMP环境搭建完整步骤
零、resource http://pan.baidu.com/s/1o83r3S2
一、centos 6.4、VirtualBox 5.0.14
二、nginx 1.9.9
安装
[root@pc ~]# cd /usr/local/src/ [root@pc src]# yum install wget [root@pc src]# wget http://heanet.dl.sourceforge.net/project/pcre/pcre/8.38/pcre-8.38.tar.gz [root@pc src]# tar -xzf pcre-8.38.tar.gz [root@pc src]# cd pcre-8.38/ [root@pc pcre-8.38]# ./configure --prefix=/usr/local/pcre-8.38 [root@pc pcre-8.38]# make [root@pc pcre-8.38]# make install [root@pc pcre-8.38]# cd ../ [root@pc src]# yum -y install libjpeg libjpeg-devel libpng libpng-devel libvpx libvpx-devel libXpm libXpm-devel libxml2 libxml2-devel fontconfig fontconfig-devel freetype freetype-devel zlib zlib-devel bzip2 bzip2-devel curl curl-devel openssl openssl-devel [root@pc src]# groupadd www [root@pc src]# useradd -g www www [root@pc src]# passwd www [root@pc src]# wget http://nginx.org/download/nginx-1.9.9.tar.gz [root@pc src]# tar -xzf nginx-1.9.9.tar.gz [root@pc src]# cd nginx-1.9.9/ [root@pc nginx-1.9.9]# ./configure --prefix=/usr/local/nginx-1.9.9 --user=www --group=www --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.38 [root@pc nginx-1.9.9]# make [root@pc nginx-1.9.9]# make install [root@pc nginx-1.9.9]# cd /usr/local/nginx-1.9.9/conf/ [root@pc conf]# vi nginx.conf user www; worker_processes 10; error_log /data/logs/nginx_error.log; pid /data/logs/nginx.pid; http { include vhost/*.conf; } [root@pc conf]# mkdir vhost rewrite [root@pc conf]# mkdir -p /data/logs/ [root@pc conf]# chown -R www.www /data [root@pc conf]# chmod -R 777 /data [root@pc conf]# /usr/local/nginx-1.9.9/sbin/nginx -t nginx: the configuration file /usr/local/nginx-1.9.9/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx-1.9.9/conf/nginx.conf test is successful [root@pc conf]# /usr/local/nginx-1.9.9/sbin/nginx [root@pc nginx-1.9.9]# ps -ef | grep nginx root 14442 1 0 14:15 ? 00:00:00 nginx: master process /usr/local/nginx-1.9.9/sbin/nginx www 14457 14442 0 14:24 ? 00:00:00 nginx: worker process www 14458 14442 0 14:24 ? 00:00:00 nginx: worker process www 14459 14442 0 14:24 ? 00:00:00 nginx: worker process www 14460 14442 0 14:24 ? 00:00:00 nginx: worker process www 14461 14442 0 14:24 ? 00:00:00 nginx: worker process www 14462 14442 0 14:24 ? 00:00:00 nginx: worker process www 14463 14442 0 14:24 ? 00:00:00 nginx: worker process www 14464 14442 0 14:24 ? 00:00:00 nginx: worker process www 14465 14442 0 14:24 ? 00:00:00 nginx: worker process www 14466 14442 0 14:24 ? 00:00:00 nginx: worker process root 14472 1358 0 14:27 pts/0 00:00:00 grep nginx [root@pc conf]# curl http://localhost <!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title> <style> body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> </head> <body> <h1>Welcome to nginx!</h1> <p>If you see this page, the nginx web server is successfully installed and working. Further configuration is required.</p> <p>For online documentation and support please refer to <a href="http://nginx.org/">nginx.org</a>.<br/> Commercial support is available at <a href="http://nginx.com/">nginx.com</a>.</p> <p><em>Thank you for using nginx.</em></p> </body> </html>
开机自启
[root@pc conf]# vi /etc/init.d/nginx #! /bin/sh DESC="nginx service" NAME=nginx DAEMON=//usr/local/nginx-1.9.9/sbin/$NAME CONFIGFILE=/usr/local/nginx-1.9.9/conf/$NAME.conf PIDFILE=/data/logs/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME set -e [ -x "$DAEMON" ] || exit 0 do_start() { $DAEMON -c $CONFIGFILE || echo -n "nginx already running" } do_stop() { kill -INT `cat $PIDFILE` || echo -n "nginx not running" } do_reload() { kill -HUP `cat $PIDFILE` || echo -n "nginx can't reload" } case "$1" in start) echo -n "Starting $DESC: $NAME" do_start echo "." ;; stop) echo -n "Stopping $DESC: $NAME" do_stop echo "." ;; reload|graceful) echo -n "Reloading $DESC configuration..." do_reload echo "." ;; restart) echo -n "Restarting $DESC: $NAME" do_stop do_start echo "." ;; *) echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2 exit 3 ;; esac exit 0 [root@pc conf]# chmod 775 /etc/init.d/nginx [root@pc conf]# service nginx restart [root@pc conf]# vi /etc/rc.local /etc/init.d/nginx start
三、mysql 5.6.30
安装
[root@pc ~]# cd /usr/local/src/ [root@pc src]# yum -y install bison expat expat-devel ncurses ncurses-devel libaio libaio-devel libc.so.6 [root@pc src]# wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz [root@pc src]# tar -xzf cmake-3.5.2.tar.gz [root@pc src]# cd cmake-3.5.2 [root@pc cmake-3.5.2]# ./configure [root@pc cmake-3.5.2]# make [root@pc cmake-3.5.2]# make install [root@pc cmake-3.5.2]# cd ../ [root@pc src]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.30.tar.gz [root@pc src]# tar -xzf mysql-5.6.30.tar.gz [root@pc mysql-5.6.30]# groupadd mysql [root@pc mysql-5.6.30]# useradd -g mysql mysql -s /bin/false [root@pc mysql-5.6.30]# mkdir -p /data/mysql [root@pc mysql-5.6.30]# chown -R mysql.mysql /data/mysql [root@pc mysql-5.6.30]# mkdir -p /usr/local/mysql-5.6.30 [root@pc mysql-5.6.30]# chown -R mysql.mysql /usr/local/mysql-5.6.30 [root@pc mysql-5.6.30]# yum -y install bison-devel ncurses-devel libaio libaio-devel [root@pc mysql-5.6.30]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.30 \ -DMYSQL_DATADIR=/data/mysql \ -DSYSCONFDIR=/usr/local/mysql-5.6.30 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \ -DMYSQL_TCP_PORT=3306 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DEXTRA_CHARSETS=all \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci [root@pc mysql-5.6.30]# make [root@pc mysql-5.6.30]# make install [root@pc mysql-5.6.30]# chmod +x scripts/mysql_install_db [root@pc mysql-5.6.30]# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql-5.6.30 --datadir=/data/mysql --explicit_defaults_for_timestamp [root@pc mysql-5.6.30]# cd /usr/local/mysql-5.6.30/ [root@pc mysql-5.6.30]# rm -f /etc/my.cnf ./my.cnf [root@pc mysql-5.6.30]# cp support-files/my-default.cnf ./my.cnf [root@pc mysql-5.6.30]# ln -s /usr/local/mysql-5.6.30/my.cnf /etc/my.cnf [root@pc mysql-5.6.30]# vi my.cnf basedir=/usr/local/mysql-5.6.30 datadir=/data/mysql port =3306 pid-file=/data/logs/mysql.pid log_error = /data/logs/mysql_error.log slow_query_log = 1 long_query_time = 1 slow_query_log_file = /data/logs/mysql_slow.log [root@pc mysql-5.6.30]# cp ./support-files/mysql.server /etc/init.d/mysql [root@pc mysql-5.6.30]# chmod 775 /etc/init.d/mysql [root@pc mysql-5.6.30]# /etc/init.d/mysql start Starting MySQL. SUCCESS!
初始化密码,允许远程连接及开机自启
[root@pc mysql-5.6.30]# vi /etc/profile export PATH=$PATH:/usr/local/mysql-5.6.30/bin [root@pc mysql-5.6.30]# source /etc/profile [root@pc mysql-5.6.30]# mysql -u root -p Enter password: #密码为空 mysql> SET PASSWORD = PASSWORD('123456'); Query OK, 0 rows affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec) mysql> DELETE FROM user WHERE Host!='%'; Query OK, 5 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) mysql> exit Bye [root@pc mysql-5.6.30]# vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT [root@pc mysql-5.6.30]# service iptables restart [root@pc mysql-5.6.30]# vi /etc/rc.local /etc/init.d/mysql start
四、php 5.6.21
安装
[root@pc ~]# cd /usr/local/src/ [root@pc src]# wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz [root@pc src]# tar -xzf libmcrypt-2.5.7.tar.gz [root@pc src]# cd libmcrypt-2.5.7 [root@pc libmcrypt-2.5.7]# ./configure [root@pc libmcrypt-2.5.7]# make [root@pc libmcrypt-2.5.7]# make install [root@pc libmcrypt-2.5.7]# ldconfig [root@pc libmcrypt-2.5.7]# cd libltdl/ [root@pc libltdl]# ./configure --enable-ltdl-install [root@pc libltdl]# make [root@pc libltdl]# make install [root@pc libltdl]# cd ../../ [root@pc src]# wget http://jaist.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz [root@pc src]# tar -zxf mhash-0.9.9.9.tar.gz [root@pc src]# cd mhash-0.9.9.9 [root@pc mhash-0.9.9.9]# ./configure [root@pc mhash-0.9.9.9]# make [root@pc mhash-0.9.9.9]# make install [root@pc mhash-0.9.9.9]# cd ../ [root@pc src]# wget http://jaist.dl.sourceforge.net/project/lnmpaio/web/mcrypt/mcrypt-2.6.8.tar.gz [root@pc src]# tar -xzf mcrypt-2.6.8.tar.gz [root@pc src]# cd mcrypt-2.6.8 [root@pc mcrypt-2.6.8]# ./configure LD_LIBRARY_PATH=/usr/local/lib [root@pc mcrypt-2.6.8]# make [root@pc mcrypt-2.6.8]# make install [root@pc mcrypt-2.6.8]# cd ../ [root@pc src]# wget http://mirror.centos.org/centos/6/os/x86_64/Packages/libzip-0.9-3.1.el6.x86_64.rpm [root@pc src]# rpm -ivh libzip-0.9-3.1.el6.x86_64.rpm [root@pc src]# wget http://cn2.php.net/distributions/php-5.6.21.tar.gz [root@pc src]# tar -xzf php-5.6.21.tar.gz [root@pc src]# cd php-5.6.21 [root@pc php-5.6.21]# ./configure \ --prefix=/usr/local/php-5.6.21 \ --with-config-file-path=/usr/local/php-5.6.21/etc \ --enable-fpm --with-fpm-user=www --with-fpm-group=www \ --enable-mysqlnd \ --with-mysqli=/usr/local/mysql-5.6.30/bin/mysql_config \ --with-pdo-mysql=/usr/local/mysql-5.6.30/bin/mysql_config \ --with-libxml-dir \ --enable-zip \ --with-zlib \ --with-zlib-dir \ --with-curl \ --with-mcrypt \ --with-gd \ --enable-gd-native-ttf \ --with-openssl \ --with-mhash \ --with-xmlrpc \ --with-jpeg-dir \ --with-png-dir \ --with-xpm-dir \ --with-freetype-dir \ --enable-shared \ --enable-xml \ --disable-rpath \ --enable-bcmath \ --enable-shmop \ --enable-sysvsem \ --enable-inline-optimization \ --enable-mbregex \ --enable-mbstring \ --enable-pcntl \ --enable-sockets \ --enable-soap ... configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no [root@pc php-5.6.21]# cat /etc/ld.so.conf.d/mysql-x86_64.conf cat: /etc/ld.so.conf.d/mysql-x86_64.conf: No such file or directory [root@pc php-5.6.21]# echo '/usr/local/lib' >> /etc/ld.so.conf.d/local.conf [root@pc php-5.6.21]# echo '/usr/local/lib64' >> /etc/ld.so.conf.d/local.conf [root@pc php-5.6.21]# cat /etc/ld.so.conf.d/mysql-x86_64.conf /usr/lib64/mysql [root@pc php-5.6.21]# echo '/usr/local/mysql-5.6.30/lib' >> /etc/ld.so.conf.d/mysql-x86_64.conf [root@pc php-5.6.21]# ldconfig [root@pc php-5.6.21]# ./configure --prefix=/usr/local/php-5.6.21 --with-config-file-path=/usr/local/php-5.6.21/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mysqlnd --with-mysqli=/usr/local/mysql-5.6.30/bin/mysql_config --with-pdo-mysql=/usr/local/mysql-5.6.30/bin/mysql_config --with-libxml-dir --enable-zip --with-zlib --with-zlib-dir --with-curl --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --with-xmlrpc --with-jpeg-dir --with-png-dir --with-xpm-dir --with-freetype-dir --enable-shared --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-pcntl --enable-sockets --enable-soap [root@pc php-5.6.21]# make -j4 [root@pc php-5.6.21]# make install [root@pc php-5.6.21]# cd /usr/local/php-5.6.21/etc [root@pc etc]# cp /usr/local/src/php-5.6.21/php.ini-development php.ini [root@pc etc]# cp php-fpm.conf.default php-fpm.conf [root@pc etc]# vi php-fpm.conf pid = /data/logs/php-fpm.pid error_log = /data/logs/php-fpm.log pm.max_children = 40 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 [root@pc etc]# vi php.ini date.timezone = 'PRC' error_log = /data/logs/php_errors.log [root@pc etc]# /usr/local/php-5.6.21/sbin/php-fpm [root@pc etc]# ps -ef | grep fpm root 9516 1 0 15:52 ? 00:00:00 php-fpm: master process (/usr/local/php-5.6.21/etc/php-fpm.conf) www 9517 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9518 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9519 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9520 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9521 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9522 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9523 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9524 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9525 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9526 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9527 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9528 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9529 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9530 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9531 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9532 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9533 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9534 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9535 9516 0 15:52 ? 00:00:00 php-fpm: pool www www 9536 9516 0 15:52 ? 00:00:00 php-fpm: pool www root 9545 1666 0 15:54 pts/0 00:00:00 grep fpm [root@pc etc]# /usr/local/php-5.6.21/bin/php -v PHP 5.6.21 (cli) (built: May 7 2016 15:29:00) Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
开机自启
[root@pc etc]# vi /etc/init.d/php-fpm #! /bin/sh php_fpm_BIN=/usr/local/php-5.6.21/sbin/php-fpm php_fpm_CONF=/usr/local/php-5.6.21/etc/php-fpm.conf php_fpm_PID=/data/logs/php-fpm.pid php_fpm_INI=/usr/local/php-5.6.21/etc/php.ini php_opts="--fpm-config $php_fpm_CONF --pid $php_fpm_PID -c $php_fpm_INI" wait_for_pid () { try=0 while test $try -lt 35 ; do case "$1" in 'created') if [ -f "$2" ] ; then try='' break fi ;; 'removed') if [ ! -f "$2" ] ; then try='' break fi ;; esac echo -n . try=`expr $try + 1` sleep 1 done } case "$1" in start) echo -n "Starting php-fpm " $php_fpm_BIN --daemonize $php_opts if [ "$?" != 0 ] ; then echo " failed" exit 1 fi wait_for_pid created $php_fpm_PID if [ -n "$try" ] ; then echo " failed" exit 1 else echo " done" fi ;; stop) echo -n "Gracefully shutting down php-fpm " if [ ! -r $php_fpm_PID ] ; then echo "warning, no pid file found - php-fpm is not running ?" exit 1 fi kill -QUIT `cat $php_fpm_PID` wait_for_pid removed $php_fpm_PID if [ -n "$try" ] ; then echo " failed. Use force-quit" exit 1 else echo " done" fi ;; status) if [ ! -r $php_fpm_PID ] ; then echo "php-fpm is stopped" exit 0 fi PID=`cat $php_fpm_PID` if ps -p $PID | grep -q $PID; then echo "php-fpm (pid $PID) is running..." else echo "php-fpm dead but pid file exists" fi ;; force-quit) echo -n "Terminating php-fpm " if [ ! -r $php_fpm_PID ] ; then echo "warning, no pid file found - php-fpm is not running ?" exit 1 fi kill -TERM `cat $php_fpm_PID` wait_for_pid removed $php_fpm_PID if [ -n "$try" ] ; then echo " failed" exit 1 else echo " done" fi ;; restart) $0 stop $0 start ;; reload) echo -n "Reload service php-fpm " if [ ! -r $php_fpm_PID ] ; then echo "warning, no pid file found - php-fpm is not running ?" exit 1 fi kill -USR2 `cat $php_fpm_PID` echo " done" ;; *) echo "Usage: $0 {start|stop|force-quit|restart|reload|status}" exit 1 ;; esac [root@pc etc]# chmod 775 /etc/init.d/php-fpm [root@pc etc]# service php-fpm restart Gracefully shutting down php-fpm . done Starting php-fpm done [root@pc etc]# vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT [root@pc etc]# service iptables restart [root@pc etc]# vi /etc/rc.local /etc/init.d/php-fpm start
五、vhost
[root@pc etc]# cd /data/ [root@pc data]# mkdir -p /data/www/test [root@pc data]# vi /data/www/test/index.php <?php phpinfo(); [root@pc data]# chown -R www.www /data/www [root@pc data]# vi /usr/local/nginx-1.9.9/conf/vhost/test.conf server { listen 80; server_name www.test.dev; index index.html index.php; root /data/www/test; location ~ .*\.php?$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; access_log off; } location ~ .*\.(js|css)?$ { expires 12h; } #include rewrite/test.conf; #access_log /data/logs/nginx.test.access.log access; } [root@pc data]# vi /usr/local/nginx-1.9.9/conf/fastcgi_params fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; [root@pc data]# service nginx restart [root@pc data]# echo '127.0.0.1 www.test.dev' >> /etc/hosts [root@pc data]# curl http://www.test.dev/index.php | grep 'PHP Version 5.6.21'
六、extension
[root@pc ~]# cd /usr/local/src/ [root@pc src]# yum -y install git [root@pc src]# git clone --depth=1 git://github.com/phalcon/cphalcon.git [root@pc src]# cd cphalcon/build/ [root@pc build]# vi ./install #phpize && ./configure --enable-phalcon && make && make install && echo -e "\nThanks for compiling Phalcon!\nBuild succeed: Please restart your web server to complete the installation" /usr/local/php-5.6.21/bin/phpize && ./configure --enable-phalcon --with-php-config=/usr/local/php-5.6.21/bin/php-config && make && make install && echo -e "\nThanks for compiling Phalcon!\nBuild succeed: Please restart your web server to complete the installation" [root@pc build]# ./install [root@pc build]# vi /usr/local/php-5.6.21/etc/php.ini extension_dir = "/usr/local/php-5.6.21/lib/php/extensions/no-debug-non-zts-20131226/" extension=phalcon.so [root@pc build]# service php-fpm restart [root@pc build]# /usr/local/php-5.6.21/bin/php -i |grep phalcon [root@pc build]# cd ../../ [root@pc src]# wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz [root@pc src]# tar -xzf libmemcached-1.0.18.tar.gz [root@pc src]# cd libmemcached-1.0.18 [root@pc libmemcached-1.0.18]# ./configure --prefix=/usr/local/libmemcached-1.0.18 [root@pc libmemcached-1.0.18]# make [root@pc libmemcached-1.0.18]# make install [root@pc libmemcached-1.0.18]# cd ../ [root@pc src]# wget http://pecl.php.net/get/memcached-2.2.0.tgz [root@pc src]# tar -xzf memcached-2.2.0.tgz [root@pc src]# cd memcached-2.2.0 [root@pc memcached-2.2.0]# /usr/local/php-5.6.21/bin/phpize [root@pc memcached-2.2.0]# ./configure --enable-memcached \ --with-php-config=/usr/local/php-5.6.21/bin/php-config \ --with-libmemcached-dir=/usr/local/libmemcached-1.0.18 ... checking sasl/sasl.h usability... no checking sasl/sasl.h presence... no checking for sasl/sasl.h... no configure: error: no, sasl.h is not available. Run configure with --disable-memcached-sasl to disable this check [root@pc memcached-2.2.0]# yum -y install cyrus-sasl-devel [root@pc memcached-2.2.0]# /usr/local/php-5.6.21/bin/phpize [root@pc memcached-2.2.0]# ./configure --enable-memcached --disable-memcached-sasl \ --with-php-config=/usr/local/php-5.6.21/bin/php-config \ --with-libmemcached-dir=/usr/local/libmemcached-1.0.18 [root@pc memcached-2.2.0]# make [root@pc memcached-2.2.0]# make install [root@pc memcached-2.2.0]# vi /usr/local/php-5.6.21/etc/php.ini extension=memcached.so [root@pc memcached-2.2.0]# service php-fpm restart [root@pc memcached-2.2.0]# /usr/local/php-5.6.21/bin/php -i |grep memcached [root@pc memcached-2.2.0]# cd ../ [root@pc src]# wget http://pecl.php.net/get/memcache-2.2.7.tgz [root@pc src]# tar -xzf memcache-2.2.7.tgz [root@pc src]# cd memcache-2.2.7 [root@pc memcache-2.2.7]# /usr/local/php-5.6.21/bin/phpize [root@pc memcache-2.2.7]# ./configure --with-php-config=/usr/local/php-5.6.21/bin/php-config [root@pc memcache-2.2.7]# make [root@pc memcache-2.2.7]# make install [root@pc memcache-2.2.7]# vi /usr/local/php-5.6.21/etc/php.ini extension=memcache.so [root@pc memcache-2.2.7]# service php-fpm restart [root@pc memcache-2.2.7]# /usr/local/php-5.6.21/bin/php -i |grep memcache
七、memcached service
[root@pc ~]# cd /usr/local/src/ [root@pc src]# wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz [root@pc src]# tar -xzf libevent-2.0.21-stable.tar.gz [root@pc src]# cd libevent-2.0.21-stable [root@pc libevent-2.0.21-stable]# ./configure -prefix=/usr [root@pc libevent-2.0.21-stable]# make [root@pc libevent-2.0.21-stable]# make install [root@pc libevent-2.0.21-stable]# ls -al /usr/lib | grep libevent [root@pc libevent-2.0.21-stable]# cd ../ [root@pc src]# wget http://memcached.org/files/memcached-1.4.25.tar.gz [root@pc src]# tar -xzf memcached-1.4.25.tar.gz [root@pc src]# cd memcached-1.4.25 [root@pc memcached-1.4.25]# ./configure -with-libevent=/usr [root@pc memcached-1.4.25]# make CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /usr/local/src/memcached-1.4.25/missing aclocal-1.14 /usr/local/src/memcached-1.4.25/missing: line 81: aclocal-1.14: command not found WARNING: 'aclocal-1.14' is missing on your system. You should only need it if you modified 'acinclude.m4' or 'configure.ac' or m4 files included by 'configure.ac'. The 'aclocal' program is part of the GNU Automake package: <http://www.gnu.org/software/automake> It also requires GNU Autoconf, GNU m4 and Perl in order to run: <http://www.gnu.org/software/autoconf> <http://www.gnu.org/software/m4/> <http://www.perl.org/> make: *** [aclocal.m4] Error 127 [root@pc memcached-1.4.25]# autoreconf -ivf [root@pc memcached-1.4.25]# make [root@pc memcached-1.4.25]# make install [root@pc memcached-1.4.25]# ls -al /usr/local/bin/mem* [root@pc memcached-1.4.25]# /usr/local/bin/memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P /data/logs/memcached.pid [root@pc memcached-1.4.25]# vi /etc/init.d/memcached #! /bin/sh start() { echo -n $"Starting memcached" /usr/local/bin/memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P /data/logs/memcached.pid echo -e '\n' } stop() { echo -n $"Shutting down memcached" kill `cat /data/logs/memcached.pid` echo -e '\n' } [ -f /usr/local/bin/memcached ] || exit 0 case "$1" in start) start ;; stop) stop ;; restart|reload) stop start ;; condrestart) stop start ;; *) echo $"Usage: $0 {start|stop|restart|reload|condrestart}" exit 1 esac exit 0 [root@pc memcached-1.4.25]# chmod 755 /etc/init.d/memcached [root@pc memcached-1.4.25]# service memcached restart [root@pc memcached-1.4.25]# vi /etc/rc.local /etc/init.d/memcached start