centos7 lamp(moudle)

CentOS 7, lamp (module)php


要求:(1) 三者分离于两台主机;html

       (2) 一个虚拟主机用于提供phpMyAdmin;另外一个虚拟主机用于提供wordpress;mysql

       (3) xcacheweb

       (4) 为phpMyAdmin提供https虚拟主机;sql



规划:  172.18.105.110 上运行http服务器以及php后端脚本
数据库

           172.18.17.191 运行数据库vim


准备工做后端

我提早作好了DNS 两台A记录172.18.105.110 对应的FQDN 为www1.stu05.com  www2.stu05.com浏览器





1.在172.18.105.110上yum install httpd php  php-mysql -y 注:此时php是做为httpd的模块服务器

  在172.18.17.191 yum install mariadb.server -y  安装数据库


      systemctl start httpd      

      扩展:2.4的http支持fastcgi,若是要使用把php替换成php-fpm



2.关闭中心主机的 #DocumentRoot "/var/www/html"



3.配置虚拟主机的根目录

  mkdir -pv /web/vhosts/www1

  mkdir -pv /web/vhosts/www2

  

4.配置基于FQDN的虚拟主机 vim /etc/httpd/conf.d/vhosts

虚拟主机一

    <VirtualHost 172.18.105.110:443>

          ServerName www1.stu05.com

          DocumentRoot  "/web/vhosts/www1"

              

        <Directory "/web/vhosts/www1">

            AllowOverride None

            Options None

            Require all granted 

        </Directory>

    </VirtualHost>


虚拟主机二

  <VirtualHost 172.18.105.110:80>

                ServerName www2.stu05.com

                DocumentRoot  "/web/vhosts/www2"

  

                <Directory "/web/vhosts/www2">

                        AllowOverride None

                        Options None

   </VirtualHost>


检查语法httpd -t 时中间出现报错:

httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message


缘由:httpd:不能可靠地肯定服务器的彻底限定域名,使用localhost.localdomain。设置' ServerName指令在全球范围内抑制此消息


解决办法:vim /etc/httpd/conf/httpd.conf   首先找到ServerName(约213行),将其设置为localhost:80


5.测试http的虚拟站点是否正常

   vim /web/vhosts/www1 和 /web/vhosts/www1

   vim index.html

 www2站点 <b1>www2 ××× </b1>    www1站点 <b1>www1 ××× </b1>

在浏览器里输入www1.stu05.com  www2.stu05.com  ---------------此时本地dns已经指向本地



6.rpm -ql php 检查 libphp5.so 模块是否对应着httpd启用的mpm模块为prefork

  注意:测试前查看php的库是否和httpd的mpm的多道处理模块是否匹配

    rpm查看库 rpm -ql  php   httpd查看启用模块 vim /etc/httpd/conf.modules.d/00-mpm.conf

     php库:libphp5.so      模块:LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

     php库:libphp5-zts.so  模块:LoadModule mpm_worker_module modules/mod_mpm_worker.so

       LoadModule mpm_event_module modules/mod_mpm_event.so

 


7.测试httpd与php连通是否正常 vim /web/vhosts/www1 和 /web/vhosts/www1

   vim index.php

   

     php测试代码

        <?php

            phpinfo();

        ?>

 

  浏览器  http://www1.stu05.com   http://www2.stu05.com


7.测试php与mysql-server的链接是否正常

    以管理员登陆mysql,并受权远程登陆用户

CREATE DATABASE wpdb1;   建立数据库

   (1) GRANT ALL ON wpdb1.* TO  wpuser1@'172.18.%.%' IDENTIFIED BY 'wpuser1';

     注:GRANT受权 在172.16.0.0/16网段的主机经过testuser远程访问testdb的全部表

   (2) FLUSH PRIVILEGES 刷新当即生效

     可查看用户:SELECT USER();

测试下远程用户是否能够登陆数据库:mysql -uwpuser1 -h172.18.17.191 -pwpuser1


   (3)关闭mysql登陆时候用户名的反解

         vim /etc/my.cnf 配置文件中[mysqld]后面加入skip_name_resolve = ON

         而后重载service mysqld reload

     分别放在index.php中后,运行 http://172.18.105.110

      <?php

            $conn = mysql_connect('172.16.100.67','testuser','testpass');

    if ($conn) 

            echo "OK";

    else

            echo "Failure";

        ?>


    lamp环境就成功了。


总结:

任何开源程序须要链接到数据库的,在测试lamp链接数据库ok的状况下,若是是远程链接,则须要建立一个获得受权的远程链接的用户,而workdpress不只须要建立一个数据库,还须要一个获得受权的远程链接的用户。

远程主机登陆数据库 define('DB_HOST', '172.18.250.157');   本地主机登陆数据库define('DB_HOST', '127.0.0.1'); 

本地数据库root登陆若是有密码  mysql -uroot  -pxwj4611

    若是本地数据库root没有密码mysql




8.第一个虚拟主机运行wordpress

 cp  wordpress-4.3.1-zh_CN.zip /web/vhosts/www1/

 unzip wordpress-4.3.1-zh_CN.zip

 ln -sv wordpress-4.3.1-zh_CN  wordpress 而后cd /wordpress

一、cp wp-config-sample.php   wp-config.php

二、执行mysql或者若是本地root已经设定密码mysql -uroot -pxwj4611 ------CREATE DATABASE wpdb;建立数据库   大多数开源的程序会自动建立数据库

三、GRANT ALL ON wpdb.* TO wpuser@'172.18.%.%' IDENTIFIED BY 'wppress'   

  注:给这个软件受权一个用户能够远程链接数据库,若是是本地链接127.0.0.1

四、vim vp-config.php 编辑配置文件

         /** WordPress数据库的名称 */

          define('DB_NAME', 'wpdb1');


         /** MySQL数据库用户名 */

           define('DB_USER', 'wpuser1');


         /** MySQL数据库密码 */

           define('DB_PASSWORD', 'wpuser1');


         /** MySQL主机 */

           define('DB_HOST', '172.18.17.191');    若是是本地链接loaclhost 或者127.0.0.1  

测试:www1.stu05.com/wordpress   压力测试 ab -n 1000 -c 100 http://www2.stu05.com/wordpress/index.php  -c模拟的并发数 -n模拟的总请求数

本地测试的没有考虑带宽,服务器可能没有跑满带宽跑满了。Requests per second:    8.85 [#/sec] (mean) 每秒钟处理的请求数


9.第二个虚拟主机运行phpMyAdmin

  准备工做:  cp  phpMyAdmin-4.4.14.1-all-languages.zip /web/vhosts/www1/

unzip phpMyAdmin-4.4.14.1-all-languages.zip

    ln -sv phpMyAdmin-4.4.14.1-all-languages pma   注:方便回滚

我须要事先为其链接到数据库后准备一个受权的远程连接的用户:以遍能够登陆

  (1)、执行mysql或者若是本地root已经设定密码mysql -uroot -pxwj4611

  (2)、GRANT ALL ON wpdb.* TO myuser@'172.18.%.%' IDENTIFIED BY 'myuser' 

  

phpMyAdmin可以链接数据库修改配置文件

(1)cp config.sample.inc.php  config.inc.php  

(2)openssl ran -base64 15

(3)vim   config.inc.php  

  $cfg['blowfish_secret'] = '46aJFLiLxmqO0qrdGqwx'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */ -------随机数贴里面

  $cfg['Servers'][$i]['host'] = '172.18.17.191';     远程链接指向数据库的主机

  测试:www1.stu05.com/pma  

  压力测试 ab -n 1000 -c 100 http://www1.stu05.com/pma/index.php   -c模拟的并发数 -n模拟的总请求数



  

 十、编译安装xcache     

     # yum install php-devel

# cd  xcache-3.2.0

# phpize

# ./configure --enable-xcache  --with-php-config=/usr/bin/php-config

# make && make install

# cp  xcache.ini  /etc/php.d/

从新启动systemctl restart php-fpm



 十一、 为phpMyAdmin提供https虚拟主机;


    <VirtualHost 172.18.105.110:443>

         ServerName www1.stu05.com

          DocumentRoot  "/web/vhosts/www1/myadmin"

           SSLEngine on

          SSLCertificateFile /etc/httpd/ssl/httpd.crt--------------指向证书的位置

          SSLCertificateKeyFile /etc/httpd/ssl/httpd.key------------指向公钥的位置


          <Directory "/web/vhosts/www1/myadmin">

               AllowOverride None

             Options FollowSymLinks-----------------------------容许访问连接文件的源文件

               Require all granted

            </Directory>

       </VirtualHost>



 测试:本地主机指向dns


浏览器 https://www1.stu05.com      http://www2.stu05.com/wordpress 

相关文章
相关标签/搜索