日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

LAMP架构之编译安装httpd+(php-fpm)+mariadb

發(fā)布時(shí)間:2025/7/14 php 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LAMP架构之编译安装httpd+(php-fpm)+mariadb 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

php-fpm:

????CentOS 6:

????????PHP-5.3.2-:默認(rèn)不支持fpm機(jī)制;需要自行打補(bǔ)丁并編譯安裝;

????????httpd-2.2:默認(rèn)不支持fcgi協(xié)議,需要自行編譯此模塊;

解決方案:編譯安裝httpd-2.4, php-5.3.3+;


CentOS 6, lamp (編譯安裝http和php-fpm);

實(shí)現(xiàn):

(1) 三者分離于三臺(tái)主機(jī);

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

(3) 為php提供xcache

(4) 切換mpm為非prefork機(jī)制;

On http(172.16.17.61):

1)配置編譯環(huán)境,安裝開(kāi)發(fā)包組

[root@node1?~]#?yum?-y?groupinstall?"Development?Tools"?"Server?Platform?Development"

2)安裝httpd依賴(lài)的apr及apr-util,apr需要先安裝

[root@node1?~]#?tar?xf?apr-1.5.0.tar.bz2 [root@node1?~]#?cd?apr-1.5.0 [root@node1?apr-1.5.0]#?./configure?--prefix=/usr/local/apr [root@node1?apr-1.5.0]#?make?-j?4?&&?make?install ============================================================ [root@node1?~]#?tar?xf?apr-util-1.5.3.tar.bz2? [root@node1?~]#?cd?apr-util-1.5.3 [root@node1?apr-util-1.5.3]#?./configure?--prefix=/usr/local/apr-util?--with-apr=/usr/local/apr/ [root@node1?apr-util-1.5.3]#?make?-j?4?&&?make?install

3)編譯安裝httpd程序

[root@node1?~]#?yum?-y?install?pcre-devel?openssl-devel [root@node1?~]#?tar?xf?httpd-2.4.10.tar.bz2? [root@node1?~]#?cd?httpd-2.4.10 [root@node1?httpd-2.4.10]#?./configure?--prefix=/usr/local/apache24?--sysconfdir=/etc/httpd24?\ >?--enable-so?--enable-ssl?--enable-cgi?--enable-rewrite?--enable-modules=most?--enable-mpms-shared=all?\ >?--with-zlib?--with-pcre?--with-apr=/usr/local/apr?--with-apr-util=/usr/local/apr-util/?--with-mpm=prefork [root@node1?httpd-2.4.10]#?make?-j?4?&&?make?install

4)提供httpd服務(wù)腳本,復(fù)制CentOS6的httpd2.2服務(wù)腳本,簡(jiǎn)單修改即可

[root@node1?~]#?cp?/etc/rc.d/init.d/httpd?/etc/rc.d/init.d/httpd24 [root@node1?~]#?vim?/etc/rc.d/init.d/httpd24 apachectl=/usr/local/apache24/bin/apachectl httpd=${HTTPD-/usr/local/apache24/bin/httpd} prog=httpd pidfile=${PIDFILE-/usr/local/apache24/logs/httpd.pid} lockfile=${LOCKFILE-/var/lock/subsys/httpd24}

5)添加httpd的PATH環(huán)境變量

[root@node1?~]#?chkconfig?--add?httpd24 [root@node1?~]#?chkconfig?httpd24?on [root@node1?~]#?vim?/etc/profile.d/httpd24.sh export?PATH=/usr/local/apache24/bin:$PATH [root@node1?~]#?.?/etc/profile.d/httpd24.sh

6)啟用httpd2.4的fcgi模塊

[root@node1?~]#?vim?/etc/httpd24/httpd.conf LoadModule?proxy_module?modules/mod_proxy.so LoadModule?proxy_fcgi_module?modules/mod_proxy_fcgi.so

7)添加http對(duì)php頁(yè)面文件的支持,啟用虛擬主機(jī)

