溫馨提示×

溫馨提示×

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

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

超詳細LAMP環(huán)境手動編譯安裝實例(PHP以模塊方式工作)

發(fā)布時間:2020-09-07 07:57:10 來源:網(wǎng)絡(luò) 閱讀:2009 作者:鄂C王思聰 欄目:MySQL數(shù)據(jù)庫

LAMP編譯安裝實例:

   一: HTTPD編譯安裝:

        下載軟件包:

      
# wget http://mirrors.hust.edu.cn/apache//apr/apr-1.6.3.tar.gz http://mirrors.hust.edu.cn/apache//apr/apr-util-1.5.1.tar.gz http://mirrors.shu.edu.cn/apache//httpd/httpd-2.4.29.tar.gz

            需要依賴最新版apr和apr-util

            apr:Apache Porttable Runtime:

            可移植Apache運行環(huán)境,用于把C語言編寫的Apache程序運行在不同的操作系統(tǒng)上,即有Windows版本也有Linux版本

            apr-util:apr工具

        安裝開發(fā)環(huán)境,確保Development tools

# yum grouplist # 查看是否安裝
# yum groupinstall "Development Tools"

        安裝apr:

# tar xf apr-1.6.3.tar.gz 
# cd apr-1.6.3
# ./configure --prefix=/usr/local/apr
# make
# make install

        安裝apr-util:

