溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

centos7 lamp(moudle)

發(fā)布時間:2020-05-31 11:07:28 來源:網(wǎng)絡(luò) 閱讀:481 作者:xwj4611 欄目:數(shù)據(jù)庫

CentOS 7, lamp (module)


要求:(1) 三者分離于兩臺主機;

       (2) 一個虛擬主機用于提供phpMyAdmin;另一個虛擬主機用于提供wordpress;

       (3) xcache

       (4) 為phpMyAdmin提供https虛擬主機;



規(guī)劃:  172.18.105.110 上運行http服務(wù)器以及php后端腳本

           172.18.17.191 運行數(shù)據(jù)庫


準備工作

我提前做好了DNS 兩臺A記錄172.18.105.110 對應(yīng)的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  安裝數(shù)據(jù)庫


      systemctl start httpd      

      擴展:2.4的http支持fastcgi,如果要使用把php替換成php-fpm



2.關(guān)閉中心主機的 #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 時中間出現(xiàn)報錯:

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:不能可靠地確定服務(wù)器的完全限定域名,使用localhost.localdomain。設(shè)置' ServerName指令在全球范圍內(nèi)抑制此消息


解決辦法:vim /etc/httpd/conf/httpd.conf   首先找到ServerName(約213行),將其設(shè)置為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已經(jīng)指向本地



6.rpm -ql php 檢查 libphp5.so 模塊是否對應(yīng)著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,并授權(quán)遠程登錄用戶

CREATE DATABASE wpdb1;   創(chuàng)建數(shù)據(jù)庫

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

     注:GRANT授權(quán) 在172.16.0.0/16網(wǎng)段的主機通過testuser遠程訪問testdb的所有表

   (2) FLUSH PRIVILEGES 刷新立即生效

     可查看用戶:SELECT USER();

測試下遠程用戶是否可以登錄數(shù)據(jù)庫:mysql -uwpuser1 -h272.18.17.191 -pwpuser1


   (3)關(guān)閉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環(huán)境就成功了。


總結(jié):

任何開源程序需要連接到數(shù)據(jù)庫的,在測試lamp連接數(shù)據(jù)庫ok的情況下,如果是遠程連接,則需要創(chuàng)建一個得到授權(quán)的遠程連接的用戶,而workdpress不僅需要創(chuàng)建一個數(shù)據(jù)庫,還需要一個得到授權(quán)的遠程連接的用戶。

遠程主機登錄數(shù)據(jù)庫 define('DB_HOST', '172.18.250.157');   本地主機登錄數(shù)據(jù)庫define('DB_HOST', '127.0.0.1'); 

本地數(shù)據(jù)庫root登錄如果有密碼  mysql -uroot  -pxwj4611

    如果本地數(shù)據(jù)庫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

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

2、執(zhí)行mysql或者如果本地root已經(jīng)設(shè)定密碼mysql -uroot -pxwj4611 ------CREATE DATABASE wpdb;創(chuàng)建數(shù)據(jù)庫   大多數(shù)開源的程序會自動創(chuàng)建數(shù)據(jù)庫

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

  注:給這個軟件授權(quán)一個用戶可以遠程連接數(shù)據(jù)庫,如果是本地連接127.0.0.1

4、vim vp-config.php 編輯配置文件

         /** WordPress數(shù)據(jù)庫的名稱 */

          define('DB_NAME', 'wpdb1');


         /** MySQL數(shù)據(jù)庫用戶名 */

           define('DB_USER', 'wpuser1');


         /** MySQL數(shù)據(jù)庫密碼 */

           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模擬的并發(fā)數(shù) -n模擬的總請求數(shù)

本地測試的沒有考慮帶寬,服務(wù)器可能沒有跑滿帶寬跑滿了。Requests per second:    8.85 [#/sec] (mean) 每秒鐘處理的請求數(shù)


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   注:方便回滾

我需要事先為其連接到數(shù)據(jù)庫后準備一個授權(quán)的遠程鏈接的用戶:以遍可以登錄

  (1)、執(zhí)行mysql或者如果本地root已經(jīng)設(shè)定密碼mysql -uroot -pxwj4611

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

  

phpMyAdmin能夠連接數(shù)據(jù)庫修改配置文件

(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! */ -------隨機數(shù)貼里面

  $cfg['Servers'][$i]['host'] = '172.18.17.191';     遠程連接指向數(shù)據(jù)庫的主機

  測試:www1.stu05.com/pma  

  壓力測試 ab -n 1000 -c 100 http://www1.stu05.com/pma/index.php   -c模擬的并發(fā)數(shù) -n模擬的總請求數(shù)



  

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



 11、 為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 


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI