溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

編譯安裝LAMP--php模塊方式構(gòu)建LAMP

發(fā)布時間:2020-05-26 08:34:30 來源:網(wǎng)絡 閱讀:635 作者:iofeel86 欄目:web開發(fā)

本文主要描述基于php模塊方式編譯安裝LAMP平臺過程.


軟件安裝次序:

1. 編譯安裝httpd-2.4.16

2. 二進制程序安裝mysql-5.5.44

3. 編譯安裝php-5.4.26


++++++++++++++++++

編譯安裝httpdhttpd-2.4.16

1-1. yum安裝依賴組包: 

# yum groupinstall -y "Development Tools"

# yum groupinstall -y "Server Platform Development"


1-2. yum安裝依賴包:

# yum -y install pcre-devel

# yum install openssl-devel


2. 編譯安裝apr-1.5.2, apr作用類似于httpd的虛擬機

# tar xf apr-1.5.2.tar.bz2

# cd apr-1.5.2

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

# make && make install


3. 編譯安裝apr-util-1.5.4, apr-util需要依賴apr模塊

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

# cd apr-util-1.5.4

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

#make && make install


4. 編譯安裝httpd-2.4.16

# tar xf httpd-2.4.16.tar.bz2 

# cd httpd-2.4.16

# ./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 && make install

#####
configure配置字段解釋:
--prefix=/usr/local/apache 指定默認路徑
--sysconfdir=/etc/httpd24 配置文件路徑
--enable-so 支持dso動態(tài)加載模塊
--enable--ssl 支持ssl協(xié)議
--enable-cgi 支持cgi接口
--enable-rewrite 支持url重寫
--with-zlib 支持gzip對數(shù)據(jù)進行壓縮
--with-pcre 支持pcre正則模塊
--with-apr=/usr/local/apr 指定apr位置 
--with-apr-util=/usr/local/apr-util 指定apr-utl位置
--enable-modeles=most 啟用常用模塊
--enable-mpms-shared=all 安裝所有mpm模塊
--with-mpm=event 默認使用event模塊
#####


5. httpd-2.4.16安裝完成后, 對httpd進行相關配置

5-1. 設置httpd的PID文件路徑

編輯配置文件/etc/httpd24/httpd.conf

添加內(nèi)容為: PidFile "/var/run/httpd.pid"

用于設置httpd的pid文件路徑為/var/run/httpd.pid


5-2. 為httpd添加服務器腳本, 復制rpm包安裝生成的SysV服務腳本文件/etc/rc.d/init.d/httpd, 修改以下字段內(nèi)容(修改內(nèi)容應該與本次編譯時的參數(shù)相匹配)

#####
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
STOP_TIMEOUT=${STOP_TIMEOUT-10}
#####

而后為此腳本賦予執(zhí)行權限:

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

將服務器腳本加入服務列表:

# chkconfig --add httpd

加入服務列表后查看該服務的運行級別顯示所有級別下都不運行, 因為在配置文件中就沒有要求該服務隨機啟動

# chkconfig --list httpd

httpd           0:off 1:off 2:off 3:off 4:off 5:off 6:off


到此為止httpd-2.4.16就已經(jīng)編譯安裝完成, 并已經(jīng)成功運行.


5-3. 啟動httpd程序, 驗證是否可用

編輯httpd網(wǎng)頁文件

# vim /usr/local/apache/htdocs/index.html

添加如下內(nèi)容: <h2>working...</h2>

通過瀏覽器訪問本地主機IP地址, 查看能夠顯示指定內(nèi)容working..., 檢查httpd是否正常運行


++++++++++++++++++

二進制程序安裝mysql-5.5.44

1. 文件系統(tǒng)前提條件: 在單獨的磁盤分區(qū)上創(chuàng)建目錄用于存放mysql的數(shù)據(jù)庫文件

1-1. 在磁盤/dev/sda上創(chuàng)建10G大小的新分區(qū)/dev/sda5, 設置其類型為8e(LVM)

# fdisk /dev/sda, 在交換式命令行中執(zhí)行相應操作

# partx -a /dev/sda


1-2. 創(chuàng)建大小為5G的LV: lvdata

# pvcreate /dev/sda5

  Physical volume "/dev/sda5" successfully created

# pvs

  PV         VG   Fmt  Attr PSize  PFree 

  /dev/sda5       lvm2 ---  10.00g 10.00g


# vgcreate  vgdata /dev/sda5

  Volume group "vgdata" successfully created

# vgs

  VG     #PV #LV #SN Attr   VSize  VFree 

  vgdata   1   0   0 wz--n- 10.00g 10.00g


# lvcreate -L 5G -n lvdata vgdata

  Logical volume "lvdata" created