[root@node1?~]#?vim?/etc/httpd24/httpd.conf ServerName?www.example.com:80 #DocumentRoot?"/usr/local/apache24/htdocs" <IfModule?dir_module> DirectoryIndex?index.html?index.php </IfModule> AddType?application/x-httpd-php?.php AddType?application/x-httpd-source?.phps Include?/etc/httpd24/extra/httpd-vhosts.conf

8)提供虛擬主機(jī)www.pma.com及www.wordpress.com

[root@node1?~]#?vim?/etc/httpd24/extra/httpd-vhosts.conf <VirtualHost?*:80> ServerAdmin?webmaster@pma.com DocumentRoot?"/web/pma/htdocs" ServerName?www.pma.com ServerAlias?web.pma.com ErrorLog?"logs/pma.com-error_log" CustomLog?"logs/pma.com-access_log"?combined ProxyRequests?Off ProxyPassMatch?^/(.*\.php)$?fcgi://172.16.17.62:9000/web/pma/htdocs <Directory?"/web/pma/htdocs"> Options?None AllowOverride?None Require?all?granted </Directory> </VirtualHost><VirtualHost?*:80> ServerAdmin?webmaster@wordpress.com DocumentRoot?"/web/wordpress/htdocs" ServerName?www.wordpress.com ServerAlias?web.wordpress.com ErrorLog?"logs/wordpress.com-error_log" CustomLog?"logs/wordpress.com-access_log"?combined ProxyRequests?Off ProxyPassMatch?^/(.*\.php)$?fcgi://172.16.17.62:9000/web/wordpress/htdocs <Directory?"/web/wordpress/htdocs"> Options?None AllowOverride?None Require?all?granted </Directory> </VirtualHost>

9)安裝配置phpMyAdmin程序

[root@node1?~]#?mkdir?-pv?/web/{pma,wordpress} [root@node1?~]#?unzip?phpMyAdmin-4.4.14.1-all-languages.zip?-d?/web/pma/ [root@node1?~]#?mv?/web/pma/phpMyAdmin-4.4.14.1-all-languages/?/web/pma/htdocs [root@node1?~]#?cd?/web/pma/htdocs [root@node1?htdocs]#?cp?config.sample.inc.php?config.inc.php [root@node1?htdocs]#?openssl?rand?-base64?20 vNVkpLUPfn2a4dz/ZKnJkBmvH54= 編輯config.inc.php文件,將生成的隨機(jī)數(shù)復(fù)制到里面,然后更改數(shù)據(jù)庫(kù)連接主機(jī): $cfg['blowfish_secret']?=?'vNVkpLUPfn2a4dz/ZKnJkBmvH54'; $cfg['Servers'][$i]['host']?=?'172.16.17.63';

10)安裝配置WordPress程序

[root@node1?~]#?unzip?wordpress-4.3.1-zh_CN.zip?-d?/web/wordpress/ [root@node1?~]#?mv?/web/wordpress/wordpress/?/web/wordpress/htdocs [root@node1?~]#?cd?/web/wordpress/htdocs [root@node1?htdocs]#?cp?wp-config-sample.php?wp-config.php 編輯wp-config.php文件,配置數(shù)據(jù)庫(kù)連接信息: define('DB_NAME',?'wpdb'); define('DB_USER',?'wpuser'); define('DB_PASSWORD',?'wppasswd'); define('DB_HOST',?'172.16.17.63');

11)啟動(dòng)httpd服務(wù)

[root@node1?~]#?httpd?-t Syntax?OK [root@node1?~]#?service?httpd24?start Starting?httpd:?[?OK?] [root@node1?~]#?ss?-tnl?|?grep?80 LISTEN?0?128?*:48075?*:* LISTEN?0?128?:::80?:::*



On php(172.16.17.62):

1)配置編譯環(huán)境,安裝開(kāi)發(fā)包組

[root@node2?~]#?yum?-y?groupinstall?"Development?Tools"?"Server?Platform?Development" [root@node2?~]#?yum?install?-y?libxml2-devel?libmcrypt-devel?openssl-devel?bzip2-devel

