1. 程式人生 > 實用技巧 >lamp 原始碼包安裝

lamp 原始碼包安裝

Lamp的搭建

做實驗需要用到的安裝包

Apr-1.5.1.tar.bz2
Apr-util-1.5.3.tar.bz
http://apr.apache.org/download.cgi
httpd2.4.10.tar.bz2
http://httpd.apache.org/download.cgi#apache24
Mysqlmariadb-5.5.36-linux-x86_64教師FTP提供
php-5.4.31.tar.bz2
http://php.net/downloads.php#v5.4.31
xcachexcache-3.1.0.tar
http://xcache.lighttpd.net/
PhpadminphpMyAdmin-3.5.1-all-languages.tar教師FTP提供

wps_clip_p_w_picpath-29844

Php做httpd的模組以fcgi協議工作示意圖

一、mysql的安裝

mariadb-5.5.36-linux-x86_64 通用綠色軟體安裝說明

平臺說明 此版本必須是 x86 64 位作業系統,否則會出錯

Linux centos 6.5

1、解壓包併為mysql 建立專門儲存資料的位置

Tarxfmariadb-5.5.36-linux-x86_64-C/usr/local
劃分一個10G的分割槽/dev/sda3
Fdisk/dev/sda
N
P
3
+10G
8e
w
partx-a/dev/sda
kpartx-a/dev/sda
cat/proc/partitions
pvcreate/dev/sdb3
pvcreate/dev/sda3
vgcreatemyvg/dev/sda3
lvcreate-L10G-nmydata/dev/myvg
mkfs-text4-LMYDATA-b4096-m3/dev/myvg/mydata
Mkdirmydata
vim/etc/fstab

wps_clip_p_w_picpath-27195

LABEL=MYDATA/mydataext4defaults00
Mount-a
Mount
Mkdir/mydata/data

2、檢視幫助文件並做準備工作

Tarmariadb-5.5.36-linux-x86_64-C/usr/local
Cd/usr/local/mariadb-5.5.36-linux-x86_64
CatCOPYING.LESSER|less


wps_clip_p_w_picpath-1190

groupadd-rmysql系統使用者執行出於安全考慮
useradd-gmysql-rmysql
idmysql
chown-Rmysql.mysql/mydata/data/
ln-svmariadb-5.5.36-linux-x86_64/mysql安裝新版本的mysql可以直接連結過去
Cdmysql
Ls-a
bin二進位制程式mysqlmysqld
COPYING.LESSER
COPYING安裝軟體連線的幫助文件
INSTALL-BINARY
docs文件
manman手冊
README幫助文件
share共享文件
support-filesmysql配置的樣例行文件
data預設資料目錄
Include標頭檔案
lib庫檔案
mysql-test測試元件
scripts指令碼
sql-benchmysql壓力測試

3、修改配置文件

cp support-files/my-large.cnf /etc/my.cnf

/etc/my.cnf

這個配置文件是

wps_clip_p_w_picpath-31925

此文件和通用綠色軟體給我們的示例文件對比

wps_clip_p_w_picpath-21061

N 如果覆蓋會改變my.cnf的屬性 避免衝突

Mkdir /etc/mysql/

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

wps_clip_p_w_picpath-7504

Vim /etc/mysql/my.cnf

wps_clip_p_w_picpath-2606

4、mysql的初始化

幫助文件 cd /usr/local/mysql/scripts

./mysql_install_db --help

wps_clip_p_w_picpath-1539

初始化失敗,必須要在mysql目錄下執行才行

wps_clip_p_w_picpath-1512

初始化成功

wps_clip_p_w_picpath-15359

檢視結果

wps_clip_p_w_picpath-2200

5、提供服務指令碼並啟動

cp support-files/mysql.server /etc/rc.d/init.d/mysqld

wps_clip_p_w_picpath-26020

6、ss -tnl 檢視3306 是否監聽

7、mysql查詢配置檔案的方法是最後找.到的生效或者是全部找到之後合併起來

解釋為什麼 在/etc/mysql/my.cnf 兩個檔案的對比 也可以覆蓋,只不過怕衝突多版本

