實現動靜分離的LNMMP網站架構

1、前提說明
php

一、實驗目的css

   實現動靜分享的LNMMP網站
html

二、實現功能前端

(1)前端nginx服務器(172.16.7.10)處理靜態內容並向後轉發動態內容
python

(2)php服務器(172.16.7.100)處理動態內容mysql

(3)數據庫爲MariaDB,版本爲mariadb-10.0.10,IP:172.16.7.200linux

(4)在動態系統中,爲了減少數據庫的壓力,提升性能,增長memcached服務器(172.16.7.201)nginx

三、實驗拓撲web

   簡單實驗拓撲以下(由於都在一個網絡內測試,因此前端nginx只給了一個IP):
sql

wKioL1NcY8bDtMeFAABQWYDe_KU977.png

2、安裝nginx服務器(172.16.7.10)

一、解決依賴關係

   在安裝前,爲了不一些沒必要要的麻煩,首先裝幾個開發包組:"Development Tools"、"Server Platform Development"、並安裝"pcre-devel包"

二、添加nginx用戶,實現以nginx用戶運行nginx服務進程

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

三、編譯安裝

# ./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            #安裝

四、爲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

五、爲服務腳本賦予執行權限

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

六、把nginx服務添加至服務管理器,並讓其開機自動啓動

# chkconfig --add nginx
# chkconfig nginx on

七、啓動服務並測試

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

3、安裝MariaDB(172.16.7.200)

一、二進制安裝包

mariadb-10.0.10-linux-x86_64.tar.gz

二、安裝步驟請參考我在LAMP博文中的連接

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

4、安裝php服務器(172.16.7.100)

一、安裝nginx服務器

   同上第二步,安裝完後測試一下

二、安裝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

5、安裝xcache,爲php加速(172.16.7.100)

一、編譯安裝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/

二、編輯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

三、重啓php-fpm

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

6、整合nginx和php5

一、編輯/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;
        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
    }
}

二、編輯/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;

三、從新載入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  ]

四、動、靜分離測試

   前提:由於沒有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.png

由上面的動態、靜態測試結果可看出,根據請求的資源類型的不一樣,便可實現動、靜分離。所以,也知道了,網頁目錄須要準備兩份,前端nginx服務器和後端的php服務器各需一份

7、安裝Memcache服務器(172.16.7.201)

一、memcached簡介

   Memcached是一款開源、高性能、分佈式內存對象緩存系統,可應用各類須要緩存的場景,其主要目的是經過下降對Database的訪問來加速web應用程序。它是一個基於內存的「鍵值對」存儲,用於存儲數據庫調用、API調用或頁面引用結果的直接數據,如字符串、對象等。

Memcached是一款開發工具,它既不是一個代碼加速器,也不是數據庫中間件。其設計哲學思想主要反映在以下方面:

(1)簡單key/value存儲:服務器不關心數據自己的意義及結構,只要是可序列化數據便可。存儲項由「鍵、過時時間、可選的標誌及數據」四個部分組成;

(2)功能的實現一半依賴於客戶端,一半基於服務器端:客戶負責發送存儲項至服務器端、從服務端獲取數據以及沒法鏈接至服務器時採用相應的動做;服務端負責接收、存儲數據,並負責數據項的超時過時;

(3)各服務器間彼此無視:不在服務器間進行數據同步;

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


(5)清理超期數據:默認狀況下,Memcached是一個LRU緩存,同時,它按事先預訂的時長清理超期數據;但事實上,memcached不會刪除任何已緩存數據,只是在其過時以後再也不爲客戶所見;並且,memcached也不會真正定期限清理緩存,而僅是當get命令到達時檢查其時長;

二、安裝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))

8、安裝php的memcache擴展(172.16.7.100)

一、安裝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/

二、編輯/etc/php.ini,在「動態模塊」相關的位置添加以下一行來載入memcache擴展:

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

三、重啓php-fpm

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

四、在windows客戶端驗證memcached是否安裝成功

wKiom1Nc2PGQicAIAACKPpThYO0512.png

剛纔的x-cache也安裝成功了

五、對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就已經實現了;下一步就是安裝一個博客系統並監控其性能

9、安裝wordpress和數據庫受權前端nginx和後端的php都須要安裝wordpress

一、在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)

二、建立wordpress數據庫,不然不讓安裝

MariaDB [(none)]> create database wordpress;

三、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

四、博客系統安裝成功

wKioL1NdEmTRAG9xAAcTTN1NrVY336.png

10、安裝memadmin-master查看memcached的狀態信息

一、解壓前端nginx和後端的php都須要解壓安裝memadmin-master

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

二、鏈接memadmin-master

wKiom1NdEuSBYL_FAACdA2CHhlE638.png

三、查看memcached狀態信息

wKiom1NdEv_jaz08AADXpXL1Sq8689.png

相關文章
相關標籤/搜索