2)編譯安裝php程序,默認(rèn)啟用php-fpm

[root@node2?~]#?tar?xf?php-5.6.4.tar.xz?-C?/usr/local/src [root@node2?~]#?cd?/usr/local/src/php-5.6.4 [root@node2?php-5.6.4]#?./configure?--prefix=/usr/local/php?--sysconfdir=/etc/php?\ >?--enable-mbstring?--enable-xml?--enable-fpm?--enable-sockets?--enable-maintainer-zts?\ >?--with-openssl?--with-freetype-dir?--with-png-dir?--with-jpeg-dir?--with-zlib?--with-bz2?\ >?--with-libxml-dir=/usr?--with-mcrypt?--with-config-file-scan-dir=/etc/php.d?\ >?--with-mysql=mysqlnd?--with-pdo-mysql=mysqlnd?--with-mysqli=mysqlnd?--user=apache [root@node2?php-5.6.4]#?make?-j?4?&&?make?install

3)為php提供配置文件

[root@node2?php-5.6.4]#?cp?php.ini-production?/etc/php/php.ini

4)配置php-fpm

[root@node2?php-5.6.4]#?mkdir?/etc/php.d [root@node2?php-5.6.4]#?cp?sapi/fpm/init.d.php-fpm?/etc/init.d/php-fpm [root@node2?php-5.6.4]#?chmod?+x?/etc/init.d/php-fpm [root@node2?php-5.6.4]#?chkconfig?--add?php-fpm [root@node2?php-5.6.4]#?chkconfig?php-fpm?on

5)為php-fpm提供配置文件并編輯之

[root@node2?php-5.6.4]#?cp?/etc/php/php-fpm.conf.default?/etc/php/php-fpm.conf [root@node2?php-5.6.4]#?vim?/etc/php/php-fpm.conf pid?=?/usr/local/php/var/run/php-fpm.pid listen?=?172.16.17.62:9000 listen.allowed_clients?=?172.16.17.61 pm.max_children?=?60 pm.start_servers?=?5 pm.min_spare_servers?=?3 pm.max_spare_servers?=?8

6)復(fù)制web服務(wù)器的網(wǎng)頁(yè)某到php服務(wù)器上一份,客戶端訪問(wèn)時(shí),獲取靜態(tài)資源會(huì)訪問(wèn)到web服務(wù)器,訪問(wèn)動(dòng)態(tài)資源將訪問(wèn)到php服務(wù)器

[root@node2?~]#?scp?-r?root@172.16.17.61:/web?/

7)啟動(dòng)php-fpm

[root@node2?~]#?service?php-fpm?start Starting?php-fpm??done [root@node2?~]#?ss?-tnl?|?grep?--color?"9000" LISTEN?????0??????128????????????172.16.17.62:9000?????????????????????*:*????? [root@node2?~]#?ps?aux?|?grep?--color?"php-fpm" root?????108087??0.0??1.0??71880??5128??????????Ss???00:07???0:00?php-fpm:?master?process?(/etc/php/php-fpm.conf)???????????????????????????????????????????????????????????????????? apache???108088??0.0??0.9??71880??4436??????????S????00:07???0:00?php-fpm:?pool?www?????????????????????????????????????????????????????????????????????????????????????????????????? apache???108089??0.0??0.9??71880??4440??????????S????00:07???0:00?php-fpm:?pool?www?????????????????????????????????????????????????????????????????????????????????????????????????? apache???108090??0.0??0.9??71880??4440??????????S????00:07???0:00?php-fpm:?pool?www?????????????????????????????????????????????????????????????????????????????????????????????????? apache???108091??0.0??0.9??71880??4440??????????S????00:07???0:00?php-fpm:?pool?www?????????????????????????????????????????????????????????????????????????????????????????????????? apache???108092??0.0??0.9??71880??4440??????????S????00:07???0:00?php-fpm:?pool?www?????????????????????????????????????????????????????????????????????????????????????????????????? root?????108096??0.0??0.1?103304???892?pts/0????S+???00:08???0:00?grep?--color?php-fpm