wps_clip_p_w_picpath-6055

8、匯出變數

wps_clip_p_w_picpath-12572

更新變數並嘗試連線mariadb 資料庫

wps_clip_p_w_picpath-30065

9、匯出庫檔案

vim /etc/ld.so.conf.d/mysql.conf

wps_clip_p_w_picpath-22721

wps_clip_p_w_picpath-13975

二、Httpd 的安裝

基本包安裝

pcre-devel-7.8-6.el6.x86_64
pcre.x86_647.8-6.el6
上面這兩個包是因為我下面安裝要開啟pcre功能而裝的,具體視情況而定
組包
DesktopPlatformDevelopment
Developmenttools
ServerPlatformDevelopment
Apache相關的依賴包
apr-1.5.1.tar.bz2
apr-util-1.5.3.tar.bz
http://apr.apache.org/download.cgi
Apache主程式
httpd2.4.10.tar.bz2
http://httpd.apache.org/download.cgi#apache24
二、建立目錄編譯安裝原始碼包
1、原始碼包安裝apr
Cd/usr/local
Mkdir/usr/local/{apr,apr-util,httpd}
Mkdir/etc/httpd24
Tarxfapr-1.5.1.tar.bz2
Cdapr-1.5.1.tar.bz2
./configureapr-1.5.1.tar.bz2--prefix=/usr/local/apr
Make&&makeinstall
2、安裝原始碼包apr-util
Tarxfapr-util-1.5.3.tar.bz
Cdapr-util-1.5.3.tar.bz
./configureapr-util-1.5.3.tar.bz--prefix=/usr/local/apr-util--with-apr=/usr/locar/apr
告訴apr裝載哪裡,避免使用老版本,出現衝突
Make&&makeinstall
3、安裝原始碼包httpd
Tarxfhttpd2.4.10.tar.bz2
Cdhttpd2.4.10.tar.bz2
./configure--prefix=/usr/local/apache--sysconfdir=/etc/httpd24--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--with-mpm=event
make&&makeinstall

4、修改httpd的主配置檔案,設定其Pid檔案的路徑

編輯/etc/httpd24/httpd.conf,新增如下行即可:

PidFile "/var/run/httpd.pid"

wps_clip_p_w_picpath-31669

5、提供SysV服務指令碼/etc/rc.d/init.d/httpd,內容如下:

可以使二進位制httpd包安裝後作為模板修改

Cd /etc/rc.d/init.d

cp httpd httpd24

vim httpd24

註釋掉這三行

wps_clip_p_w_picpath-28327

修改

Apachectl 啟動程式配置檔案

Httpd 二進位制程式

pidfile pid 檔案

wps_clip_p_w_picpath-29793

chkconfig --add httpd24 加入到sysv中

chkconfig --list httpd24 開機自啟動

重啟就可以啦

6、匯出變數(命令)

vim/etc/profile.d/httpd24.sh
exportPATH=/usr/local/apache/bin:$PATH
source/etc/profile.d/httpd24.sh
標頭檔案匯出
ln-sv/usr/local/apache/include//usr/include/httpd24
幫助手冊
Vim/etc/man.config
MANPATH/usr/local/apache/man


重讀配置檔案

配置檔案:

服務啟動指令碼

/etc/rc.d/init.d/httpd.24

主配置服務指令碼

/etc/httpd24/httpd.conf

7、虛擬主機配置指令碼服務啟動

