溫馨提示×

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

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

CentOS 6 編譯LAMP 實(shí)現(xiàn)雙機(jī)FastCGI

發(fā)布時(shí)間:2020-06-06 14:07:05 來(lái)源:網(wǎng)絡(luò) 閱讀:496 作者:Jonews 欄目:數(shù)據(jù)庫(kù)

需求:


    CenOS 6平臺(tái)搭建LAMP,其中php作為獨(dú)立的服務(wù)工作

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

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

    (3)安裝下cache,為php提供加速

    (4)mpm為prefork模型


注意:

    (1)由于httpd是cpu密集型,php是io密集型,而mariadb即是cpu密集型又是io密集型。所以我們將httpd和php放在一臺(tái)主機(jī)上,mariadb單獨(dú)放在一臺(tái)主機(jī)上

    (2)由于CentOS 6平臺(tái)僅提供了mysql的rpm包,這里我們使用mariadb二進(jìn)制安裝包安裝

    (3)由于php要作為單獨(dú)服務(wù)進(jìn)程運(yùn)行,因此編譯php時(shí)要啟用php-fpm特性

    (4)由于CentOS 6提供的各應(yīng)用的rpm安裝包版本都比較老,所以都需要通過(guò)編譯源碼來(lái)安裝

    (5)httpd與php之間需要通過(guò)FastCGI協(xié)議來(lái)連接,httpd其實(shí)是作為反向代理來(lái)工作的,編譯httpd時(shí)需要啟用proxy和proxy_cgi特性

    (6)如要求mpm問(wèn)哦event模型,同時(shí)php作為httpd的模塊工作時(shí),因?yàn)閑vent為線程模型,所以php必須啟用線程安全功能--enable-maintainer-zts


環(huán)境:

    關(guān)閉iptables和SELinux

    Host1:作為前端web服務(wù)器 IP:10.0.0.61

    Host2:作為后端DB服務(wù)器  IP:10.0.0.62

    Linux修改/etc/hosts/

    Windows修改C:\Windows\System32\drivers\etc

        10.0.0.61    www.wordpress.com

        10.0.0.61    www.phpadmin.com


配置:


Host2:


安裝二進(jìn)制的mariadb

