您的位置:首页 > 数据库 > Memcache

安装服务Memcached+Nginx+Php linux下安装

2014-09-23 15:14 513 查看

Memcached安装

1. 源码安装libevent(下载地址:http://monkey.org/~provos/libevent/

2. 源码安装memcached(下载地址:http://memcached.org/

安装libevent:

tar xzf libevent-2.0.21-stable.tar.gz &&

cd libevent-2.0.21-stable&&

./configure -prefix=/usr/local/libevent&&

make && make install

检查是否安装胜利

ls -al/usr/local/libevent/lib | grep libevent

lrwxrwxrwx. 1 root root 21 5月 15 14:35 libevent-2.0.so.5 -> libevent-2.0.so.5.1.9

-rwxr-xr-x. 1 root root 968738 5月 15 14:35libevent-2.0.so.5.1.9

-rw-r--r--. 1 root root 1572018 5月 15 14:35 libevent.a

lrwxrwxrwx. 1 root root 26 5月 15 14:35 libevent_core-2.0.so.5 -> libevent_core-2.0.so.5.1.9

-rwxr-xr-x. 1 root root 585281 5月 15 14:35libevent_core-2.0.so.5.1.9

-rw-r--r--. 1 root root 978666 5月 15 14:35libevent_core.a

-rwxr-xr-x. 1 root root 985 5月 15 14:35 libevent_core.la

lrwxrwxrwx. 1 root root 26 5月 15 14:35 libevent_core.so -> libevent_core-2.0.so.5.1.9

lrwxrwxrwx. 1 root root 27 5月 15 14:35 libevent_extra-2.0.so.5 ->libevent_extra-2.0.so.5.1.9

-rwxr-xr-x. 1 root root 404860 5月 15 14:35libevent_extra-2.0.so.5.1.9

-rw-r--r--. 1 root root 593424 5月 15 14:35libevent_extra.a

-rwxr-xr-x. 1 root root 992 5月 15 14:35 libevent_extra.la

lrwxrwxrwx. 1 root root 27 5月 15 14:35 libevent_extra.so -> libevent_extra-2.0.so.5.1.9

-rwxr-xr-x. 1 root root 950 5月 15 14:35 libevent.la

lrwxrwxrwx. 1 root root 30 5月 15 14:35 libevent_pthreads-2.0.so.5 -> libevent_pthreads-2.0.so.5.1.9

-rwxr-xr-x. 1 root root 18438 5月 15 14:35libevent_pthreads-2.0.so.5.1.9

-rw-r--r--. 1 root root 18678 5月 15 14:35libevent_pthreads.a

-rwxr-xr-x. 1 root root 1013 5月 15 14:35libevent_pthreads.la

lrwxrwxrwx. 1 root root 30 5月 15 14:35 libevent_pthreads.so -> libevent_pthreads-2.0.so.5.1.9

lrwxrwxrwx. 1 root root 21 5月 15 14:35 libevent.so -> libevent-2.0.so.5.1.9

安装memcached,同时须要安装中指定libevent的安装位置:

tar xzf memcached-1.4.15.tar.gz&&

cd memcached-1.4.15&&

./configure --with-libevent=/usr/local/libevent&&

make &&make install

测试是否胜利安装memcached:

ls -al/usr/local/bin/mem*
-rwxr-xr-x. 1 root root 310847 5月 11 11:11 /usr/local/bin/memcached

编写 memcached 启动脚本

vi /etc/init.d/memcached

#! /bin/sh

#

# chkconfig: - 55 45

# description: The memcached daemon is a network memorycache service.

# processname: memcached

# config: /etc/sysconfig/memcached

# Source function library.

. /etc/rc.d/init.d/functions

PORT=11211

USER=root

MAXCONN=1024

CACHESIZE=64

OPTIONS=""

if [ -f /etc/sysconfig/memcached];then

. /etc/sysconfig/memcached

fi

# Check that networking is up.

if [ "$NETWORKING" ="no" ]

then

exit 0

fi

RETVAL=0

start () {

echo "Starting memcached ..."

# insure that /var/run/memcached has proper permissions

chown $USER /usr/local/bin/memcached

/usr/local/bin/memcached -d -p $PORT -u $USER -m $CACHESIZE -c $MAXCONN-P /var/run/memcached.pid $OPTIONS

RETVAL=$?

echo

[ $RETVAL -eq 0 ] && touch /var/lock/subsys/memcached

}

stop () {

echo "Stopping memcached ..."

killproc memcached

RETVAL=$?

echo

if [ $RETVAL -eq 0 ] ; then

rm -f /var/lock/subsys/memcached

rm -f /var/run/memcached.pid

fi

}

restart () {

stop

start

}

# See how we were called.

case "$1" in

start)

start

;;

stop)

stop

;;

status)

status memcached

;;