/etc/httpd24/extra/httpd-vhosts.conf
#!/bin/bash
#
#httpdStartupscriptfortheApacheHTTPServer
#
#chkconfig:-8515
#description:ApacheisaWorldWideWebserver.Itisusedtoserve\
#HTMLfilesandCGI.
#processname:httpd
#config:/etc/httpd/conf/httpd.conf
#config:/etc/sysconfig/httpd
#pidfile:/var/run/httpd.pid
#Sourcefunctionlibrary.
./etc/rc.d/init.d/functions
if[-f/etc/sysconfig/httpd];then
./etc/sysconfig/httpd
fi
#StarthttpdintheClocalebydefault.
HTTPD_LANG=${HTTPD_LANG-"C"}
#Thiswillpreventinitlogfromswallowingupapass-phrasepromptif
#mod_sslneedsapass-phrasefromtheuser.
INITLOG_ARGS=""
#SetHTTPD=/usr/sbin/httpd.workerin/etc/sysconfig/httpdtouseaserver
#withthethread-based"worker"MPM;BEWARNEDthatsomemodulesmaynot
#workcorrectlywithathread-basedMPM;notablyPHPwillrefusetostart.
#Pathtotheapachectlscript,serverbinary,andshort-formformessages.
apachectl=/usr/local/apache/bin/apachectl
httpd=${HTTPD-/usr/local/apache/bin/httpd}
prog=httpd
pidfile=${PIDFILE-/var/run/httpd.pid}
lockfile=${LOCKFILE-/var/lock/subsys/httpd}
RETVAL=0
start(){
echo-n$"Starting$prog:"
LANG=$HTTPD_LANGdaemon--pidfile=${pidfile}$httpd$OPTIONS
RETVAL=$?
echo
[$RETVAL=0]&&touch${lockfile}
return$RETVAL
}
stop(){
echo-n$"Stopping$prog:"
killproc-p${pidfile}-d10$httpd
RETVAL=$?
echo
[$RETVAL=0]&&rm-f${lockfile}${pidfile}
}
reload(){
echo-n$"Reloading$prog:"
if!LANG=$HTTPD_LANG$httpd$OPTIONS-t>&/dev/null;then
RETVAL=$?
echo$"notreloadingduetoconfigurationsyntaxerror"
failure$"notreloading$httpdduetoconfigurationsyntaxerror"
else
killproc-p${pidfile}$httpd-HUP
RETVAL=$?
fi
echo
}
#Seehowwewerecalled.
case"$1"in
start)
start
;;
stop)
stop
;;
status)
status-p${pidfile}$httpd
RETVAL=$?
;;
restart)
stop
start
;;
condrestart)
if[-f${pidfile}];then
stop
start
fi
;;
reload)
reload
;;
graceful|help|configtest|fullstatus)
$apachectl[email protected]
RETVAL=$?
;;
*)
Echo$"Usage:$prog{start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"
exit1
esac
exit$RETVAL

而後為此指令碼賦予執行許可權:

# chmod +x /etc/rc.d/init.d/httpd

加入服務列表:

# chkconfig --add httpd

三 、Php的安裝

實驗工作原理圖

wps_clip_p_w_picpath-5939

Php做httpd的模組以fcgi協議工作,mysql獨立出來做伺服器示意圖

1、解決依賴關係:

php-5.4.31.tar.bz2
http://php.net/downloads.php#v5.4.31下載地址
請配置好yum源(系統安裝源及epel源)後執行如下命令:
#yum-ygroupinstall"DesktopPlatformDevelopment"
#yum-yinstallbzip2-devellibmcrypt-devel
2、編譯安裝php-5.4.26
首先下載原始碼包至本地目錄,下載位置ftp://172.16.0.1/pub/Sources/new_lamp。
#tarxfphp-5.4.26.tar.bz2
#cdphp-5.4.26
#./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-jpeg-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
#make
#maketest
#makeinstall
說明:
1、這裡為了支援apache的worker或event這兩個MPM,編譯時使用了--enable-maintainer-zts選項。
2、如果使用PHP5.3以上版本,為了連結MySQL資料庫,可以指定mysqlnd,這樣在本機就不需要先安
裝MySQL或MySQL開發包了。mysqlnd從php5.3開始可用,可以編譯時繫結到它(而不用和具體的
MySQL客戶端庫繫結形成依賴),但從PHP5.4開始它就是預設設定了。
#./configure--with-mysql=mysqlnd--with-pdo-mysql=mysqlnd--with-mysqli=mysqlnd
為php提供配置檔案:
#pwd
#/usr/src/php-5.4.31
#cpphp.ini-production/etc/php.ini直接複製過去不用改
3、編輯apache配置檔案httpd.conf,以apache支援php
使php作為httpd的模組結合起來
#vim/etc/httpd24/httpd.conf
新增pidfile檔案不改也可以

