天天看點

編譯安裝LAMP并使用Xcache加速php的通路groupadd -r -g 306 mysqlchkconfig --add mysqldservice php-fpm status

編譯安裝amp:

a(apache):

1.http://httpd.apache.org

2.http://archive.apache.org/dist/

m(mysql/mariadb):

http://www.mysql.com/download

https://mariadb.org/download/

p(php):

https://www.php.net/releases/

組合:

httpd-2.4.27(apr-1.5.2 + apr-util-1.5.4) + mariadb-5.5.57 + php-5.6.31

編譯安裝的前提條件——完整的編譯環境:

1."development tools"和"server platform development"兩個程式包組;

2.pcre-devel

3.libevent-devel

注意:在編譯amp程式之前,需要確定沒有使用rpm程式包安裝過amp中的任何元件,包括:httpd,httpd-tools,mysql-server/mariadb-server,php,php-fpm,...

amp編譯安裝之a(apache):

1.解除安裝原有的amp

~]# rpm -q mysql-server httpd php

~]# rpm -ql httpd-tools

~]# yum erase -y httpd-tools

~]# yum erase -y php httpd mysql-server

2.安裝編譯需要的環境

~]# yum groupinstall -y "development tools"

~]# yum groupinstall -y "server platform development"

~]# yum install -y pcre-devel

~]# yum install -y libevent-devel

3.編譯安裝apr

~]# tar xf apr-1.5.2.tar.bz2

~]# cd apr-1.5.2

apr-1.5.2]# ./configure --prefix=/usr/local/apr-1.5.2

apr-1.5.2]# cat /proc/cpuinfo

//檢視虛拟機核心數#,"process"從0開始計

apr-1.5.2]# make -j 4

apr-1.5.2]# make install

4.編譯安裝apr-util

apr-1.5.2]# cd

~]# tar xf apr-util-1.5.4.tar.bz2

~]# cd apr-util-1.5.4

apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util-1.5.4 --with-apr=/usr/local/apr-1.5.2

apr-util-1.5.4]# make -j 4

apr-util-1.5.4]# make install

5.編譯安裝httpd

apr-util-1.5.4]# cd

~]# tar xf httpd-2.4.27.tar.bz2

~]# cd httpd-2.4.27

httpd-2.4.27]# ./configure --prefix=/usr/local/apache-2.4.27 --sysconfdir=/etc/httpd-2.4.27 --enable-so --enable-ssl --enable-cgi --enable-rewrite --enable-modules=most --enable-mpms-shared=all --with-apr=/usr/local/apr-1.5.2 --with-apr-util=/usr/local/apr-util-1.5.4 --with-zlib --with-pcre --with-mpm=prefork

httpd-2.4.27]# make -j 4

httpd-2.4.27]# make install

6.編譯完成後的收尾工作

1) 導出二進制檔案:

httpd-2.4.27]# vim /etc/profile.d/httpd-2.4.27.sh

export path=/usr/local/apache-2.4.27/bin:$path

httpd-2.4.27]# source /etc/profile.d/httpd-2.4.27.sh

//使用source指令(.)來使其内容生效;

2) 導出幫助文檔:

httpd-2.4.27]# vim /etc/man.config

找到"manpath"這個配置段,添加:

manpath /usr/local/apache-2.4.27/man

3) 導出頭檔案

httpd-2.4.27]# ln -sv /usr/local/apache-2.4.27/include/ /usr/include/httpd

4) 導出庫檔案

檢測是否有httpd目錄下的lib64目錄,沒有則建立:

httpd-2.4.27]# mkdir -pv /usr/local/apache-2.4.27/lib64

建立一個檔案:

httpd-2.4.27]# vim /etc/ld.so.conf.d/httpd.conf

添加:/usr/local/apache-2.4.27/lib64

完成則可進行導出:

httpd-2.4.27]# ldconfig -v

7.配置工作

因為編譯安裝的httpd.conf檔案沒有"pidfile"配置、"include"配置也沒有生效,是以要在httpd.conf主配置檔案中編輯:

httpd-2.4.27]# vim /etc/httpd-2.4.27/httpd.conf

為了規範和好看,在"serverroot"配置下添加:

pidfile /var/run/httpd-2.4.27.pid

在"include"配置段添加:

