超詳細(xì)LAMP環(huán)境手動(dòng)編譯安裝實(shí)例(PHP以模塊方式工作)-創(chuàng)新互聯(lián)

LAMP編譯安裝實(shí)例:

成都創(chuàng)新互聯(lián)專(zhuān)注于武安網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供武安營(yíng)銷(xiāo)型網(wǎng)站建設(shè),武安網(wǎng)站制作、武安網(wǎng)頁(yè)設(shè)計(jì)、武安網(wǎng)站官網(wǎng)定制、重慶小程序開(kāi)發(fā)服務(wù),打造武安網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供武安網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。

 一: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

            需要依賴(lài)最新版apr和apr-util

            apr:Apache Porttable Runtime:

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

            apr-util:apr工具

        安裝開(kāi)發(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的會(huì)報(bào)錯(cuò),用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

            若報(bào)以上錯(cuò)誤安裝下面的devel包

# yum install expat-devel # make&make install

        安裝httpd:

            # ./configure --hlep 查看常用選項(xiàng):

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

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

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

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

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

                            模塊:php以模塊的形式集成在httpd中,httpd和php一個(gè)進(jìn)程

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

                            FCGI:php完全獨(dú)立了,自己?jiǎn)为?dú)的服務(wù)器,自己預(yù)先創(chuàng)建進(jìn)程,自己管理進(jìn)程

                --enable-ssl//支持ssl,用于需要啟用https的站點(diǎn)

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

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

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

                            MPM的幾種模式:

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

                            worker:一個(gè)進(jìn)程生成多個(gè)子進(jìn)程(線(xiàn)程)來(lái)響應(yīng)多個(gè)請(qǐng)求

                            prefork:一個(gè)進(jìn)程響應(yīng)一個(gè)請(qǐng)求

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

                --enable-rewrite//支持URL重寫(xiě),就是重定向啦

# ./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          報(bào)錯(cuò):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編譯安裝默認(rèn)的目錄:

            bin:二進(jìn)制文件(啟動(dòng)腳本是此目錄下的apachectl)

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

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

            man:幫助文檔

            modules:模塊目錄

            error:錯(cuò)誤信息

            icons:圖標(biāo)

            logs:日志文件

            manual:官方手冊(cè)

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

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

        可選配置:

        讓service命令識(shí)別啟動(dòng)腳本:

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

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

            方法一:

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

            方法二:

# vim /etc/profile.d/httpd.sh export PATH=$PATH:/usr/local/apache/bin # 編輯一個(gè)開(kāi)機(jī)啟動(dòng)腳本,追加PATH變量

        加入開(kāi)機(jī)自啟動(dòng):

            方法一:

# vim /etc/rc.d/rc.local /usr/local/apache/bin/apachectl start # 開(kāi)機(jī)啟動(dòng)

            方法二:讓chkconfig識(shí)別(略)

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

        下載軟件包:

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

        具體安裝方法在這個(gè)文件中有說(shuō)明:

# more INSTALL-BINARY

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

# useradd -r mysql

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

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

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

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

            --user=user_name:以哪個(gè)用戶(hù)的身份進(jìn)行初始化

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

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

        服務(wù)啟動(dòng)腳本:

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

        MYSQL配置文件:

            mysql/support-files/目錄下有多個(gè)針對(duì)實(shí)際硬件情況的配置文件可選:

# 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左右可以選這個(gè)配置文件 # MySQL. datadir=YOURPATH # 注意,如果在初始化時(shí)指定了data目錄,這里要加這個(gè)參數(shù)# cp support-files/my-large.cnf /etc/my.cnf # 復(fù)制配置文件并重命名,mysql默認(rèn)在這個(gè)目錄下找my.cnf的配置文件

        啟動(dòng)mysqld服務(wù):

# service mysqld start

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

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

        非必須選項(xiàng):

# vim /etc/ld.so.conf.d/mysql.conf /usr/local/mysql/lib # 輸出庫(kù)文件,讓系統(tǒng)讀取mysql的庫(kù)文件 # ldconfig -v # 重新讀取庫(kù)文件 # 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:其中這一項(xiàng)是以模塊的方式與apche工作,如果要以fcgi方式則用:--enable-fpm(注意兩項(xiàng)不能共存)

            ./configure時(shí)報(bào)錯(cuò)yum安裝對(duì)應(yīng)的軟件包和devel包一般可以解決,但有些軟件包yum是沒(méi)有的,需要手動(dòng)下載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時(shí)指定的配置文件目錄:

# 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 # 修改完檢查下語(yǔ)法# service httpd restart # 重啟服務(wù)重讀配置文件

 

    四:測(cè)試PHP和Apache工作情況:

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

        完成后可以在瀏覽器中打開(kāi)測(cè)試一下了

    五:測(cè)試MYSQL和PHP工作情況:

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

        完成后瀏覽器中打開(kāi)mysql.php測(cè)試下,顯示SUCCESS表示成功

    

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

新聞標(biāo)題:超詳細(xì)LAMP環(huán)境手動(dòng)編譯安裝實(shí)例(PHP以模塊方式工作)-創(chuàng)新互聯(lián)
文章分享:http://bm7419.com/article18/dsdhdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、移動(dòng)網(wǎng)站建設(shè)網(wǎng)站內(nèi)鏈、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站收錄品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)