wps_clip_p_w_picpath-25517

Php安裝好了之後會在 LoadModule 在加一行

wps_clip_p_w_picpath-11419

4、新增如下二行

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

wps_clip_p_w_picpath-7983

5、定位至DirectoryIndex index.html

修改為:

DirectoryIndex index.php index.html

wps_clip_p_w_picpath-5642

而後重新啟動httpd,或讓其重新載入配置檔案即可測試php是否已經可以正常使用。

wps_clip_p_w_picpath-24999

6、測試php作為httpd模組連線加mysql

編輯 /usr/local/apache/htdocs/index.php

wps_clip_p_w_picpath-23159

內容

wps_clip_p_w_picpath-22654

測試

wps_clip_p_w_picpath-29364

再編輯連線資料庫測試

wps_clip_p_w_picpath-15909

連線一個數據庫管理工具軟體

phpMyAdmin-3.5.1-all-languages.tar.bz2
TarxfphpMyAdmin-3.5.1-all-languages.tar.bz2
MvphpMyAdmin-3.5.1-all-languages.tar.bz2mpa
Mvmpa/usr/local/apache/htdocs

wps_clip_p_w_picpath-18626

為網頁檔案提供配置檔案

Cd mpa

cp config.sample.inc.php config.inc.php

編輯網頁內容

編輯配置檔案 第二個 ’ ’ 中加隨機資料

wps_clip_p_w_picpath-28810

7、這個軟體工具要mariadb授權

Mysql

Show databases;

wps_clip_p_w_picpath-14090

grantallonmysql.*to'jack'@'localhost'identifiedby'1234';
grantallonmysql.*to'jack'@'127.0.0.1'identifiedby'1234';
grantallonmysql.*to'jack'@'192.168.%.%'identifiedby'1234';
flushprivileges;

8、實驗結果測試

wps_clip_p_w_picpath-11249

wps_clip_p_w_picpath-11826

tar xf phpMyAdmin-3.5.1-all-languages.tar.bz2

mv phpMyAdmin-3.5.1-all-languages pma

9、壓力測試

ab -n 1000 -c 100 http://192.168.1.143/index.php

wps_clip_p_w_picpath-5632

10、xcache 加速器的安裝

http://xcache.lighttpd.net/
xcache-3.1.0.tar.gz下載
Tarxfxcache-3.1.0.tar.gz
Cdxcache-3.1.0.tar.gz
man-M/usr/local/php/php/man/phpize檢視幫助文件

1、配置檔案的生成

/usr/local/php/bin/phpize 生成配置文件

wps_clip_p_w_picpath-7831

2、編譯

./configure--enable-xcache--with-php-config=/usr/local/php/bin/php-config
Make&&makeinstall

wps_clip_p_w_picpath-25021

提供配置檔案

mkdir/etc/php.d
cpxcache.ini/etc/php.d
cd/etc/php.d

3、修改配置文件

Vim /etc/php.d/xcache 指定搜尋路徑

wps_clip_p_w_picpath-27329

Service httpd24 restart

4、新建測試網頁

Vim /usr/local/apache/htdocs/index.php

wps_clip_p_w_picpath-23745

5、測試檢視是否啟用了xcache

wps_clip_p_w_picpath-4681

重新整理網頁 http:/192.168.1.143/index.php

6、再次用ab 做壓測

ab -n 1000 -c 100 http://192.168.1.143/index.php

wps_clip_p_w_picpath-30470

wps_clip_p_w_picpath-258

8、配置顯示主機狀態資訊

Vim /etc/httpd24/httpd.cnf

wps_clip_p_w_picpath-8675

Service httpd24 reload

檢視資訊

wps_clip_p_w_picpath-3180

Lamp三層結構工作實驗

wps_clip_p_w_picpath-2110

http以fast-cgi協議工作的三層結構示意圖

Lamp fpm 做反向代理

由於以前已經編譯過啦

mvphp-5.4.31php-5.4.31module.bak
1、重新編譯phpphp-5.4.31.tar.bz2
Tarxfphp-5.4.31.tar.bz2
Cdphp-5.4.31
./configure--prefix=/usr/local/php5--with-mysql=/usr/local/mysql--with-openssl
--with-mysqli=/usr/local/mysql/bin/mysql_config--enable-mbstring--with-freetype-dir
--with-jpeg-dir--with-png-dir--with-zlib--with-libxml-dir=/usr--enable-xml
--enable-sockets--enable-fpm--with-config-file-path=/etc--with-config-file-scan-dir=/etc/php.d
--with-bz2
Make&&makeinstall
cd/etc/httpd24/
mvhttpd.confhttpd.conf.module
cphttpd.conf.bakhttpd.conf

Vim /etc/httpd24/httpd.cnf

2、啟用fast cig模組代理

wps_clip_p_w_picpath-14774

3、為fpm 提供配置檔案

[[email protected]php-5.4.31]#cpphp.ini-production/etc/php.iniy覆蓋之前的
[[email protected]php-5.4.31]#rm/etc/php.d/xcache.iniyxcache沒有cgi模組
[[email protected]php-5.4.31]#cpsapi/fpm/init.d.php-fpm/etc/rc.d/init.d/php-fpm
[[email protected]php-5.4.31]#chmod+x/etc/rc.d/init.d/php-fpm
[[email protected]php-5.4.31]#chkconfig--addphp-fpm
[[email protected]php-5.4.31]#cd/usr/local/php5/
[[email protected]php5]#ls-a
...binetcincludelibphpsbinvar
[[email protected]php5]#cdetc/
[[email protected]etc]#ls
pear.confphp-fpm.conf.default
[[email protected]etc]#cpphp-fpm.conf.defaultphp-fpm.conf
[[email protected]etc]#vimphp-fpm.conf指定pid位置

wps_clip_p_w_picpath-28921

4、修改執行緒數

wps_clip_p_w_picpath-30937

[[email protected] etc]# service php-fpm start

Starting php-fpm done

[[email protected] etc]# ss -tnl

LISTEN 0 128 127.0.0.1:9000 *:*

5、修改配置文件

Vim /etc/httpd24/httpd.cnf 修改下面兩個地方

wps_clip_p_w_picpath-26153

wps_clip_p_w_picpath-9627

[[email protected]httpd24]#/usr/local/apache/bin/httpd-t
SyntaxOK
[[email protected]httpd24]#servicehttpd24restart
Stoppinghttpd:[OK]
Startinghttpd:[OK]

6、實驗結果

wps_clip_p_w_picpath-20117

7、壓力測試

ab -n 1000 -c 100 http://192.168.1.143/index.php

wps_clip_p_w_picpath-25963

8、重新編譯xcache

[[email protected]src]#mvxcache-3.1.0.bakxcache-3.1.0.module.bak
[[email protected]src]#tarxfxcache-3.1.0.tar.gz
[[email protected]src]#cdxcache-3.1.0
[[email protected]xcache-3.1.0]#/usr/local/php5/bin/phpize
Configuringfor:
PHPApiVersion:20100412
ZendModuleApiNo:20100525
ZendExtensionApiNo:220100525
[[email protected]]#./configure--enable-xcache--with-php-config=/usr/local/php5/bin/php-config
Make&&makeinstall
Installingsharedextensions:/usr/local/php5/lib/php/extensions/no-debug-non-zts-20100525/
提供php搜尋路徑
[[email protected]xcache-3.1.0]#cpxcache.ini/etc/php.d
[[email protected]xcache-3.1.0]#vim/etc/php.d/xcache.ini

wps_clip_p_w_picpath-21640

重啟反向代理

[[email protected] xcache-3.1.0]# service php-fpm restart

Gracefully shutting down php-fpm . done

Starting php-fpm done

9、實驗結果及壓力測試

wps_clip_p_w_picpath-29060

壓力測試

wps_clip_p_w_picpath-3083

轉載於:https://blog.51cto.com/1983939925/1540799