本次試驗的目的主要是搭建LAMP部署於三臺主機中:一臺部署Http的,一臺部署php-fpm,一臺部署MariaDB.。部署前準備好三臺主機。
客戶端發送請求過程:
當客戶端發送靜態資源請求時,httpd會自行處理。當客戶端發送動態資源的請求時。httpd將自己作爲反向代理,將請求發送給php-fpm主機,讓其進行處理,當請求發送給php-fpm時,如果需要使用導數據時,通過mysql啓動(php-mysql)時其與MariaDB通信;當然事先要授權遠程登錄才行。
一、部署MariaDB的主機
1.安裝MariaDB
yum -y install MariaDB
2.啓動MariaDB,並且運行安全向導
systemctl start mariadb.service
mysql_secure_installation
3.登錄MariaDB,並且創建專門用於phpMyAdmin和WordPress的數據庫、賬號、密碼,並且授權遠程登錄
mysql -uroot -p
CREATE DATABASE phpdb;
CREATE DATABASE wordphp;
GRANT ALL ON phpdb.* TO 'phpuser'@'172.18.%.%' IDENTIFIED BY 'php';
GRANT ALL ON worddb.* TO 'worduser'@'172.18.%.%' IDENTIFIED BY 'word';
FLUSH PRIVILEGES;
二、部署PHP-fpm
1.安裝php-fpm、php-mysql
yum -y install php-fpm
yum -y install php-mysql
2.修改php-fpm配置文件/etc/php -fpm.d/www.conf
listen修改爲本機的IP+port
listen.allowed_clients設置爲Http主機的IP.
3.創建新的目錄放置phpMyadmin和WordPress
mkdir -pv /test/{myadmin,word}
4.下載並且解壓WordPress壓縮包並且進入WordPress目錄,複製wp-config-sample.php爲wp- config.php。
unzip wordpress-4.3.1-zh_CN.zip
cp wp-config-sample.php wp-config.php
5.修改wp-config.php中的數據庫名稱、賬號、密碼、所連接的IP
6.下載並解壓phpMyAdmin壓縮包並且將phpMyAdmin鏈接爲pma ,將pma中
config.sample.inc.php修改爲 config.inc.php
ln -sv phpMyAdmin-4.4.14.1-all-languages pma
cp config.sample.inc.php config.inc.php
7.生成隨機數填入config.inc.php中blowfish_secret和遠程數據庫主機地址
openssl rand -base64 15
host爲httpd的ip地
8.安裝x-cache
yum -y install php-xcache
三、部署httpd
1.安裝httpd
yum -y install httpd
2.修改配置文件/etc/httpd/conf/httpd.conf文件中的DocumentRoot註釋掉(開頭加上#)
#DocumentRoot "/var/www/html"
3.創建兩個專門存放靜態網頁的目錄。
mkdir -pv /test/{myadmin,word}
4.分別在存放靜態網頁的目錄下編輯index.html
5.創建兩個虛擬主機,在/etc/httpd/conf.d/創建一個以.conf爲結尾的文件,做如下編輯
ProxyRequests 表示正向代理,這裏關閉時因爲此時httpd作爲反向代理
ProxyPassMatch 表示將匹配.php的申請發往php-fpm主機。
四、啓動服務
systemctl start httpd.service
systemctl start php-fpm.service
五、修改hosts文件,
使我們訪問的域名直接指向我們的虛擬主機。這裏以windos爲例
在C:\Windows\System32\drivers\etc\host在文件尾部添加虛擬主機IP和域名
172.18.254.123 www.myadmin.com
172.18.254.123 www.word.com
六、打開瀏覽器,鍵入地址下圖地址。測試結果!