基於Linux、Apache、Mysql、Php編譯安裝LAMP環境平臺,並使用xcache加速phpphp
編譯安裝LAMP平臺:html
一、下載軟件包, 安裝依賴包mysql
# yum install -y pcre-devellinux
二、解包安裝apachesql
2.1 編譯安裝apr-1.5.0數據庫
# tar xvf apr-1.5.0.tar.bz2apache
# cd apr-1.5.0 && ./configure --prefix=/usr/local/aprvim
# make && make install安全
2.2 編譯安裝apr-util-1.5.3服務器
# tar xvf 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
2.3 編譯安裝httpd-2.4.9
# tar xvf httpd-2.4.9.tar.bz2
# cd httpd-2.4.9
# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewirte --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-moudles=most --enable-mpms-shared=all --with-mpm=event
# make && make install
2.4 編輯httpd的啓動腳本
# vim /etc/init.d/httpd
# chmod +x /etc/init.d/httpd
# chconfig --add httpd
三、安裝mysql(mariaDB)
3.1 準備數據存放的文件系統
# mkdir /mydata/data
3.2 新建用戶以安全的方式運行進程
# groupadd -r mysql
# useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql
# chown -R mysql:mysql /mydata/data
3.3 安裝並初始化
# tar xvf mariadb-5.5.43-linux-x86_64.tar.gz -C /usr/local/
# cd /usr/local/
# ln -s mariadb-5.5.43-linux-x86_64 mysql
# cd mysql && chown -R mysql.mysql .
# scripts/mysql_install_db --user=mysql --datadir=/mydata/data
# chown -R root .
3.4 爲mysql提供主配置文件:
# cd /usr/local/mysql
# cp support-files/my-large.cnf /etc/my.cnf
修改如下參數, thread_concurrency值爲你的CPU的個數乘以2
thread_concurrency = 8
還須要添加一行定義mysql的數據文件存放位置:
datadir=/mydata/data
3.5 爲mysql提供sysv服務腳本
# cd /usr/local/mysql
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod +x /etc/rc.d/init.d/mysqld
然後就能夠測試啓動mysql了
3.6 如今就能夠輸出mysql的man手冊至man命令的查找路徑
# vi /etc/man.config
添加以下行
MANPATH /usr/local/mysql/man
3.7 輸出mysql的頭文件至系統頭文件路徑/usr/include
能夠經過簡單的建立連接實現
# ln -sv /usr/local/mysql/include/mysql /usr/include/mysql
3.8 輸出mysql的庫文件給系統庫查找路徑
# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf
而後,讓系統從新載入系統庫
# ldconfig
3.9 修改PATH環境變量,讓系統可使用mysql的相關命令
# vi /etc/profile.d/mysqld.sh
添加以下行
export PATH=/usr/local/mysql/bin:$PATH
# source /etc/profile.d/mysqld.sh
四、編譯安裝php
4.1 安裝依賴關係
# yum groupinstall -y "Desktop Platform Development"
# yum install -y bzip2-devel libmcrypt-devel
注: libmcrypt-devel 須要epel源
4.2 編譯安裝php-5.6.9
# tar xvf php-5.6.9.tar.bz2
# cd php-5.6.9
# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jepg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts
說明:
一、這裏爲了支持apache的work和event這兩個MPM, 編譯時使用了--enable-maintainer-zts選項
二、若是使用php5.3以上版本,爲了鏈接MYSQL數據庫, 能夠指定mysqlnd,這樣在本機就不須要先安裝MySQL或MySQL開發包了。mysqlnd從php 5.3開始可用,能夠編譯時綁定到它(而不用和具體的MySQL客戶端庫綁定造成依賴),但從PHP 5.4開始它就是默認設置了。
# ./configure --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd
# make && make install
爲php提供配置文件
# cp php.ini-production /etc/php.ini
4.3 編輯apache配置文件httpd.conf, 以apache支持php
一、# vim /etc/httpd/httpd.conf
添加如下兩行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
二、定位 DirectoryIndex index.html 修改成:
DirectoryIndex index.html index.php
從新啓動httpd 或讓其從新載入配置文件便可測試php是否已經能夠正常使用
測試頁:
# vi /usr/local/apache/htdoc/index.php
<?php
$link = mysql_connect('127.0.01','root','');
if ($link)
echo 'Success...';
else
echo 'Failure...';
mysql_close();
?>
五、安裝xcache, 爲php加速:
5.1 安裝
# tar zxvf xcache-3.2.0.tar.gz
# cd xcache-3.2.0
# /usr/local/php/bin/phpize
# ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
# make && make install
安裝結束會有以下提示
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20131226/
5.2 編輯php.ini, 整合php和xcache
# mkdir /etc/php.d
# cp xcache.ini /etc/php.d
注:
xcache.ini文件在xcache的源碼目錄中
# vi /etc/php.d/xcache.ini
修改extension爲如下內容
extension = /usr/local/php/lib/php/extensions/no-debug-zts-20131226/xcache.so
注:
若是php.ini 文件中有多條zend_extension指令行,要確保此新增的行排在第一位
六、啓用服務器狀態
mod_status 模塊可讓管理員查看服務器的執行狀態,他經過一個HTML頁面展現了當前服務器的統計數據,這些數據一般包括可是不限於:
(1) 處於工做中的worker進程數;
(2) 空閒狀態的worker進程數;
(3) 每一個worker的狀態,包括此worker已經響應的請求數,及由此worker發送的內容的字節數;
(4) 當前服務器總共發送的字節數;
(5) 服務器自上次啓動或重啓以來至當前的時長;
(6) 平均每秒響應的請求數、平均每秒鐘發送的字節數、平均每一個請求所請求內容的字節數;
啓用頁面的方法很簡單,只須要在主配置文件中添加以下內容便可:
<Location /server-status>
SetHandler Server-status
Require all granted
</Location>
也可使用require ip 192.168.1.0/24來限制僅容許指定網段的主機查看此頁面。
eg:
<Location /server-status>
SetHandler Server-status
require ip 192.168.1.0/24
</Location>