On?mariadb(172.16.17.73):

1)創(chuàng)建運(yùn)行mariadb的用戶

[root@node2?~]#?groupadd?-r?mysql [root@node2?~]#?useradd?-r?-g?mysql?mysql

2)創(chuàng)建數(shù)據(jù)庫(kù)存放目錄

[root@node2?~]#?mkdir?-pv?/data/mysql [root@node2?~]#?chown?-R?mysql.mysql?/data/mysql/

3)解壓mariadb程序包至/usr/local,并創(chuàng)建mysql軟鏈接

[root@node2?~]#?tar?xf?mariadb-5.5.46-linux-x86_64.tar.gz?-C?/usr/local/ [root@node2?~]#?cd?/usr/local/ [root@node2?local]#?ln?-sv?mariadb-5.5.46-linux-x86_64/?mysql

4)初始化數(shù)據(jù)庫(kù)

[root@node2?local]#?chown?-R?root.mysql?mysql/ [root@node2?mysql]#?scripts/mysql_install_db?--user=mysql?--datadir=/data/mysql

5)提供mysql主配置文件并編輯之

[root@node2?mysql]#?mkdir?/etc/mysql [root@node2?mysql]#?cp?support-files/my-medium.cnf?/etc/mysql/my.cnf 在my.cnf配置文件中的[mysqld]端添加以下內(nèi)容: datadir?=?/data/mysql?????????//設(shè)置mysql的數(shù)據(jù)存儲(chǔ)目錄 innodb_file_per_table?=?ON???????//設(shè)置innodb存儲(chǔ)引擎獨(dú)立存儲(chǔ)數(shù)據(jù)庫(kù) skip_name_resolve?=?ON?????????//禁止mysql進(jìn)行反解主機(jī)名

6)提供mysql服務(wù)腳本

[root@node2?mysql]#?cp?support-files/mysql.server?/etc/rc.d/init.d/mysqld [root@node2?mysql]#?chmod?+x?/etc/rc.d/init.d/mysqld [root@node2?mysql]#?chkconfig?--add?mysqld [root@node2?mysql]#?chkconfig?mysqld?on

7)設(shè)置mysql命令的環(huán)境變量

[root@node3?~]#?vim?/etc/profile.d/mysql.sh export?PATH=/usr/local/mysql/bin:$PATH [root@node3?~]#?.?/etc/profile.d/mysql.sh

8)導(dǎo)出mysql頭文件

[root@node3?~]#?ln?-sv?/usr/local/mysql/include/mysql/?/usr/include/

9)導(dǎo)出mysql庫(kù)文件路徑

[root@node3?~]#?echo?"/usr/local/mysql/lib"?>>?/etc/ld.so.conf.d/mysql.conf [root@node3?~]#?ldconfig

10)導(dǎo)出mysql的man幫助手冊(cè)

[root@node3?~]#?vim?/etc/man.config MANPATH?/usr/local/mysql/man?????????//添加此行

11)啟動(dòng)mysqld服務(wù)

[root@node2?~]#?service?mysqld?start

8)創(chuàng)建wpdb庫(kù),授權(quán)wpuser用戶連接

