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提供
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
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
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
這個配置文件是
此文件和通用綠色軟體給我們的示例文件對比
N 如果覆蓋會改變my.cnf的屬性 避免衝突
Mkdir /etc/mysql/
cp support-files/my-large.cnf /etc/mysql/my.cnf
Vim /etc/mysql/my.cnf
4、mysql的初始化
幫助文件 cd /usr/local/mysql/scripts
./mysql_install_db --help
初始化失敗,必須要在mysql目錄下執行才行
初始化成功
檢視結果
5、提供服務指令碼並啟動
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
6、ss -tnl 檢視3306 是否監聽
7、mysql查詢配置檔案的方法是最後找.到的生效或者是全部找到之後合併起來
解釋為什麼 在/etc/mysql/my.cnf 兩個檔案的對比 也可以覆蓋,只不過怕衝突多版本
8、匯出變數
更新變數並嘗試連線mariadb 資料庫
9、匯出庫檔案
vim /etc/ld.so.conf.d/mysql.conf
二、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"
5、提供SysV服務指令碼/etc/rc.d/init.d/httpd,內容如下:
可以使二進位制httpd包安裝後作為模板修改
Cd /etc/rc.d/init.d
cp httpd httpd24
vim httpd24
註釋掉這三行
修改
Apachectl 啟動程式配置檔案
Httpd 二進位制程式
pidfile pid 檔案
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的安裝
實驗工作原理圖
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檔案不改也可以
Php安裝好了之後會在 LoadModule 在加一行
4、新增如下二行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
5、定位至DirectoryIndex index.html
修改為:
DirectoryIndex index.php index.html
而後重新啟動httpd,或讓其重新載入配置檔案即可測試php是否已經可以正常使用。
6、測試php作為httpd模組連線加mysql
編輯 /usr/local/apache/htdocs/index.php
內容
測試
再編輯連線資料庫測試
連線一個數據庫管理工具軟體
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
為網頁檔案提供配置檔案
Cd mpa
cp config.sample.inc.php config.inc.php
編輯網頁內容
編輯配置檔案 第二個 ’ ’ 中加隨機資料
7、這個軟體工具要mariadb授權
Mysql
Show databases;
grantallonmysql.*to'jack'@'localhost'identifiedby'1234'; grantallonmysql.*to'jack'@'127.0.0.1'identifiedby'1234'; grantallonmysql.*to'jack'@'192.168.%.%'identifiedby'1234'; flushprivileges;
8、實驗結果測試
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
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 生成配置文件
2、編譯
./configure--enable-xcache--with-php-config=/usr/local/php/bin/php-config Make&&makeinstall
提供配置檔案
mkdir/etc/php.d cpxcache.ini/etc/php.d cd/etc/php.d
3、修改配置文件
Vim /etc/php.d/xcache 指定搜尋路徑
Service httpd24 restart
4、新建測試網頁
Vim /usr/local/apache/htdocs/index.php
5、測試檢視是否啟用了xcache
重新整理網頁 http:/192.168.1.143/index.php
6、再次用ab 做壓測
ab -n 1000 -c 100 http://192.168.1.143/index.php
8、配置顯示主機狀態資訊
Vim /etc/httpd24/httpd.cnf
Service httpd24 reload
檢視資訊
Lamp三層結構工作實驗
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模組代理
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位置
4、修改執行緒數
[[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 修改下面兩個地方
[[email protected]httpd24]#/usr/local/apache/bin/httpd-t SyntaxOK [[email protected]httpd24]#servicehttpd24restart Stoppinghttpd:[OK] Startinghttpd:[OK]
6、實驗結果
7、壓力測試
ab -n 1000 -c 100 http://192.168.1.143/index.php
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
重啟反向代理
[[email protected] xcache-3.1.0]# service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done
9、實驗結果及壓力測試
壓力測試
轉載於:https://blog.51cto.com/1983939925/1540799