Centos7編譯lamp基於fpm模式的應用WordPress,實現多虛擬主機

第一步:安裝必要的httpd服務的rpm包

yum install openssl-devel expat-devel pcre-devel development tools

第二步:源碼編譯httpd包

cp -r apr-1.6.2 httpd-2.4.28/srclib/apr

cp -r apr-util-1.6.0 httpd-2.4.28/srclib/apr-util

cd httpd-2.4.28/

./configure --prefix=/app/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork

make -j 2 && make install

vim /etc/profile.d/lamp.sh

. /etc/profile.d/lamp.sh

第三步:源碼安裝mariadb

tar xvf mariadb-10.2.9-linux-x86_64.tar.gz -C /usr/local/

echo '- - - '> /sys/class/scsi_host/host2/scan

pvcreate /dev/sdb

vgcreate vg_mysqldb /dev/sdb

lvcreate -n lv_mysqldb -l +100%FREE vg_mysqldb

mkfs.ext4 /dev/vg_mysqldb/lv_mysqldb

mkfs.ext4 /dev/vg_mysqldb/lv_mysqldb -L data/mysqldb ----掛載卷標

mkdir /data/mysqldb -p ---創建掛載的卷標目錄,數據庫存放目錄

vim /etc/fstab

/dev/vg_mysqldb/lv_mysqldb /data/mysqldb ext4 defaults 0 0

tune2fs -o acl /dev/vg_mysqldb/lv_mysqldb

tune2fs -l /dev/vg_mysqldb/lv_mysqldb

mkdir /etc/mysql/ ---準備配置文件

cp support-files/my-huge.cnf /etc/mysql/my.cnf

vim /etc/mysql/my.cnf

[mysqld]

datadir = /data/mysqldb

innodb_file_per_table = on這個是每張表都單獨存放,互相不影響,方便查看,可以不寫

skip_name_resolve = on這個是把名字的反向解析關閉,運行速度會快一點,也可以不寫。

scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb ---創建本地數據庫

cp support-files/mysql.server /etc/init.d/mysqld ---做成服務腳本

chkconfig --list mysqld

chkconfig --add mysqld

chkconfig --list mysqld

service mysqld start

vi /etc/profile.d/mysql.sh ---加上path變量

PATH=/usr/local/mysql/bin:$PATH

mkdir /var/log/mariadb/ ----創建日誌文件

chown mysql /var/log/mariadb/

service mysqld start

mysql_secure_installation ---運行安全腳本

create database blogdb; 創建管理數據庫1

grant all on blogdb.* to wpuser@'172.17.252.%' identified by 'centos'; ----授權

grant all on blogdb.* to wpuser@'localhost' identified by 'centos';

create database blogdb2; 創建管理數據庫2

grant all on blogdb2.* to wpuser2@'localhost' identified by 'centos'; ---授權

第四步:安裝php

yum install bzip2-devel libxm12-devel libmcrypt-devel ---準備必要rpm包 ,可以單獨裝避免出錯

tar xvf php-7.1.10.tar.xz

cd php-7.1.10/

./configure --prefix=/app/php --enable-mysqlnd --with-mysqli=mysqlnd --with-openssl --with-pdo-mysql=mysqlnd --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --enable-fpm --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --enable-maintainer-zts --disable-fileinfo

make -j 2 && make install

cp php.ini-production /etc/php.ini ---複製模板文件做成服務腳本

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

chmod +x /etc/init.d/php-fpm

chkconfig --add php-fpm

chkconfig php-fpm on

cd /app/php/etc/ ---準備配置文件

cp php-fpm.conf.default php-fpm.conf

cp php-fpm.d/www.conf.default php-fpm.d/www.conf

service php-fpm start

第五步:準備虛擬主機的配置

/app/httpd24/conf/httpd.conf

AddType application/x-http-php. php添加上

AddType application/x-httpd-php-source .phps 添加上

LoadModule proxy_module modules/mod_proxy.so 註釋去掉

LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so註釋去掉

<IfModule dir_module>

DirectoryIndex index.php index.html 測試頁面

</IfModule>

Include conf/extra/httpd-vhosts.conf 去掉註釋虛擬主機

vim /app/httpd24/conf/extra/httpd-vhosts.conf --單獨配置多站點虛擬主機

<VirtualHost *:80>

ServerAdmin [email protected]

DocumentRoot "/app/httpd24/htdocs"

ServerName www.a.com

ErrorLog "logs/a.com-error_log"

CustomLog "logs/a.com-access_log" common

ProxyRequests Off

ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/app/httpd24/htdocs/$1

<directory /app/httpd24/htdocs>

require all granted

</directory>

</VirtualHost>

<VirtualHost *:80>

ServerAdmin [email protected]

DocumentRoot "/app/httpd24/htdocs2"

ServerName www.b.com

ErrorLog "logs/b.com-error_log"

CustomLog "logs/b.com-access_log" common

ProxyRequests Off

ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/app/httpd24/htdocs2/$1

<directory /app/httpd24/htdocs2>

require all granted

</directory>

</VirtualHost>

第六步:配置wordpress ,最好都是單獨解壓複製,到各自的站點,不然數據庫只要登陸就會保存數據,如果數據庫出問題,直接把數據庫刪除,然後重建賬號數據庫

站點一: tar xvf wordpress-4.8.1-zh_CN.tar.gz --解壓

mv wordpress/* /app/httpd24/htdocs/ --不建立文件夾,直接複製到根

cp wp-config-sample.php wp-config.php

cd /app/httpd24/htdocs

vim wp-config.php

define('DB_NAME', 'blogdb');

/** MySQL數據庫用戶名 */

define('DB_USER', 'wpuser');

/** MySQL數據庫密碼 */

define('DB_PASSWORD', 'centos');

/** MySQL主機 */

define('DB_HOST', 'localhost');

站點二:

tar xvf wordpress-4.8.1-zh_CN.tar.gz --解壓

mv wordpress/* /app/httpd24/htdocs2/ --不建立文件夾,直接複製到根

cp wp-config-sample.php wp-config.php

cd /app/httpd24/htdocs2

vim wp-config.php

define('DB_NAME', 'blogdb');

/** MySQL數據庫用戶名 */

define('DB_USER', 'wpuser');

/** MySQL數據庫密碼 */

define('DB_PASSWORD', 'centos');

/** MySQL主機 */

define('DB_HOST', 'localhost');

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章