1. 程式人生 > 實用技巧 >Centos6部署lamp: httpd2.4+fpm模式

Centos6部署lamp: httpd2.4+fpm模式

系統: Centos6

httpd版本: 2.4 使用event工作模式

php版本: 5.4.26

mariadb版本: 5.5.46

xcache版本: 3.0.3

httpd:192.168.1.101

mariadb:192.168.1.102

php:192.168.1.103

安裝順序: php最後安裝

注意事項:

1.在httpd2.2上使用fcgi功能,需要額外打補丁

一、安裝httpd2.4:

在192.168.1.101上操作

1.準備原始碼包

wKioL1hqEaqBsB1YAADAL2peBIk789.png

2.安裝所需環境

yum groupinstall -y"Development tools" "Server Platform Development"

yum install -y pcre-devel

3.安裝apr

安裝apr

tar -xjvf apr-1.5.0.tar.bz2

cd apr-1.5.0

./configure --prefix=/usr/local/apr

make & make install

安裝apr-util

tar -xjvfapr-util-1.5.3.tar.bz2

cd apr-util-1.5.3

./configure--prefix=/usr/local/apr-util --with-apr=/usr/local/apr

//指定apr安裝路徑

make && make install

4.安裝httpd2.4

wKiom1hqEcjAMkALAAC0tfKajU8418.png

tar -xjvf httpd-2.4.9.tar.bz2

cd httpd-2.4.9

./configure --prefix=/usr/local/apache--sysconf=/etc/httpd24--enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util/--enable-modules=most--enable-mpms-shared=all --with-mpm=event

//指定apr路徑,啟用大多數模組(可根據需要選擇),使httpd預設使用event工作模式

make && make install

5.後續工作

vim/etc/profile.d/http24.sh //新增環境變數

wKioL1hqEeWRjNDoAABd9jicaLI308.png

. /etc/profile.d/http24.sh //載入環境變數

ln -s/usr/local/apache/include/ /usr/include/httpd24 //連結標頭檔案

echo "MANPATH/usr/local/apache/man/" >> /etc/man.config //新增man文件路徑

cp /etc/rc.d/init.d/httpd/etc/rc.d/init.d/httpd24

vim /etc/rc.d/init.d/httpd24 //配置服務指令碼

wKiom1hqEgGSWS0mAAF48yHsSKU867.png

vim/etc/httpd24/httpd.conf //修改httpd的pid路徑

wKiom1hqEhyxPLYYAAD38j_mvYI394.png

chkconfig--add httpd24

chkconfig--level 35 httpd24 on //配置開機啟動

wKioL1hqEjLiqXaYAABinZ3gmtY188.png

servicehttpd24 start //啟動httpd

二、安裝mariadb:

在192.168.1.102上操作

1.準備原始碼包

wKiom1hqEljROsGMAACnU1TwqQk837.png

2.準備mysql組和使用者

groupadd -r -g 306 mysql

useradd -r -g mysql -u 306 mysql

3.部署mariadb

tar-xzvf mariadb-5.5.46-linux-x86_64.tar.gz -C /usr/local/

ln -s/usr/local/mariadb-5.5.46-linux-x86_64/ /usr/local/mysql

//便於以後升級版本用

wKioL1hqEnSARrnqAAHWReCOCwU076.png