# tar xf apr-util-1.5.1.tar.gz # 1.6的會報錯,用1.5.1的
# cd apr-util-1.5.1
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr # 需要指定剛才安裝的apr的路徑
# make
make[1]: *** [xml/apr_xml.lo] Error 1
make[1]: Leaving directory `/lee/software/apr-util-1.5.1'
make: *** [all-recursive] Error 1

            若報以上錯誤安裝下面的devel包

# yum install expat-devel
# make&make install

        安裝httpd:

            # ./configure --hlep 查看常用選項:

                 --sysconfdir=DIR//指定配置文件路徑

                 --enable-so//支持動態(tài)共享模塊,必加項,用于以模塊的方式讓php與apache結(jié)合工作

                 --enable-proxy-fcgi//用于以fcgi(fastcgi)的方式讓php與apache結(jié)合工作

                 --enable-cgi //用于以cgi的方式讓php與apache結(jié)合工作

                            apache與php結(jié)合工作的幾種方式:

                            模塊:php以模塊的形式集成在httpd中,httpd和php一個進程

                            CGI:httpd用CGI和php交互,php獨立創(chuàng)建進程(好像是tcp9000),由httpd創(chuàng)建、管理php的進程

                            FCGI:php完全獨立了,自己單獨的服務(wù)器,自己預(yù)先創(chuàng)建進程,自己管理進程

                --enable-ssl//支持ssl,用于需要啟用https的站點

                --enable-deflate//支持壓縮,即壓縮后發(fā)送給客戶端瀏覽器,瀏覽器再解壓縮,節(jié)省流量

                --enable-mpms-shared=MPM-LIST//定義要啟用的httpd支持的MPM模式(多道處理模塊)event|worker|prefork|winnt|all

                --with-mpm=MPM //定義MPM后設(shè)定默認的MPM模式(MPM={event|worker|prefork|winnt}),2.4默認event

                            MPM的幾種模式:

                            event:一個進程(內(nèi)部生成多個線程)來響應(yīng)多個請求,進程通過事件驅(qū)動(輪詢和通知)的機制來確定內(nèi)部線程的處理狀態(tài)

                            worker:一個進程生成多個子進程(線程)來響應(yīng)多個請求

                            prefork:一個進程響應(yīng)一個請求

                --enable-cgid//CGI scripts. Enabled by default with threaded MPMs(線程方式event|worker的MPM模式時必須啟用)

                --enable-rewrite//支持URL重寫,就是重定向啦

# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-rewirte --enable-ssl --enable-cgi --enable-cgid --enable-modules=most --enable-mods-shared=most --enable-mpms-shared=all --with-mpm=event --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
        
報錯:configure: error: pcre-config for libpcre not found. PCRE is required and available from   # 缺少pcre-devel
# yum -y install pcre-devel
# make
# make install

        Apache編譯安裝默認的目錄:

            bin:二進制文件(啟動腳本是此目錄下的apachectl)    

            cgi-bin:CGI程序的存放目錄

            htdocs:網(wǎng)頁的存放目錄

            man:幫助文檔

            modules:模塊目錄

            error:錯誤信息

            icons:圖標(biāo)  

            logs:日志文件

            manual:官方手冊

        編譯安裝的默認pid文件放在了/usr/local/apache/logs下了,最好改一下位置:

# vim /etc/httpd/httpd.conf
PidFile "/var/run/httpd.pid" # 加這一行內(nèi)容
# /usr/local/apache/apachectl start # 啟動服務(wù)

        可選配置:

        讓service命令識別啟動腳本:

 # ln -s /usr/local/apache/bin/apachectl /etc/init.d/httpd

        讓系統(tǒng)能夠直接識別/usr/local/apache/bin/下的命令:

            方法一:

# ln -s /usr/local/apache/bin/* /usr/bin # 軟鏈接到某一個PATH變量目錄中

            方法二:

# vim /etc/profile.d/httpd.sh
export PATH=$PATH:/usr/local/apache/bin # 編輯一個開機啟動腳本,追加PATH變量

        加入開機自啟動:

            方法一:

# vim /etc/rc.d/rc.local
/usr/local/apache/bin/apachectl start # 開機啟動

            方法二:讓chkconfig識別(略)


    二:MYSQL(通用二進制包)安裝:

        下載軟件包:

# wget https://cdn.mysql.com//Downloads/MySQL-5.5/mysql-5.5.58-linux-glibc2.12-i686.tar.gz

        解壓:

# tar xf mysql-5.5.58-linux-glibc2.12-i686.tar.gz

        復(fù)制到想要安裝的目錄并重命名:

# cp -rf mysql-5.5.58-linux-glibc2.12-i686/* /usr/local/mysql/
# cd /usr/local/mysql/

        具體安裝方法在這個文件中有說明:

# more INSTALL-BINARY

        創(chuàng)建系統(tǒng)用戶mysql:

# useradd -r mysql

        將mysql目錄所有文件改變屬主和屬組為mysql

# chown -R mysql.mysql /usr/local/mysql/

        手動執(zhí)行初始化腳本:

        # /usr/local/mysql/scripts/mysql_install_db  --help # 初始化腳本配置文件主要選項

            --user=user_name:以哪個用戶的身份進行初始化

            --datadir=path:數(shù)據(jù)存放目錄,默認就在安裝目錄下的data目錄

# /usr/local/mysql/scripts/mysql_install_db --user=mysql # 初始化

        服務(wù)啟動腳本:

# cp support-files/mysql.server /etc/init.d/mysqld # 復(fù)制到service管理目錄下并重命名
# chkconfig --add mysqld
# chkconfig mysqld on

        MYSQL配置文件:

            mysql/support-files/目錄下有多個針對實際硬件情況的配置文件可選:

# ls /usr/local/mysql/support-files/
my-huge.cnfmy-large.cnfmy-small.cnf
# more my-large.cnf 
# Example MySQL config file for large systems.
#
# This is for a large system with memory = 512M where the system runs mainly # 內(nèi)存512左右可以選這個配置文件
# MySQL.
datadir=YOURPATH # 注意,如果在初始化時指定了data目錄,這里要加這個參數(shù)
# cp support-files/my-large.cnf /etc/my.cnf # 復(fù)制配置文件并重命名,mysql默認在這個目錄下找my.cnf的配置文件

        啟動mysqld服務(wù):

# service mysqld start

        照例追加mysql/bin到PATH,讓系統(tǒng)識別命令:

# vim /etc/profile.d/mysql.sh
export PATH=$PATH:/usr/local/mysql/bin # 追加變量

        非必須選項:

# vim /etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib # 輸出庫文件,讓系統(tǒng)讀取mysql的庫文件
# ldconfig -v # 重新讀取庫文件
# ln -sv /usr/local/mysql/include /usr/include/mysql # 輸出頭文件,讓系統(tǒng)讀取mysql的頭文件

  

    三:編譯安裝PHP:

        下載軟件包并解壓:

# wget http://cn2.php.net/distributions/php-5.6.33.tar.gz
# tar xf php-5.6.33.tar.gz
# cd /lee/software/php-5.6.33

        編譯:

# ./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

            #--with-apxs2=/usr/local/apache/bin/apxs:其中這一項是以模塊的方式與apche工作,如果要以fcgi方式則用:--enable-fpm(注意兩項不能共存)

            ./configure時報錯yum安裝對應(yīng)的軟件包和devel包一般可以解決,但有些軟件包yum是沒有的,需要手動下載rpm包安裝:

# wget http://rpmfind.net/linux/dag/redhat/el6/en/i386/dag/RPMS/libmcrypt-2.5.7-1.2.el6.rf.i686.rpm
# rpm -ivh libmcrypt-2.5.7-1.2.el6.rf.i686.rpm 
# wget http://rpmfind.net/linux/dag/redhat/el6/en/i386/dag/RPMS/libmcrypt-devel-2.5.7-1.2.el6.rf.i686.rpm
# rpm -ivh libmcrypt-devel-2.5.7-1.2.el6.rf.i686.rpm 
# make
# make install

        復(fù)制配置文件到剛才configure時指定的配置文件目錄:

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

        編輯Apache的配置文件,讓apache能支持php(PHP以apache模塊的方式工作):

# vim /etc/httpd/httpd.conf

             1、添加如下二行

               AddType application/x-httpd-php  .php

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

             2、定位至DirectoryIndex index.html 

               修改為:

            DirectoryIndex  index.php  index.html

# httpd -t # 修改完檢查下語法
# service httpd restart # 重啟服務(wù)重讀配置文件

    

    四:測試PHP和Apache工作情況:

# mv index.html index.html.bak//讓默認的html主頁失效
# vim index.php
<html><title>鄂C王思聰PHP測試</title> <body><h2>PHP TEST</h2></body></html>
<?php
phpinfo();
?> # 這個是PHP內(nèi)置函數(shù),用于測試PHP

        完成后可以在瀏覽器中打開測試一下了

   

    五:測試MYSQL和PHP工作情況:

# vim mysql.php
<html><title>鄂C王思聰MYSQL測試</title> <body><h2>MYSQL TEST</h2></body></html>
<?php
$conn=mysql_connect(`localhost`,`root`,``);
if ($conn)
echo "SUCCESS";
else
echo "FAILURE";
?>

        完成后瀏覽器中打開mysql.php測試下,顯示SUCCESS表示成功

    

向AI問一下細節(jié)

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

AI