IT技术互动交流平台

实现动静分离的LNMMP网站架构

作者:nmshuishui  发布日期:2014-04-28 08:39:41

一、前提说明

1、实验目的

实现动静分享的LNMMP网站

2、实现功能

(1)前端nginx服务器(172.16.7.10)处理静态内容并身后转发动态内容

(2)php服务器(172.16.7.100)处理动态内容

(3)数据库为MariaDB,版本为mariadb-10.0.10,IP:172.16.7.200

(4)在动态系统中,为了减小数据库的压力,提高性能,增加memcached服务器(172.16.7.201)

3、实验拓扑

简单实验拓扑如下(因为都在一个网络内测试,所以前端nginx只给了一个IP):

 

wKioL1NcY8bDtMeFAABQWYDe_KU977.pngQTkc=" />

二、安装nginx服务器(172.16.7.10)

1、解决依赖关系

在安装前,为了避免一些不必要的麻烦,首先装几个开发包组:"Development Tools"、"Server Platform Development"、并安装"pcre-devel包"

2、添加nginx用户,实现以nginx用户运行nginx服务进程

 

# groupadd -r nginx
# useradd -r -g nginx nginx

3、编译安装

 

# ./configure \
  --prefix=/usr/local/nginx \                   #指定安装路径
  --sbin-path=/usr/local/nginx/sbin/nginx \     #指定nginx程序路径
  --conf-path=/etc/nginx/nginx.conf \           #指定配置文件路径
  --error-log-path=/var/log/nginx/error.log \   #指定错误日志路径
  --http-log-path=/var/log/nginx/access.log \   #指定访问日志路径
  --pid-path=/var/run/nginx/nginx.pid  \        #指定pid文件路径
  --lock-path=/var/lock/nginx.lock \            #指定锁文件路径
  --user=nginx \                                #指定以nginx用户运行进程
  --group=nginx \
  --with-http_ssl_module \                      #添加ssl模块
  --with-http_flv_module \                      #添加流媒体模块
  --with-http_stub_status_module \              #添加服务器状态信息模块
  --with-http_gzip_static_module \              #添加gzip压缩模块
  --http-client-body-temp-path=/var/tmp/nginx/client/ \    #指定客户端请求时的主体临时目录
  --http-proxy-temp-path=/var/tmp/nginx/proxy/ \           #指定做代理服务器时的临时目录
  --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \          #指定fcgi临时目录
  --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \            #指定uwsgi临时目录(反向代理python开发的页面)
  --http-scgi-temp-path=/var/tmp/nginx/scgi \              #另一种反向代理用户请求的协议
  --with-pcre                                              #指定pcre
# make && make install            #安装

4、为nginx提供SysV风格的脚本

新建文件/etc/rc.d/init.d/nginx

 