# lvs

  LV     VG     Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

  lvdata vgdata -wi-a----- 5.00g   


 1-3. 將磁盤分區(qū)/dev/mapper/vgdata-lvdata的文件系統(tǒng)格式化為ext4, 并掛載至/data目錄中

 [root@Node161 ~]# mke2fs -t ext4 /dev/mapper/vgdata-lvdata 

mke2fs 1.41.12 (17-May-2010)

# mkdir /data

# mount /dev/mapper/vgdata-lvdata /data


1-4. 在/data目錄下創(chuàng)建mysql_data目錄, 用于存放數(shù)據(jù)庫文件系統(tǒng), 

# mkdir /data/mysql_data


1-5. 編輯文件系統(tǒng)掛載配置文件/etc/fstab, 填入以下內(nèi)容, 將/dev/mapper/vgdata-lvdata文件系統(tǒng)默認掛載至/data目錄

# vim /etc/fstab

/dev/mapper/vgdata-lvdata       /data           ext4    defaults,noatime        0 0


2. 為mysql創(chuàng)建系統(tǒng)用戶

創(chuàng)建系統(tǒng)組mysql

# groupadd -r mysql

創(chuàng)建系統(tǒng)用戶mysql, 并設置其屬組為mysql, 默認shell為/sbin/nologin, 默認目錄為/data/mysql_data

# useradd -g mysql -r -s /sbin/nologin -M -d /data/mysql_data/ mysql

設置目錄/data/mysql_data的屬主屬組為mysql:mysql

# chown -R mysql:mysql /data/mysql_data


3. 二進制安裝程序包mysql-5.5.44

mysql的自帶安裝教程為: 安裝程序主目錄下的INSTALL-BINARY文件

3-1. 將mysql-5.5.44安裝程序加壓后放置在/usr/local目錄下

# tar xf mysql-5.5.44-linux2.6-x86_64.tar.gz -C /usr/local/

# cd /usr/local/

3-2. 創(chuàng)建mysql-5.5.44-linux2.6-x86_64安裝程序目錄的軟連接文件mysql, 該步驟目的是便于保留版本信息

# ln -sv mysql-5.5.44-linux2.6-x86_64 mysql

3-3. 修改安裝程序目錄下所有文件的屬主屬組為mysql:mysql

# chown -R mysql:mysql mysql/*

3-4. 執(zhí)行安裝程序自帶的安裝文件/usr/local/mysql/scripts/mysql_install_db, 并指用戶為mysql, 數(shù)據(jù)目錄為/data/mysql_data, 安裝指導文件位置為/usr/local/mysql/INSTALL-BINARY

# /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysql_data


4. 修改mysql的相關配置文件

將安裝程序自帶的配置文件保存為/etc/my.cnf文件, 并修改配置文件中的指定字段

安裝程序的support-files/目錄下會根據(jù)設備內(nèi)存大小自帶多種程序的配置文件my-*.cnf, 可以先查看配置文件中的描述情況, 選擇適合自己主機的配置文件保存為指定的目標文件

# cp /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf

修改創(chuàng)建的配置文件中的以下字段:

thread_concurrency = #            設置本機CPU個數(shù), #應該為當前主機CPU個數(shù)x2

datadir = /data/mysql_data      添加字段指定mysql數(shù)據(jù)文件的默認存放位置


5. 添加mysql的SysV服務腳本

5-1. 復制安裝程序自帶的服務腳本文件保存為/etc/rc.d/init.d/mysqld

服務腳本文件保存名稱為mysqld表示為mysql服務器, 而防止與mysql客戶端混淆

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

5-2. 對服務腳本文件添加執(zhí)行權限, 并添加至開機啟動列表

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

# chkconfig --add mysqld

# chkconfig mysqld on

# chkconfig --list mysqld

mysqld         0:off 1:off 2:on 3:on 4:on 5:on 6:off


6. 對二進制安裝的mysql-5.5.44程序執(zhí)行以下操作

6-1. 將程序搜索路徑加入PATH環(huán)境變量, 在全局環(huán)境變量中使用mysql命令時使用安裝程序mysql-5.5.44自帶的mysql客戶端程序

# vim /etc/profile.d/mysql.sh 

添加如下字段: 

export PATH=${PATH}:/usr/local/mysql/bin


6-2. 導出mysql-5.5.44帶有的頭文件

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


6-3. 導出mysql-5.5.44的庫文件到系統(tǒng)的庫查找路徑

# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf


6-4. 在man手冊中添加mysql-5.5.44幫助文件搜索路徑

# echo 'MANPATH /usr/local/mysql/man' >> /etc/man.config


