您好,登錄后才能下訂單哦!
需求:
CenOS 6平臺搭建LAMP,其中php作為獨立的服務工作
(1)三者分離于兩臺主機
(2)一個虛擬主機用于提供phpMyAdmin;另一個虛擬主機提供wordpress
(3)安裝下cache,為php提供加速
(4)mpm為prefork模型
注意:
(1)由于httpd是cpu密集型,php是io密集型,而mariadb即是cpu密集型又是io密集型。所以我們將httpd和php放在一臺主機上,mariadb單獨放在一臺主機上
(2)由于CentOS 6平臺僅提供了mysql的rpm包,這里我們使用mariadb二進制安裝包安裝
(3)由于php要作為單獨服務進程運行,因此編譯php時要啟用php-fpm特性
(4)由于CentOS 6提供的各應用的rpm安裝包版本都比較老,所以都需要通過編譯源碼來安裝
(5)httpd與php之間需要通過FastCGI協議來連接,httpd其實是作為反向代理來工作的,編譯httpd時需要啟用proxy和proxy_cgi特性
(6)如要求mpm問哦event模型,同時php作為httpd的模塊工作時,因為event為線程模型,所以php必須啟用線程安全功能--enable-maintainer-zts
環境:
關閉iptables和SELinux
Host1:作為前端web服務器 IP:10.0.0.61
Host2:作為后端DB服務器 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:
安裝二進制的mariadb
# 增加一個系統用戶mysql [root@localhost ~]# useradd -r mysql # 解壓二進制安裝包放置在`/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/ # 創建數據庫存放目錄`/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/ # 復制服務啟動腳本至`/etc/rc.d/init.d`目錄 [root@localhost mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
復制配置文件,并進行配置
# 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
數據庫初始化:
# 啟動數據庫 [root@localhost mysql]# /etc/init.d/mysqld start Starting MySQL.. SUCCESS! [root@cb9326a6 mysql]# ss -tunl | grep 3306 tcp LISTEN 0 50 *:3306 *:* # 導出`/usr/local/mysql/bin/`目錄至`PATH`系統環境變量 [root@localhost mysql]# export PATH=/usr/local/mysql/bin/:$PATH # 數據庫初始化設置 [root@localhost mysql]# mysql_secure_installation
授權:
[root@localhost ~]# mysql -u root -p # 授權root可從10.0.0.0/8網段內的主機登錄操作所有數據庫。 MariaDB [(none)]> grant all privileges on *.* to 'root'@'10.0.0.%' identified by '123456'; # 給wordpress創建數據wpdb。 MariaDB [(none)]> create database wordpress; # 給wordpress創建用戶wordpress。 MariaDB [(none)]> create user 'wordpress'@'172.18.71.%' identified by 'wordpress'; # 授權wordpress可從10.0.0.0/8網段內的主機登錄操作wordpress數據庫。 MariaDB [(none)]> grant all privileges on wpdb.* to 'wordpress'@'10.0.0.%' identified by 'wordpress'; # 重載權限表 MariaDB [(none)]> flush privileges;
Host1
測試能否鏈接數據庫服務器
# 因為CentOS-6不提供mariadb,所以安裝mysql的客戶端。 [root@localhost ~]# yum install -y mysql # 測試連接HostB數據庫 [root@localhost ~]# mysql -u root -h 10.0.0.62 -p
新增一個系統用戶
# useradd -r apache
準備開發環境
# yum groupinstall -y "Development tools" "Server Platform Development" # yum install -y pcre-devel libxml2-devel libmcrypt-devel bzip2-devel libcurl-devel
準備好源碼包:
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
待續。。。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。