[root@node3?~]#?mysql MariaDB?[(none)]>?USE?mysql; MariaDB?[mysql]>?DELETE?FROM?mysql.user?WHERE?User=''; MariaDB?[mysql]>?DELETE?FROM?mysql.user?WHERE?Host='node3'; MariaDB?[mysql]>?GRANT?ALL?PRIVILEGES?ON?*.*?TO?'root'@'localhost'?IDENTIFIED?BY?'123qwe!@#'; MariaDB?[mysql]>?GRANT?ALL?PRIVILEGES?ON?*.*?TO?'root'@'127.0.0.1'?IDENTIFIED?BY?'123qwe!@#'; MariaDB?[mysql]>?GRANT?ALL?PRIVILEGES?ON?*.*?TO?'root'@'::1'?IDENTIFIED?BY?'123qwe!@#'; MariaDB?[(none)]>?CREATE?SCHEMA?wpdb; MariaDB?[(none)]>?GRANT?ALL?PRIVILEGES?ON?wpdb.*?TO?'wpuser'@'172.16.%.%'?IDENTIFIED?BY?'wppasswd'; MariaDB?[(none)]>?GRANT?ALL?PRIVILEGES?ON?*.*?TO?'root'@'172.16.%.%'?IDENTIFIED?BY?'123qwe!@#'; MariaDB?[(none)]>?FLUSH?PRIVILEGES; MariaDB?[mysql]>?SELECT?Host,User,Password?FROM?user; +------------+--------+-------------------------------------------+ |?Host???????|?User???|?Password??????????????????????????????????| +------------+--------+-------------------------------------------+ |?localhost??|?root???|?*A47CB5FB12B47CBF12AB43B7EC865013906E10BD?| |?127.0.0.1??|?root???|?*A47CB5FB12B47CBF12AB43B7EC865013906E10BD?| |?::1????????|?root???|?*A47CB5FB12B47CBF12AB43B7EC865013906E10BD?| |?172.16.%.%?|?wpuser?|?*7CD61EFBFDDDBD978EA9017F2A26A59DE4589025?| |?172.16.%.%?|?root???|?*A47CB5FB12B47CBF12AB43B7EC865013906E10BD?| +------------+--------+-------------------------------------------+


重啟httpd24服務(wù),添加本地hosts文件解析,打開(kāi)瀏覽器添訪問(wèn)網(wǎng)站(配置好php-fpm后需要重啟一下httpd服務(wù)):

[root@node1?~]#?service?httpd24?restart Stopping?httpd:????????????????????????????????????????????[??OK??] Starting?httpd:????????????????????????????????????????????[??OK??]


客戶端使用ab命令對(duì)服務(wù)器進(jìn)行壓力測(cè)試:

[root@client?~]#?ab?-c?100?-n?1000?http://www.pma.com/index.php


ON php(172.16.17.72):為php服務(wù)器編譯安裝xcache

1解壓xcache源碼包至/usr/local下

[root@node2?xcache]#?tar?xf?xcache-3.2.0.tar.bz2?-C?/usr/local/ [root@node2?xcache]#?mv?/usr/local/xcache-3.2.0/?/usr/local/xcache

2)生成configure腳本

[root@node2?xcache]#?/usr/local/php/bin/phpize

3)執(zhí)行編譯安裝

[root@node2?xcache]#?./configure?--enable-xcache?--with-php-config=/usr/local/php/bin/php-config

4)復(fù)制xcache的ini文件至/etc/php.d目錄下?

[root@node2?xcache]#?cp?xcache.ini?/etc/php.d/

5)建立php測(cè)試頁(yè)面

[root@node2?~]#?vim?/web/pma/htdocs/test.php <?phpphpinfo(); ?>

6)重啟php-fpm服務(wù)

[root@node2?xcache]#?service?php-fpm?restart Gracefully?shutting?down?php-fpm?.?done Starting?php-fpm??done


再次在客戶端使用ab命令對(duì)服務(wù)器進(jìn)行壓力測(cè)試:

[root@client?~]#?ab?-c?100?-n?1000?http://www.pma.com/index.php



On http(172.16.17.61):切換mpm為event機(jī)制:

[root@node1?~]#?vim?/etc/httpd24/httpd.conf? Include?/etc/httpd24/extra/httpd-mpm.conf #LoadModule?mpm_prefork_module?modules/mod_mpm_prefork.so LoadModule?mpm_event_module?modules/mod_mpm_event.so?????//注釋prefork模塊,配置event模塊 [root@node1?~]#?service?httpd24?restart [root@node1?~]#?httpd?-M?|?grep?mpmmpm_event_module?(shared)


轉(zhuǎn)載于:https://blog.51cto.com/coffeeyep/1739361

總結(jié)

以上是生活随笔為你收集整理的LAMP架构之编译安装httpd+(php-fpm)+mariadb的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。