此時mysql-5.5.44已經(jīng)安裝完成


++++++++++++++++++

編譯安裝php-5.4.26

1. 安裝相關依賴包

1-1. yum安裝 Desktop Platform Development, bzip2-devel, libxml2-devel, php-mysql-devel

# yum -y groupinstall "Desktop Platform Development"

# yum install bzip2-devel libxml2-devel php-mysql


1-2. rpm包安裝 libmcrypt-devel, 及其依賴的關系包libmcrypt, libmcrypt 用于php支持讀取多字節(jié)數(shù)據(jù)

# rpm -ivh libmcrypt-2.5.8-9.el6.x86_64.rpm libmcrypt-devel-2.5.8-9.el6.x86_64.rpm 


2. 編譯安裝php-5.4.26

# tar xf php-5.4.26.tar.gz 

# cd php-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 && make install

#####

configure配置字段說明
--prefix=/usr/local/php                         指定安裝目錄
--with-openssl                                  啟用openssl
--enable-mbstring                               啟用多字節(jié),支持字符串
--with-freetype-dir                             啟用對freetype字體庫的支持                   
--with-jpeg-dir                                 啟用對jpeg圖片的支持
--with-png-dir                                  啟用對png圖片的支持
--with-zlib                                     啟用對壓縮庫的支持
--with-libxml-dir=/usr                          啟用libxml2庫的支持
--enable-xml                                    啟用xml
--enable-sockets                                啟用對套接字的支持
--enable-fpm                                    啟用fpm模塊
--with-mcrypt                                   啟用對加密的支持
--with-config-file-path=/etc                    指定編譯安裝時配置文件安裝的路徑
--with-config-file-scan-dir=/etc/php.d          指定php.ini文件的安裝路徑
--with-bz2                                      啟用b2壓縮
--enable-maintainer-zts                         啟用對worker和event的支持


php和mysql部署在不同設備時的安裝選項

--with-mysql=mysqlnd                            指定使用mysql

--with-pdo-mysql=mysqlnd                        啟用pdo模塊

--with-mysqli=mysqlnd                           啟用mysqli,優(yōu)化支持

php和mysql部署在同一設備時的安裝選項--本次安裝使用該分支選項

--with-mysql=/usr/local/mysql 指定使用本地mysql

--with-mysqli=/usr/local/mysql/bin/mysql_config 指定本地mysql的配置文件

#####


3. 修改php的相關配置文件

3-1. 復制php源碼包目錄下的php.ini-production文件作為當前程序的配置文件

# cp php-5.4.26/php.ini-production /etc/php.ini


3-2. 修改httpd的配置文件, 將php作為httpd模塊進行調(diào)用

 # vim /etc/httpd/httpd.conf

添加如下二行, 添加httpd對php的支持

   AddType application/x-httpd-php  .php

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

修改 DirectoryIndex index.html 字段

DirectoryIndex index.php index.html  添加默認識別php文件


此時php已經(jīng)安裝完成, 并且已經(jīng)建立完成php與httpd的模塊方式連接關系

+++++++++++++++++++

測試LAMP平臺的連通性

LAMP架構(gòu)已經(jīng)搭建完成, 現(xiàn)在需要創(chuàng)建一個測試頁面來測試該架構(gòu)是否正常運行


1. 在數(shù)據(jù)庫文件系統(tǒng)中修改用戶密碼, 測試LAMP的連通性

mysql> use mysql;

mysql> show tables;

mysql> desc user;

mysql> select User,Host,Password from user;

mysql> set password for 'root'@'localhost' = password('mysqladmin');

# 修改root@localhost的密碼為mysqladmin, 正常登陸

mysql> flush privileges;


2. 在httpd的默認目錄下創(chuàng)建php格式的測試文件index.php

# vim /usr/local/apache/htdocs/index.php, 添加如下內(nèi)容:

<?php
$link = mysql_connect('localhost','root','mysqladmin');
# 指定登錄mysql的用戶名為root@localhost, 密碼為mysqladmin
if ($link)
echo "php --> mysql";
# 輸出顯示: "php --> mysql", 則表示php和mysql連接成功
else
echo "php -|- mysql";
# 輸出顯示"php -|- mysql", 則表示php和mysql無法正常連接
mysql_close();
phpinfo();
# 顯示php的信息測試頁表示httpd和php連接成功, 不顯示則表示二者沒有正常連接
?>

通過訪問httpd的默認頁面查看其運行狀態(tài)

+++++++++++++++++++


至此, php基于模塊形式編譯安裝的LAMP平臺已經(jīng)搭建完成.


本人水平有限, 如有理解不當?shù)牡胤? 請大家給予指正, 非常感謝!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI