zoukankan      html  css  js  c++  java
  • 安装服务Memcached+Nginx+Php linux下安装

    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

  • 相关阅读:
    【python】浅谈包
    【python】浅谈encode和decode
    【python】环境变量的配置
    Android Studio中添加对HttpClient的支持包
    Android studio中2种build.gradle文件介绍
    服务器响应状态码
    Java UDP实现聊天功能代码【转】
    Java InetAddress.getByAddress()的使用
    IP地址分类(A类 B类 C类 D类 E类)
    Android App发布遇到的问题总结【转】
  • 原文地址:https://www.cnblogs.com/hllnj2008/p/3988471.html
Copyright © 2011-2022 走看看