include /etc/httpd-2.4.27/extra/*.conf

8.提供sysv風格的服務管理腳本:/etc/init.d/httpd

9.測試httpd服務

1.關閉防火牆:

httpd-2.4.27]# iptables -f

2.禁用selinux:

httpd-2.4.27]# setenforce 0

3.浏覽器通路伺服器位址:

172.16.69.1

顯示:

it works!

amp編譯安裝之m(mysql/mariadb)

1.解壓縮二進制程式包到指定目錄(/usr/local)

~]# tar xf mariadb-5.5.57-linux-x86_64.tar.gz -c /usr/local

~]# cd /usr/local

2.建立用于啟動服務和管理資料的使用者群組:

3.建立資料目錄并修改相應檔案的權限:

local]# ln -sv /usr/local/mariadb-5.5.57-linux-x86_64/ mysql

local]# cd mysql

mysql]# mkdir -pv /var/lib/mysql

mysql]# chown mysql. /var/lib/mysql

4.導出二進制檔案

mysql]# vim /etc/profile.d/mariadb-5.5.57.sh

export path=/usr/local/mysql/bin:$path

mysql]# . /etc/profile.d/mariadb-5.5.57.sh

5.導出幫助文檔

mysql]# vim /etc/man.config

manpath /usr/local/mysql/man

6.導出庫檔案

mysql]# vim /etc/ld.so.conf.d/mariadb-5.5.57.conf

添加:

/usr/local/mysql/lib

7.導出頭檔案

mysql]# ln -sv /usr/local/mysql/include/ /usr/include/mysql

8.導出配置檔案

mysql]# ls /usr/local/mysql/support-files/

//檢視此目錄下所有以".cnf"結尾的檔案;根據伺服器的記憶體導出"my.cnf"配置檔案到指定目錄;

mysql]# cp support-files/my-large.cnf /etc/my.cnf

9.配置/etc/my.cnf

mysql]# vim /etc/my.cnf

在[mysqld]配置段添加:

datadir = /var/lib/mysql

innodb_file_per-table = on

skip_name_resolve = on

10.配置服務啟動的腳本

mysql]# cp -a support-files/mysql.server /etc/init.d/mysqld

//確定檔案已經被賦予執行的權限

若想設定開機自啟動mysql服務:

11.啟動服務測試

mysql]# service mysqld start

starting mysql.181224 16:37:52 mysqld_safe logging to '/var/lib/mysql/localhost.localdomain.err'.

181224 16:37:52 mysqld_safe starting mysqld daemon with databases from /var/lib/mysql

... error!

//發生錯誤,提示資料目錄方面錯誤

mysql]# scripts/mysql_install_db --user=mysql --datadir=/var/lib/mysql

//初始化資料庫配置

starting mysql.181224 16:43:26 mysqld_safe logging to '/var/lib/mysql/localhost.localdomain.err'.

181224 16:43:26 mysqld_safe starting mysqld daemon with databases from /var/lib/mysql

. success!

//成功啟動

mysql]# ss -tnl

mysql]# mysql

//若啟動成功進入互動式指令界面則成功編譯安裝

amp編譯安裝之p(php):

1.想要正确的編譯php-5.6.31,可能需要解決下列依賴關系:

若使用本地CD光牒的yum倉庫:

libxml2-devel

gd-devel

freetype-devel

libmcrypt-devel

2.解壓縮二進制程式包到指定目錄

~]# tar xf php-5.6.31.tar.bz2

~]# cd php-5.6.31

3.編譯安裝php

php-5.6.31]# ./configure --prefix=/usr/local/php-5.6.31 --enable-fpm --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-openssl --enable-mbstring --enable-xml --enable-sockets --with-freetype-dir --with-libxml-dir=/usr --with-zlib --with-apxs2=/usr/local/apache-2.4.27/bin/apxs --with-config-file-path=/etc/php-5.6.31.ini --with-config-file-scan-dir=/etc/php-5.6.31.d --with-gd --with-jpeg-dir --with-png-dir --with-mcrypt

php-5.6.31]# make -j 4 && make install

4.建立必編譯安裝缺少且必須的配置檔案

php-5.6.31]# cp php.ini-production /etc/php-5.6.31.ini

php-5.6.31]# mkdir -pv /etc/php-5.6.31.d

php-5.6.31]# cp sapi/fpm/php-fpm.conf /etc/php-5.6.31.d/

5.編輯配置檔案

php-5.6.31]# vim /etc/php56.d/php-fpm.conf

;;;;;;;;;;;;;;;;;;;;

; pool definitions ;

6.為php-fpm服務程式提供一個sysv風格的腳本

php-5.6.31]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

php-5.6.31]# chmod +x /etc/init.d/php-fpm

7.導出二進制檔案:

php-5.6.31]# vim /etc/profile.d/php-5.6.31.sh

export path=/usr/local/php-5.6.31/bin:$path

php-5.6.31]# . /etc/profile.d/php-5.6.31.sh

8.修改服務啟動腳本中的内容

php-5.6.31]# vim /etc/init.d/php-fpm

1) 添加一個變量:

scan_confi_dir=/etc/php56.d

2) 修改一個變量定義:

php_fpm_conf=${prefix}/etc/php-fpm.conf

改為:

php_fpm_conf=${scan_conf_dir}/php-fpm.conf

9.檢查php-fpm程序狀态:

編譯安裝xcache以加速php通路:

1.下載下傳xcache的源代碼:

http://xcache.lighttpd.net/

總結:

相比較有和沒有xcache這個元件,明顯的可以看出"requests per second"的值明顯的提高了;也就是加速的php的通路

一般來說,對于lamp架構,自行編譯安裝amp會比直接利用yum倉庫安裝amp來得更好,特别是在利用xcache完成php加速方面;因為自行編譯安裝能夠自行選擇需要的功能、子產品、元件等;雖然沒有沒有利用yum倉庫來得簡單容易,但自行編譯安裝amp也不難,隻能過程比較繁瑣,難度不大;

繼續閱讀