restart|reload)

restart

;;

condrestart)

[ -f /var/lock/subsys/memcached ] && restart || :

;;

*)

echo $"Usage: $0{start|stop|status|restart|reload|condrestart}"

exit 1

esac

exit $RETVAL

保存退出

加入自启动

cd /etc/init.d &&

chmod +x memcached &&

chkconfig --addmemcached &&

chkconfig memcachedon

赋给可执行权限

chmod -R 755 /etc/init.d/memcached

启动服务

service memcachedstart

查看端口是否启动胜利

netstat -anp | grep 11211

Nginx安装:

安装nginx之前须要安装pcre包和zlib以支撑重写,正则以及网页压缩等等

下载地址:http://nginx.org/en/download.html

(1)安装pcre:

tar xzfpcre-8.32.tar.gz &&

cd pcre-8.32&&

./configure--prefix=/usr/local/pcre &&

make&& make install

(2)安装zilb

tar xzf zlib-1.2.8.tar.gz&&

cd zlib-1.2.8&&

./configure --prefix=/usr/local/zlib&&

make && make install

(3)安装nginx:

tar xzf nginx-1.4.1.tar.gz &&

cdnginx-1.4.1

./configure \

--prefix=/usr/local/nginx \

--sbin-path=/usr/local/nginx/nginx \

--conf-path=/usr/local/nginx/nginx.conf \

--pid-path=/usr/local/nginx/nginx.pid \

--with-pcre=/usr/local/installPack/pcre-8.32\

--with-zlib=/usr/local/installPack/zlib-1.2.8&&

make&& make install

编写nginx启动脚本

vi /etc/init.d/nginx

内容:

#!/bin/bash

#

# nginx Startup script for the Nginx HTTPServer

# this script create it by jackbillow at2007.10.15.

# it is v.0.0.2version.

# if you find any errors on thisscripts,please contact jackbillow.

# and send mail to jackbillow at gmail dotcom.

#

# chkconfig: - 85 15

# description: Nginx is a high-performanceweb and proxy server.

# It has a lot of features, butit's not for everyone.

# processname: nginx

# pidfile: /usr/local/nginx/logs/nginx.pid

# config: /usr/local/nginx/conf/nginx.conf

nginxd=/usr/local/nginx/nginx

nginx_config=/usr/local/nginx/nginx.conf

nginx_pid=/usr/local/nginx/nginx.pid

RETVAL=0

prog="nginx"

# Source function library.

. /etc/rc.d/init.d/functions

# Source networking configuration.

. /etc/sysconfig/network

# Check that networking is up.

[ ${NETWORKING} = "no" ]&& exit 0

[ -x $nginxd ] || exit 0

# Start nginx daemons functions.

start() {

if [ -e $nginx_pid ];then

echo "nginx already running...."

exit 1

fi

echo -n $"Starting $prog: "

daemon $nginxd -c ${nginx_config}

RETVAL=$?

echo

[ $RETVAL = 0 ] && touch/var/lock/subsys/nginx

return $RETVAL

}

# Stop nginx daemons functions.

stop() {

echo -n $"Stopping $prog: "

killproc $nginxd

RETVAL=$?

echo

[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx/usr/local/nginx/logs/nginx.pid

}

# reload nginx service functions.

reload() {

echo -n $"Reloading $prog: "

#kill -HUP `cat ${nginx_pid}`

killproc $nginxd -HUP

RETVAL=$?

echo

}

# See how we were called.

case "$1" in

start)

每日一道理
自己把自己说服了,是一种理智的胜利;自己被自己感动了,是一种心灵的升华;自己把自己征服了,是一种人生的胜利。
start

;;

stop)

stop

;;

reload)

reload

;;

restart)

stop

start

;;

status)

status $prog

RETVAL=$?

;;

*)

echo $"Usage: $prog {start|stop|restart|reload|status|help}"

exit 1

esac

exit $RETVAL

给nginx加入服务自启动脚本

cd /etc/init.d &&

chmod 755 nginx &&

chkconfig--add nginx &&

chkconfig nginx on

启动服务

service nginx start

Php安装

下载php安装包:http://cn2.php.net/distributions/php-5.4.15.tar.gz

(下面这些库都是以前安装好的!如果换新环境须要自己装)

tar xzf php-5.4.15.tar.gz&&

cd php-5.4.15

1、安装libxml2库

./configure --prefix=/app/apache/lib/libxml2&&

make && make install

2、安装libmcrypt库

./configure --prefix=/app/apache/lib/libmcrypt &&

make&& make install

3、安装libpng库(libpng-1.2.31.tar.gz)

./configure --prefix=/app/apache/lib/libpng&&

make && make install

如果涌现:configure: error: zlib not installed

执行如下命令,使之前安装的zlib库立即生效:

exportLDFLAGS="-L/app/apache/lib/zlib/lib"

exportCPPFLAGS="-I/app/apache/lib/zlib/include"

4、安装jpeg9库

./configure --prefix=/app/apache/lib/jpeg9 \

--enable-shared\

--enable-static&&

make &&make install

5、安装freetype库

./configure --prefix=/app/apache/lib/freetype&&

make && make install

6、安装autoconf库

./configure&& make && make install (直接安装到系统库,不用指定安装目录)

7、安装gd库

./configure--prefix=/app/apache/lib/gd2 \

--with-zlib=/app/apache/lib/zlib/ \

--with-jpeg=/app/apache/lib/jpeg9/ \

--with-png=/app/apache/lib/libpng/ \

--with-freetype=/app/apache/lib/freetype/&&

make && make install

在64位系统中会涌现以下错误:

make[2]: ***[gdparttopng] Error 1

make[2]: Leavingdirectory `/app/src/gd-2.0.35'

make[1]: ***[all-recursive] Error 1

make[1]: Leavingdirectory `/app/src/gd-2.0.35'

make: *** [all]Error 2

安装以下rpm包可解决:

rpm –ivh zlib-devel-1.2.3-27.el6.x86_64.rpm(先安装这个,后面的依附这个)

rpm –ivh libjpeg-devel-6b-46.el6.x86_64.rpm

rpm –ivh freetype-devel-2.3.11-6.el6_1.7.x86_64.rpm

rpm –ivh libpng-devel-1.2.46-1.el6_1.x86_64.rpm

8、安装php

./configure --prefix=/usr/local/php &&

./configure --with-mysql=/app/mysql5.6 &&

./configure --with-mysqli=/app/mysql5.6/bin/mysql_config &&

./configure --with-libxml-dir=/app/apache/lib/libxml2 &&

./configure --with-png-dir=/app/apache/lib/libpng &&

./configure --with-jpeg-dir=/app/apache/lib/jpeg9 &&

./configure --with-freetype-dir=/app/apache/lib/freetype &&

./configure --with-gd=/app/apache/lib/gd2 &&

./configure --with-zlib-dir=/usr/local/zlib &&

./configure --with-mcrypt=/app/apache/lib/libmcrypt &&

./configure --enable-soap &&

./configure --enable-mbstring=all &&

./configure --enable-sockets &&

./configure --enable-fastcgi &&

./configure --enable-fpm &&

make && make install

Nginx整合php

nginx.conf 中注释失落的php代码段注释取消

#pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

location ~ \.php$ {

root html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;

include fastcgi_params;

}

复制php.ini配置文件

cp /usr/local/installPack/php-5.4.15/php.ini-production /usr/local/etc/php.ini

复制php-fpm配置文件

cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf

创立

php-fpm服务

vi /etc/init.d/php-fpm

输入:

#!/bin/bash

#

# Startup script for the PHP-FPM server.

#

# chkconfig: 345 85 15

# description: PHP is an HTML-embeddedscripting language

# processname: php-fpm

# config: /usr/local/php/etc/php.ini

# Source function library.

. /etc/rc.d/init.d/functions

PHP_PATH=/usr/local

DESC="php-fpm daemon"

NAME=php-fpm

DAEMON=$PHP_PATH/sbin/$NAME

CONFIGFILE=$PHP_PATH/etc/php-fpm.conf

PIDFILE=$PHP_PATH/var/run/$NAME.pid

SCRIPTNAME=/etc/init.d/$NAME

# Gracefully exit if the package has beenremoved.

test -x $DAEMON || exit 0

rh_start() {

$DAEMON -y $CONFIGFILE || echo -n " already running"

}

rh_stop() {

kill -QUIT `cat $PIDFILE` || echo -n " not running"

}

rh_reload() {

kill -HUP `cat $PIDFILE` || echo -n " can't reload"

}

case "$1" in

start)

echo -n "Starting $DESC: $NAME"

rh_start

echo "."

;;

stop)

echo -n "Stopping $DESC: $NAME"

rh_stop

echo "."

;;

reload)

echo -n "Reloading $DESC configuration..."

rh_reload

echo "reloaded."

;;

restart)

echo -n "Restarting $DESC: $NAME"

rh_stop

sleep 1

rh_start

echo "."

;;

*)

echo "Usage: $SCRIPTNAME {start|stop|restart|reload}">&2

exit 3

;;

esac

exit 0

保存退出

然后修改php-fpm.conf

vi/usr/local/etc/php-fpm.conf

取消失落pid = run/php-fpm.pid此行后面的;号指定pid生成的目录给下面脚本使用

给php-fpm加入服务自启动脚本

cd /etc/init.d &&

chmod 755 php-fpm &&

chkconfig --add php-fpm &&

chkconfig php-fpm on

启动:

service php-fpm start
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: