LNMP+Redisの配備

5954 ワード

今日阿坤はみんなを连れてLNMP-Redisサービス海洋を游びました!!
LNMP構築参考:https://blog.csdn.net/qq_43417559/article/details/100773904Redis構築の参考:https://blog.csdn.net/qq_43417559/article/details/100775040問題の具体的な要求は以下の通りである:ホスト192.168.4.57にLNMP環境配置PHPはredis作成ウェブサイトスクリプトをサポートし、データをredisサーバ192.168.4.50に格納する
ステップ
このケースを実装するには、次の手順に従います.ステップ一:ホスト192.168.4.57にLNMP環境を配備する1)ソースnginxソフトウェア及びphp-fpmをインストールする
]#yum  -y  install  gcc    pcre-devel   zlib-devel  //    
]#tar  -zxvf  nginx-1.12.2.tar.gz  //  
]#cd nginx-1.12.2  //     
]#./configure  //  
……
……
Configuration summary
  + using system PCRE library
  + OpenSSL library is not used
  + using system zlib library
  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx modules path: "/usr/local/nginx/modules"
  nginx configuration prefix: "/usr/local/nginx/conf"
  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
  nginx pid file: "/usr/local/nginx/logs/nginx.pid"
  nginx error log file: "/usr/local/nginx/logs/error.log"
  nginx http access log file: "/usr/local/nginx/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"
[root@localhost nginx-1.12.2]# make //  
……
……
objs/src/http/modules/ngx_http_upstream_zone_module.o \
objs/ngx_modules.o \
-ldl -lpthread -lcrypt -lpcre -lz \
-Wl,-E
sed -e "s|%%PREFIX%%|/usr/local/nginx|" \
        -e "s|%%PID_PATH%%|/usr/local/nginx/logs/nginx.pid|" \
        -e "s|%%CONF_PATH%%|/usr/local/nginx/conf/nginx.conf|" \
        -e "s|%%ERROR_LOG_PATH%%|/usr/local/nginx/logs/error.log|" \
        < man/nginx.8 > objs/nginx.8
make[1]:     “/root/lnmp/nginx-1.12.2”
[root@localhost nginx-1.12.2]#make  install //  
……
……
test -d '/usr/local/nginx/logs' \
        || mkdir -p '/usr/local/nginx/logs'
test -d '/usr/local/nginx/html' \
        || cp -R html '/usr/local/nginx'
test -d '/usr/local/nginx/logs' \
        || mkdir -p '/usr/local/nginx/logs'
make[1]:     “/root/lnmp/nginx-1.12.2”
 [root@localhost nginx-1.12.2]# ls /usr/local  //      
bin  etc  games  include  lib  lib64  libexec  nginx  sbin  share  src
[root@localhost nginx-1.12.2]#
 [root@localhost nginx-1.12.2]# ls /usr/local/nginx  //      
conf  html  logs  sbin
[root@localhost nginx-1.12.2]#
]#yum   -y     install  php-fpm  //  php-fpm
……
……
   :
  php-fpm.x86_64 0:5.4.16-45.el7
       :
  libzip.x86_64 0:0.10.1-8.el7              php-common.x86_64 0:5.4.16-45.el7
  !

2)構成nginxを変更する.conf
] # vim   +65  /usr/local/nginx/conf/nginx.conf
      location ~ \.php$ {
              root           html;
              fastcgi_pass   127.0.0.1:9000;
              fastcgi_index  index.php;
              include        fastcgi.conf;
       }
:wq
]#  /usr/local/nginx/sbin/nginx  -t     //    
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

3)サービス開始php-fpmサービス開始
]#  systemctl  start php-fpm  //    
]#  netstat  -utnlp  | grep  :9000  //    

nginxサービスの開始
]# /usr/local/nginx/sbin/nginx
]# netstat  -utnlp  | grep  :80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      23505/nginx: master

4)テスト構成
# vim  /usr/local/nginx/html/test.php  //  php  

:wq
]# curl  http://localhost/test.php     //  nginx  
                hello world!!!

ステップ2:PHPを構成してredis 1をサポートする)php拡張子をインストールする
 [root@host71 ~]# rpm -q php php-devel
       php
       php-devel
[root@host71 ~]#
[root@host71 ~]# rpm -q automake autoconf
       automack
       autoconf
[root@host71 ~]#
[root@host71 ~]# yum -y  install php php-devel automake autoconf //    
]# tar -zxf php-redis-2.2.4.tar.gz //     
]# cd phpredis-2.2.4/
]# phpize            //      php-config  configure  
Configuring for:
PHP Api Version:         20100412
Zend Module Api No:      20100525
Zend Extension Api No:   220100525
]# ./configure  --with-php-config=/usr/bin/php-config //  
]# make //  
]# make install //  

2)phpを修正する.iniファイル
]#vim /etc/php.ini
728 extension_dir = "/usr/lib64/php/modules/"  //      
730 extension = "redis.so"  //     
:wq
]# systemctl  restart php-fpm //  php-fpm  
]# php -m | grep  -i redis     //        
redis

ステップ3:テスト構成:Webサイトのスクリプトを作成し、redisサーバ192.168.4.50 1にデータを格納)192.168.4.50ホストのredisサービスが実行されているかどうかを確認する
 [root@host50 ~]# netstat -utnlp  | grep redis-server
tcp        0      0 192.168.4.50:6350       0.0.0.0:*               LISTEN      11523/redis-server  
[root@host50 ~]#
[root@host50 ~]# redis-cli -h 192.168.4.50 -p 6350 -a 123456 //    
192.168.4.50:6350> ping
PONG
192.168.4.50:6350> exit 

2)Webサイトのスクリプト作成
]# vim  /usr/local/nginx/html/linkredis.php
connect("192.168.4.50","6350");
$redis->auth("123456");
$redis->set("linux","redhat");
echo $redis->get("linux");
?>
:wq 

3)Webサイトのスクリプトへのアクセス
]#curl  http://localhost/linkredis.php      //  nginx  
   redhat   


4)192.168.4.50サーバでデータを表示
[root@host50 ~]# redis-cli -h 192.168.4.50 -p 6350 -a 123456 //  redis  
192.168.4.50:6350> keys *   //    
1) "linux"
192.168.4.50:6350> 
192.168.4.50:6350> get linux //   
"redhat"
192.168.4.50:6350>