# 增加一個(gè)系統(tǒng)用戶(hù)mysql
[root@localhost ~]# useradd -r mysql
# 解壓二進(jìn)制安裝包放置在`/usr/local/`目錄下
[root@localhost ~]# tar -xf mariadb-5.5.46-linux-x86_64.tar.gz -C /usr/local/
[root@localhost ~]# cd /usr/local/
# 鏈接為`mysql`目錄
[root@localhost local]# ln -sv mariadb-5.5.46-linux-x86_64/ mysql
`mysql' -> `mariadb-5.5.46-linux-x86_64/'
# 修改其屬主和屬組
[root@localhost local]# chown -R root:mysql mysql/
# 創(chuàng)建數(shù)據(jù)庫(kù)存放目錄`/data/mysql`
[root@localhost local]# mkdir -pv /data/mysql
mkdir: created directory `/data'
mkdir: created directory `/data/mysql'
# 修改其屬主和屬組。
[root@localhost local]# chown -R mysql:mysql /data/mysql/
# 安裝
[root@localhost local]# cd mysql/
[root@localhost mysql]# scripts/mysql_install_db --user=mysql --datadir=/data/mysql/
# 復(fù)制服務(wù)啟動(dòng)腳本至`/etc/rc.d/init.d`目錄
[root@localhost mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld


復(fù)制配置文件,并進(jìn)行配置

# cp support-files/my-large.cnf /etc/my.cnf
# vim /etc/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
datadir=/data/mysql
character-set-server=utf8
collation-server=utf8_general_ci
default-storage-engine=InnoDB
innodb-file-per-table=TRUE
skip-name-resolve=TRUE


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

# 啟動(dòng)數(shù)據(jù)庫(kù)
[root@localhost mysql]# /etc/init.d/mysqld start
Starting MySQL.. SUCCESS!
[root@cb9326a6 mysql]# ss -tunl | grep 3306
tcp    LISTEN     0      50                     *:3306                  *:*
# 導(dǎo)出`/usr/local/mysql/bin/`目錄至`PATH`系統(tǒng)環(huán)境變量
[root@localhost mysql]# export PATH=/usr/local/mysql/bin/:$PATH
# 數(shù)據(jù)庫(kù)初始化設(shè)置
[root@localhost mysql]# mysql_secure_installation


授權(quán):

[root@localhost ~]# mysql -u root -p
# 授權(quán)root可從10.0.0.0/8網(wǎng)段內(nèi)的主機(jī)登錄操作所有數(shù)據(jù)庫(kù)。
MariaDB [(none)]> grant all privileges on *.* to 'root'@'10.0.0.%' identified by '123456';
# 給wordpress創(chuàng)建數(shù)據(jù)wpdb。
MariaDB [(none)]> create database wordpress;
# 給wordpress創(chuàng)建用戶(hù)wordpress。
MariaDB [(none)]> create user 'wordpress'@'172.18.71.%' identified by 'wordpress';
# 授權(quán)wordpress可從10.0.0.0/8網(wǎng)段內(nèi)的主機(jī)登錄操作wordpress數(shù)據(jù)庫(kù)。
MariaDB [(none)]> grant all privileges on wpdb.* to 'wordpress'@'10.0.0.%' identified by 'wordpress';
# 重載權(quán)限表
MariaDB [(none)]> flush privileges;

 
Host1


測(cè)試能否鏈接數(shù)據(jù)庫(kù)服務(wù)器

# 因?yàn)镃entOS-6不提供mariadb,所以安裝mysql的客戶(hù)端。
[root@localhost ~]# yum install -y mysql
# 測(cè)試連接HostB數(shù)據(jù)庫(kù)
[root@localhost ~]# mysql -u root -h 10.0.0.62 -p


新增一個(gè)系統(tǒng)用戶(hù)

# useradd -r apache


準(zhǔn)備開(kāi)發(fā)環(huán)境

# yum groupinstall -y "Development tools" "Server Platform Development"
# yum install -y pcre-devel libxml2-devel  libmcrypt-devel bzip2-devel libcurl-devel


準(zhǔn)備好源碼包:

apr-1.5.0.tar.bz2  apr-util-1.5.3.tar.bz2  httpd-2.4.10.tar.bz2  php-5.4.40.tar.bz2  xcache-3.2.0.tar.bz2


編譯安裝apr:

# tar xf apr-1.5.0.tar.bz2
# cd apr-1.5.0
# ./configure --prefix=/usr/lcoal/apr
# make && make install


編譯安裝apr-util

# tar xf apr-util-1.5.3.tar.bz2
# cd apr-util-1.5.3
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make && make install


編譯安裝httpd-2.4.9

# tar -xf httpd-2.4.10.tar.bz2
# cd httpd-2.4.10
# ./configure --prefix=/usr/local/apache2 \
--sysconfdir=/etc/httpd \
--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 \
--enable-proxy \
--enable-proxy-fcgi \
--with-mpm=prefork
[root@localhost httpd-2.4.10]# make && make install


編譯安裝php,啟用fpm功能--enable-fpm

# tar -xf php-5.4.40.tar.bz2
# cd php-5.4.40
# ./configure --prefix=/usr/local/php \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d \
--with-libxml-dir=/usr \
--with-mysql \
--with-mysqli \
--with-openssl \
--with-mcrypt \
--with-png-dir \
--with-jpeg-dir \
--with-freetype-dir \
--with-zlib \
--with-bz2 \
--with-curl \
--enable-zip \
--enable-fpm \
--with-fpm-user=apache \
--with-fpm-group=apache \
--enable-mbstring \
--enable-xml \
--enable-sockets \

# make && make test && make install


待續(xù)。。。





向AI問(wèn)一下細(xì)節(jié)

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

AI