chown -R root:mysql/usr/local/mysql/* //修改許可權

wKioL1hqEpKBHd8uAAMVjkFz0YQ328.png

4.初始化資料庫

mkdir-p /mydata/data

chown mysql:mysql/mydata/data/ //準備資料庫存放目錄

/usr/local/mysql/scripts/mysql_install_db--user=mysql --basedir=/usr/local/mysql--datadir=/mydata/data/

//指定mariadb目錄和資料庫存放目錄

5.準備配置檔案

mkdir/etc/mysql

cp/usr/local/mysql/support-files/my-large.cnf /etc/mysql/my.cnf

//複製模板,可根據需求選擇

vim /etc/mysql/my.cnf

wKioL1hqErniRq_GAAJ6SwTInQ8344.png

6.後續工作

vim /etc/profile.d/mysqld.sh //新增環境變數

wKiom1hqEs2ze92TAABhpvYZBgo317.png

. /etc/profile.d/mysqld.sh //載入環境變數

echo '/usr/local/mysql/lib/' >/etc/ld.so.conf.d/mysqld.conf //新增庫路徑

ldconfig//載入庫路徑

ln -s /usr/local/mysql/include/mysql/ /usr/include/mysqld

echo 'MANPATH /usr/local/mysql/man/' >>/etc/man.config //新增man文件路徑

cp /usr/local/mysql/support-files/mysql.server/etc/rc.d/init.d/mysqld //複製服務指令碼

chkconfig --add mysqld

chkconfig mysqld on //設定開機啟動

wKiom1hqEuXQdTSIAAB8Eus3vV4395.png

service mysqld start //啟動服務

7.安全初始化

/usr/local/mysql/bin/mysql_secure_installation

wKiom1hqEwDQjj-6AACk9bYsUWQ538.png

wKioL1hqExnQDXE0AAGbhZcmKHo261.png

wKiom1hqEzDC7cT3AADxWSwCl8k755.png

wKioL1hqE0aia6icAACewvo0Jns841.png

三、安裝PHP:

在192.168.1.103上操作

1.準備原始碼包

wKioL1hqE3-AKwIHAADBx2X_GmE416.png

2.安裝所需環境

yumgroupinstall -y "Development tools" "Server PlatformDevelopment"

yum install -y bzip2-devel libmcrypt-devel libxml2-devel

3.準備mysql庫

tar-xzvf mariadb-5.5.46-linux-x86_64.tar.gz -C /usr/local/

mv /usr/local/mariadb-5.5.46-linux-x86_64//usr/local/mysql

wKiom1hqE5yAt1A1AAHmhy3l7uw168.png

注:

可以使用yum install -y php-mysql來安裝所需mysql庫,編譯安裝php時,不要指定mysql的具體路徑即可



4.安裝PHP

tar -xjvf php-5.4.26.tar.bz2

cd php-5.4.26

./configure--prefix=/usr/local/php5 --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --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/php--with-config-file-scan-dir=/etc/php/php.d--with-bz2

//啟用fpm(即fcgi)

make -j 4 && makeinstall //使用4執行緒編譯,能提高速度

5.配置php

mkdir -p /etc/php/php.d //準備目錄存放配置檔案

cpphp-5.4.26/php.ini-production /etc/php/php.ini //複製原始碼包中的配置檔案

cp/usr/local/php5/etc/{php-fpm.conf.default,php-fpm.conf}

//複製php-fpm配置檔案

vim/usr/local/php5/etc/php-fpm.conf

wKiom1hqFCOxsU_SAACuoAQc-Mw755.png

wKioL1hqFDjRDmSfAADb7cJ7fJQ174.png

wKiom1hqFFySO3ycAATxuo8gRyA996.png

6.後續工作

vim /etc/profile.d/php5.sh //新增PATH路徑

wKioL1hqFIXRvej8AAA2Emm_M98491.png

. /etc/profile.d/php5.sh //載入環境變數

cpphp-5.4.26/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm //複製服務指令碼

vim /etc/rc.d/init.d/php-fpm //修改pid路徑

wKioL1hqFJuhbt84AAETFm6268g900.png

chmod +x/etc/rc.d/init.d/php-fpm //新增執行許可權

chkconfig --add php-fpm

chkconfig php-fpm on //配置開機啟動

wKiom1hqFLCSKGeOAAB0QdKF-2g810.png

service php-fpm start //啟動服務

wKiom1hqFMXSMPA4AADSOhKrPE4269.png

wKioL1hqFNqSJKhuAAGTsYgXqtI030.png

四、配置httpd:

在192.168.1.200上操作

cp/etc/httpd24/httpd.conf{,.bak} //先備份

vim /etc/httpd24/httpd.conf

wKiom1hqFPqQQJcrAALK5t5osCQ191.png

wKioL1hqFRTy4vLxAAB4ybxXIRw309.png

wKiom1hqFSvABCN1AAEgnsuiX84211.png

httpd -t //檢查httpd配置

service httpd24 reload //過載配置

六、 新增虛擬主機:

1.新增虛擬主機

vim /etc/httpd24/httpd.conf

wKioL1hqFUCTMvDHAADRpatpSdc460.png

vim/etc/httpd24/extra/httpd-vhosts.conf

wKiom1hqFVTxAe9cAABvLuEdt24192.png

vim/etc/httpd24/extra/test.conf

wKioL1hqFWzgAjciAAE96XY6Edk776.png

2. 準備測試頁面(httpd伺服器和php伺服器都需要建立)

mkdir -p /mydata/www/

vim /mydata/www/index.php

wKiom1hqFYahb_PBAAAiJB7t0Wc722.png

3.測試

wKioL1hqFZ3SwmbDAADzCK-yCDM070.png

七、 整合xcache:

在php伺服器上操作

  1. 1.準備原始碼包

wKiom1hqFbXC3JE4AACNCjnLpsg252.png

2.安裝

tar -xjvf xcache-3.0.3.tar.bz2

cd xcache-3.0.3

/usr/local/php/bin/phpize //生成configure

wKiom1hqFdOjO7t8AADXErEei4A556.png

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

//指定php安裝路徑

make && make install

wKiom1hqFejhlfPhAAD5m2T-Jkc252.png

3.整合xcache

cp xcache-3.0.3/xcache.ini /etc/php/php.d //複製xcache配置檔案

wKioL1hqFgHQ6xJKAAGSK9nira4732.png

wKiom1hqFhah3gA_AAFkXRZsmyU452.png

service php-fpm reload //過載配置

wKioL1hqFi6RONejAAE1xQzs2Oc457.png

測試連線mariadb

mysql -uroot -p12345 //mariadb伺服器上操作,登入資料庫建立使用者

CREATE USER 'root'@'%'IDENTIFIED BY '12345'; //建立遠端訪問許可權

FLUSH PRIVILEGES; //重新整理許可權表

vim /mydata/www/db.php //在php伺服器上準備測試頁面

wKiom1hqFkTy4DRCAAC0NTXeC5I075.png

wKioL1hqFmTDQ4IzAAGl3IKLRVQ658.png

注:

1.經測試,httpd伺服器上可以沒有具體的網頁檔案,但必須要有相應的網站目錄,否則會被forbidden

2.編譯安裝httpd2.4貌似不支援使用Include *.conf的方式來分割配置檔案


轉載於:https://blog.51cto.com/362475097/1888330