45332 发表于 2016-8-1 09:58:26

rpm包方式实现LNMP

rpm包 lnmp

nginx-主机 : 172.16.40.99
php-fpm-主机 : 172.16.40.11
mariadb-主机: 172.16.40.88

一.安装,配置nginx-主机: 172.16.40.99
        安装:
                # yum install nginx

                # nginx   启动
                # nginx -s stop停止
                # nginx -t测试配置文件是否正确
                # nginx -s reload重载配置文件

        配置两个虚拟主机:
        # vim /etc/nginx/conf.d/vhosts1.conf

                server {
              listen 80;
              server_namewww1.ryanpeng.com;
              root /data/vhost/www1;
              location ~ \.php$ {
                        fastcgi_index index.php;
                        fastcgi_pass 172.16.40.11:9000;
                        fastcgi_param SCRIPT_FILENAME /data/vhost/www1$fastcgi_script_name;                
                                (表示以.php结尾的文件传给php-fpm来处理,此处地址是php服务器地址)
                        include         fastcgi_params;
              }

                }

        # vim /etc/nginx/conf.d/vhosts2.conf

                server {
              listen 80;
              server_namewww2.ryanpeng.com;
              root /data/vhost/www2;
              location ~ \.php$ {
                        fastcgi_index index.php;
                        fastcgi_pass 172.16.40.11:9000;
                        fastcgi_param SCRIPT_FILENAME /data/vhost/www2$fastcgi_script_name;
                        include         fastcgi_params;
              }

                }

        # mkdir -pv /data/vhost/www{1,2}
                www{1,2} (目录下添加测试页,测试nginx是否正常运行虚拟主机)
               index.php (用于转向php-fpm主机)

        ###--带缓存项的虚拟主机配置文件--###
                server {
      listen 80;
      root /data/vhost/www1;

      location ~ \.php$ {
                fastcgi_cache_valid   200 1m;
                fastcgi_cache            one;
                fastcgi_cache_key       $uri;
                fastcgi_cache_min_uses2;
                fastcgi_cache_methods   GET;
                fastcgi_index index.php;
                fastcgi_pass 172.16.40.11:9000;
                fastcgi_param SCRIPT_FILENAME /data/vhost/www1$fastcgi_script_name;
                include         fastcgi_params;
      }

      location / {
                rewrite /(.*)$ https://www1.ryanpeng.com/$1;
              }
                }

        ###--https的虚拟主机配置文件80端口变为443--###
                server {
              listen 443 ssl;
              root /data/data/www1;
              ssl on;
              ssl_certificate         www1.cacert;
              ssl_certificate_key      www1.key;
              ssl_session_cache       shared:SSL:1m;
              ssl_session_timeout   1m;
              ssl_ciphers             HIGH:!aNULL:!MD5;

              location ~ \.php$ {
                fastcgi_cache_valid   200 1m;
                fastcgi_cache            one;
                fastcgi_cache_key       $uri;
                fastcgi_cache_min_uses2;
                fastcgi_cache_methods   GET;
                fastcgi_index index.php;
                fastcgi_pass 172.16.40.11:9000;
                fastcgi_param SCRIPT_FILENAME /data/data/www1$fastcgi_script_name;
                include         fastcgi_params;
              }
                }



二.安装配置php-fpm主机: 172.16.40.11

        安装:
                # rpm -q php###确保之前没有php程序
                # yum install php-fpm php-mysql php-mbstring


                        # mkdir /var/lib/php/session
                        # useradd -r nginx
                        # chown nginx.nginx /var/lib/php/session/

        配置:
                # vim /etc/php-fpm.d/www.conf
                        listen = 172.16.40.11:9000       (设置php服务器监听地址即监听本地能够与外部通信的地址)
                        listen.allowed_clients = 172.16.40.99        (监听具有httpd服务的IP地址)

                # mkdir -pv /data/vhost/www{1,2}

                # vim /data/vhost/www1/index.php

                        This is vhost1
                                <?php
                                phpinfo();
                                ?>

                # vim /data/vhost/www2/index.php

                        This is vhost2
                                <?php
                                phpinfo();
                                ?>

        分别测试 www1.ryanpeng.com,www2.ryanpeng.com 看nginx与php-fpm是否连接成功

三.安装配置mariadb主机: 172.16.40.88

      安装启动:
                # yum install mariadb-server
                # systemctl start mariadb.service

      创建数据库及授权用户:
                MariaDB [(none)]> grant all on db.* to 'dbuser'@'172.16.%.%'identified by "dbpasswd";
                MariaDB [(none)]> CREATE DATABASE db;

      在php服务器(172.16.40.11)上建立php测试页,测试php主机是否可以正常连接数据库主机
                # vim /data/vhost/www1/index.php

                        <?php
                        $conn = mysql_connect('172.16.40.88','dbuser','dbpasswd');
                        if ($conn)
                              echo "ok";
                        else
                              echo "NO";

                        phpinfo();
                        ?>

      测试连接是否成功,若显示ok则证明连接成功;

四.分别在虚拟主机1,2上部署WordPress和phpMyadmin

      在php-fpm主机(172.16.40.11)上,下载 phpMyAdmin-4.0.5-all-languages.zip 和 wordpress-4.3.1-zh_CN.zip ;
      将解压后的文件 wordpress phpMyAdmin-4.0.5-all-languages 分别移动到/data/vhost/下的www1和www2 目录中;
                部署WordPress
                # cd /data/vhost/www1/wordpress/
                # cp wp-config-sample.php wp-config.php
                # vim wp-config.php

                        define('DB_NAME', 'wpdb');

                        /** MySQL数据库用户名 */
                        define('DB_USER', 'wpuser');

                        /** MySQL数据库密码 */
                        define('DB_PASSWORD', 'wppasswd');

                        /** MySQL主机 */
                        define('DB_HOST', '172.16.40.88');

                # scp -rwordpress/ 172.16.40.99:/data/vhost/www1/

                部署phpMyadmin
                # cd /data/vhost/www2
                # ln -sv phpMyAdmin-4.0.5-all-languages phpMyAdmin (创建软链接,方便回滚)
                # cd phpMyAdmin
                # cp config.sample.inc.php config.sample.php
                # vim config.sample.php
                        $cfg['blowfish_secret'] = 'jACG7X2usbnwzg==';(使用openssl rand -base64 10生成)
                        $cfg['Servers'][$i]['host'] = '172.16.40.88';(数据库服务器地址)
                        $cfg['Servers'][$i]['user'] = 'dbuser';
                        $cfg['Servers'][$i]['password'] = 'dbpass';

                # scp -r phpMyAdmin/ 172.16.40.99:/data/vhost/www2/

      分别登录两个虚拟机,测试WordPress和phpMyadmin

五.在php-fpm(172.16.40.11)主机上安装xcache:
      安装php-xache
      # yum -y install php-xcache
      # systemctl restart php-fpm.service

      配置文件做简单的配置
      # vim /etc/php.d/xcache.ini
      xcache.size=    300M

      在装载xcache前后进行压力测试
      #ab -n 10000 -c 1000 http://www1.ryanpeng.com/wordpress | http://www2.ryanpeng.com/phpmyadmin


页: [1]
查看完整版本: rpm包方式实现LNMP