#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig:   - 85 15
# description:  Nginx is an HTTP(S) server, HTTP(S) reverse \
#               proxy and IMAP/POP3 proxy server
# processname: nginx
# config:      /etc/nginx/nginx.conf
# config:      /etc/sysconfig/nginx
# pidfile:     /var/run/nginx.pid
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
# Source function library.
. /etc/rc.d/init.d/functions
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
# Source networking configuration.
. /etc/sysconfig/network
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
NGINX_CONF_FILE="/etc/nginx/nginx.conf"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
lockfile=/var/lock/subsys/nginx
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
make_dirs() {
   # make required directories
   user=`nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
   options=`$nginx -V 2>&1 | grep 'configure arguments:'`
   for opt in $options; do
       if [ `echo $opt | grep '.*-temp-path'` ]; then
           value=`echo $opt | cut -d "=" -f 2`
           if [ ! -d "$value" ]; then
               # echo "creating" $value
               mkdir -p $value && chown -R $user $value
           fi
       fi
   done
}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
start() {
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    make_dirs
    echo -n $"Starting $prog: "
    daemon $nginx -c $NGINX_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
stop() {
    echo -n $"Stopping $prog: "
    killproc $prog -QUIT
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
restart() {
    configtest || return $?
    stop
    sleep 1
    start
}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
reload() {
    configtest || return $?
    echo -n $"Reloading $prog: "
    killproc $nginx -HUP
    RETVAL=$?
    echo
}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
force_reload() {
    restart
}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
configtest() {
  $nginx -t -c $NGINX_CONF_FILE
}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
rh_status() {
    status $prog
}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
rh_status_q() {
    rh_status >/dev/null 2>&1
}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart|configtest)
        $1
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
            ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
        exit 2
esac

 

 

5、为服务脚本赋予执行权限

 

# chmod +x /etc/rc.d/init.d/nginx

6、把nginx服务添加至服务管理器,并让其开机自动启动

 

# chkconfig --add nginx
# chkconfig nginx on

7、启动服务并测试

 

# service nginx start
[root@nmshuishui ~]# ss -antlp | grep nginx
LISTEN     0      128                       *:80                       *:*      users:(("nginx",4724,6),("nginx",4726,6))

三、安装MariaDB(172.16.7.200)

1、二进制安装包

 

mariadb-10.0.10-linux-x86_64.tar.gz

2、安装步骤请参考我在LAMP博文中的链接

http://nmshuishui.blog.51cto.com/1850554/1381822

四、安装php服务器(172.16.7.100)

1、安装nginx服务器

同上第二步,安装完后测试一下

2、安装php服务器

(1)解决依赖关系

事先已安装开发包组"Desktop Platform Development"

 

yum -y install libmcrypt libmcrypt-devel mhash mhash-devel mcrypt

(2)编译安装php-5.4.4

安装完上面那几个还有报错,根据提示又安装了这几个

 

[root@shuishui php-5.4.4]# yum -y install libcurl-devel bzip2-devel libmcrypt-devel

接下来再次编译安装

 

[root@shuishui php-5.4.4]#  ./configure --prefix=/usr/local/php --with-openssl --enable-fpm --enable-sockets --enable-sysvshm --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-libxml-dir=/usr --enable-xml  --with-mhash --with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --with-curl --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd

 

(3)安装

 

[root@shuishui php-5.4.4]# make && make install

(4)为php提供配置文件

 

[root@shuishui php-5.4.4]# cp php.ini-production /etc/php.ini

(5)为php-fpm提供Sysv脚本,并将其添加到服务列表

 

[root@shuishui php-5.4.4]# cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
[root@shuishui php-5.4.4]# chmod +x /etc/rc.d/init.d/php-fpm
[root@shuishui php-5.4.4]# chkconfig --add php-fpm
[root@shuishui php-5.4.4]# chkconfig php-fpm on

(6)为php-fpm提供配置文件

 

[root@shuishui php-5.4.4]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

 

(7)编辑php-fpm配置文件,配置fpm的相关选项,并启用pid

 

[root@shuishui ~]# vim /usr/local/php/etc/php-fpm.conf
pm.max_children = 150
pm.start_servers = 8
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pid = /usr/local/php/var/run/php-fpm.pid
listen = 172.16.7.100:9000

 

(8)启动php-fpm并验证

 

[root@shuishui ~]# service php-fpm start
Starting php-fpm . done
[root@shuishui ~]# ps -aux | grep php-fpm
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root     60344  2.0  0.4  99684  4880 ?        Ss   01:28   0:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)          
nobody   60347  0.0  0.3  99684  3732 ?        S    01:28   0:00 php-fpm: pool www                                                  
nobody   60348  0.0  0.3  99684  3732 ?        S    01:28   0:00 php-fpm: pool www                                                  
nobody   60349  0.0  0.3  99684  3732 ?        S    01:28   0:00 php-fpm: pool www                                                  
nobody   60350  0.0  0.3  99684  3732 ?        S    01:28   0:00 php-fpm: pool www                                                  
nobody   60351  0.0  0.3  99684  3736 ?        S    01:28   0:00 php-fpm: pool www                                                  
nobody   60352  0.0  0.3  99684  3736 ?        S    01:28   0:00 php-fpm: pool www                                                  
nobody   60353  0.0  0.3  99684  3736 ?        S    01:28   0:00 php-fpm: pool www                                                  
nobody   60354  0.0  0.3  99684  3736 ?        S    01:28   0:00 php-fpm: pool www                                                  
root     60356  0.0  0.0 103244   856 pts/1    S+   01:28   0:00 grep php-fpm

五、安装xcache,为php加速(172.16.7.100)

1、编译安装xcache

 

[root@shuishui ~]# tar xf xcache-3.0.1.tar.bz2
[root@shuishui ~]# cd xcache-3.0.1
[root@shuishui xcache-3.0.1]# /usr/local/php/bin/php
php         php-cgi     php-config  phpize
[root@shuishui xcache-3.0.1]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version:         20100412
Zend Module Api No:      20100525
Zend Extension Api No:   220100525
[root@shuishui xcache-3.0.1]# ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config

 

结束后,会出现如下行

 

----------------------------------------------------------------------
Build complete.
Don't forget to run 'make test'.
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/

 

2、编辑php.ini,整合php和xcache

 

(1)首先将xcache提供的样例配置导入php.ini

[root@shuishui xcache-3.0.1]# mkdir /etc/php.d
[root@shuishui xcache-3.0.1]# cp xcache.ini /etc/php.d/  #xcache.ini文件在xcache的源码目录中

(2)接下来修改/etc/php.d/xcache.ini,找到extension开头的行,修改为如下行:

 

extension = /usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so

 

3、重启php-fpm

 

[root@shuishui xcache-3.0.1]# service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm  done

六、整合nginx和php5

1、编辑/etc/nginx/nginx.conf(172.16.7.10)

 

worker_processes  2; #worker进程的个数
error_log  /var/log/nginx/error.log  notice;    #错误日志路径及级别
events {
    worker_connections  1024;    #每个worker能够并发响应的最大请求数
}
http {
    include       mime.types;    #支持多媒体类型
    default_type  application/octet-stream;
    sendfile        on;    #由内核直接转发
    #keepalive_timeout  0;
    keepalive_timeout  5;    #持久连接5s
    gzip  on;    #开启压缩功能
    server {
        listen       80;
        server_name  www.shuishui.com;
        add_header X-via $server_addr;    #让客户端能够看到代理服务器的IP
        location / {
            root   html;
            index  index.php index.html index.htm;
        }
        location ~* \.(jpg|jpeg|png|gif|js|css)$ {    #匹配以括号中结尾的格式
            root   html;    #默认目录在/usr/local/nginx/html
        }
        location ~ \.php$ {
            root                html;
            fastcgi_pass        172.16.7.100:9000;    #代理到的服务器
            fastcgi_index       index.php;
            fastcgi_param       SCRIPT_FILENAME scripts$fastcgi_script_name;
            include             fastcgi_params;
        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
    }
}

2、编辑/etc/nginx/fastcgi_params,将其内容更改为如下内容:(172.16.7.10)

 

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx;
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_FILENAME    $document_root$fastcgi_script_name;
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  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;

3、重新载入nginx

 

[root@nmshuishui html]# service nginx reload
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Reloading nginx:                                           [  OK  ]

4、动、静分离测试

前提:因为没有DNS服务器,所以事先要把www.shuishui.com所对应的IP:172.16.7.10写入到hosts文件中

(1)动态测试:在php服务器上的网页目录中创建index.php(172.16.7.100)

 

 

[root@shuishui html]# pwd
/usr/local/nginx/html
[root@shuishui html]# vim index.php
<h1>Welcome to php server(172.16.7.100)</h1>
<?php
        phpinfo();
?>

在windows主机上访问www.shuishui.com

wKioL1Ncv3_wOqAPAAECnEwqRXs864.png

(2)静态测试:在前端nginx服务器(172.16.7.10)的网页目录中放入1.png图片

 

[root@nmshuishui html]# pwd
/usr/local/nginx/html
[root@nmshuishui html]# ls
1.png  50x.html  index.html  index.html1  index.php

再到windows上去测试一下

 

wKiom1NcwFiCSuZLAAzGMWfm5SU285.pngQTkc=" />

由上面的动态、静态测试结果可看出,根据请求的资源类型的不同,即可实现动、静分离。因此,也知道了,网页目录需要准备两份,前端nginx服务器和后端的php服务器各需一份

七、安装Memcache服务器(172.16.7.201)

1、memcached简介

Memcached是一款开源、高性能、分布式内存对象缓存系统,可应用各种需要缓存的场景,其主要目的是通过降低对Database的访问来加速web应用程序。它是一个基于内存的“键值对”存储,用于存储数据库调用、API调用或页面引用结果的直接数据,如字符串、对象等。

Memcached是一款开发工具,它既不是一个代码加速器,也不是数据库中间件。其设计哲学思想主要反映在如下方面:

(1)简单key/value存储:服务器不关心数据本身的意义及结构,只要是可序列化数据即可。存储项由“键、过期时间、可选的标志及数据”四个部分组成;

(2)功能的实现一半依赖于客户端,一半基于服务器端:客户负责发送存储项至服务器端、从服务端获取数据以及无法连接至服务器时采用相应的动作;服务端负责接收、存储数据,并负责数据项的超时过期;

(3)各服务器间彼此无视:不在服务器间进行数据同步;

(4)O(1)的执行效率

 

(5)清理超期数据:默认情况下,Memcached是一个LRU缓存,同时,它按事先预订的时长清理超期数据;但事实上,memcached不会删除任何已缓存数据,只是在其过期之后不再为客户所见;而且,memcached也不会真正按期限清理缓存,而仅是当get命令到达时检查其时长;

2、安装memcached服务器(172.16.7.201)

也可以使用yum方式安装,这里使用编译安装

(1)安装libevent

memcached依赖于libevent API,因此要事先安装

 

# yum groupinstall "Development Tools" "Server Platform Deveopment" -y
#yum install -y libevent-devel

(2)安装配置memcached

# tar xf memcached-1.4.15.tar.gz
# cd memcached-1.4.15
# ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent
# make && make install

(3)为memcached提供sysv脚本

 

#!/bin/bash
#
# Init file for memcached
#
# chkconfig: - 86 14
# description: Distributed memory caching daemon
#
# processname: memcached
# config: /etc/sysconfig/memcached
. /etc/rc.d/init.d/functions
## Default variables
PORT="11211"
USER="nobody"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS=""
RETVAL=0
prog="/usr/local/memcached/bin/memcached"
desc="Distributed memory caching"
lockfile="/var/lock/subsys/memcached"
start() {
        echo -n $"Starting $desc (memcached): "
        daemon $prog -d -p $PORT -u $USER -c $MAXCONN -m $CACHESIZE -o "$OPTIONS"
        RETVAL=$?
        [ $RETVAL -eq 0 ] && success && touch $lockfile || failure
        echo
        return $RETVAL
}
stop() {
        echo -n $"Shutting down $desc (memcached): "
        killproc $prog
        RETVAL=$?
        [ $RETVAL -eq 0 ] && success && rm -f $lockfile || failure
        echo
        return $RETVAL
}
restart() {
        stop
        start
}
reload() {
        echo -n $"Reloading $desc ($prog): "
        killproc $prog -HUP
        RETVAL=$?
        [ $RETVAL -eq 0 ] && success || failure
        echo
        return $RETVAL
}
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        restart
        ;;
  condrestart)
        [ -e $lockfile ] && restart
        RETVAL=$?
        ;;  
  reload)
        reload
        ;;
  status)
        status $prog
        RETVAL=$?
        ;;
   *)
        echo $"Usage: $0 {start|stop|restart|condrestart|status}"
        RETVAL=1
esac
exit $RETVAL

(4)配置memcached成为系统服务

# chmod +x /etc/init.d/memcached
# chkconfig --add memcached
# service memcached start

(5)查看memcached监听端口是否成功

 

[root@shuishui ~]# ss -tnlp | grep 11211
LISTEN     0      128                      :::11211                   :::*      users:(("memcached",3120,27))
LISTEN     0      128                       *:11211                    *:*      users:(("memcached",3120,26))

八、安装php的memcache扩展(172.16.7.100)

1、安装php的memcache扩展

 

[root@shuishui ~]# tar xf memcache-2.2.7.tgz
[root@shuishui ~]# cd memcache-2.2.7
[root@shuishui memcache-2.2.7]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version:         20100412
Zend Module Api No:      20100525
Zend Extension Api No:   220100525
[root@shuishui memcache-2.2.7]# ./configure --with-php-config=/usr/local/php/bin/php-config --enable-memcache
    ……
    ……
[root@shuishui memcache-2.2.7]# make && make install
    ……
    ……
Build complete.
Don't forget to run 'make test'.
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/

 

2、编辑/etc/php.ini,在“动态模块”相关的位置添加如下一行来载入memcache扩展:

extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/memcache.so

3、重启php-fpm

[root@shuishui ~]# service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm  done

4、在windows客户端验证memcached是否安装成功

 

wKiom1Nc2PGQicAIAACKPpThYO0512.png

刚才的x-cache也安装成功了

5、对memcached功能进行测试,在网站目录中建立测试页面test.php,添加如下内容

 

[root@shuishui html]# pwd    #php服务器(172.16.7.100)
/usr/local/nginx/html
[root@shuishui html]# vim test.php
<?php
$mem = new Memcache;
$mem->connect("172.16.7.201", 11211)  or die("Could not connect");
$version = $mem->getVersion();
echo "Server's version: ".$version."<br/>\n";
$mem->set('hellokey', 'Hello World', 0, 600) or die("Failed to save data at the memcached server");
echo "Store data in the cache (data will expire in 600 seconds)<br/>\n";
$get_result = $mem->get('hellokey');
echo "$get_result is from memcached server.";
?>
~

 

在windows服务器上测试,表明memcache已经能够正常工作

 

wKioL1Nc3-XAv81VAABW7likxFE673.png

由上图可以看出,memcached(172.16.7.201)已经可以正常工作了,到这里,基于动、静分离的LNMMP就已经实现了;下一步就是安装一个博客系统并监控其性能

九、安装wordpress和数据库授权(前端nginx和后端的php都需要安装wordpress)

1、在mysql数据库(172.16.7.200)中授权访问网段

 

MariaDB [(none)]> grant all on *.* to 'wordpress'@'172.16.%.%' identified by 'wordpress';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

2、创建wordpress数据库,否则不让安装

 

MariaDB [(none)]> create database wordpress;

3、wordpress安装准备

 

[root@nmshuishui ~]# cd /usr/local/nginx/html/
[root@nmshuishui html]# unzip wordpress-3.2.1-zh_CN.zip
[root@nmshuishui html]# cd wordpress
[root@nmshuishui wordpress]# cp wp-config-sample.php wp-config.php
[root@nmshuishui wordpress]# vim wp-config.php  #需要在这里填入所需的数据库信息,这个还和Discuz不一样
[root@nmshuishui wordpress]# scp wp-config.php root@172.16.7.100:/usr/local/nginx/html/wordpress
#前端nginx和后端的php都需要安装wordpress,所以配置文件一保持一致

修改如下几项即可

 

wKiom1NdEmSQI4YIAABTBpVE_jo515.png

4、博客系统安装成功

 

wKioL1NdEmTRAG9xAAcTTN1NrVY336.png

 

十、安装memadmin-master查看memcached的状态信息

1、解压(前端nginx和后端的php都需要解压安装memadmin-master)

 

[root@shuishui html]# unzip memadmin-master.zip

2、连接memadmin-master

wKiom1NdEuSBYL_FAACdA2CHhlE638.png

3、查看memcached状态信息

 

wKiom1NdEv_jaz08AADXpXL1Sq8689.png

Tag标签: LNMMP  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规