您好,登錄后才能下訂單哦!
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運行環境,用于把C語言編寫的Apache程序運行在不同的操作系統上,即有Windows版本也有Linux版本
apr-util:apr工具
安裝開發環境,確保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//支持動態共享模塊,必加項,用于以模塊的方式讓php與apache結合工作
--enable-proxy-fcgi//用于以fcgi(fastcgi)的方式讓php與apache結合工作
--enable-cgi //用于以cgi的方式讓php與apache結合工作
apache與php結合工作的幾種方式:
模塊:php以模塊的形式集成在httpd中,httpd和php一個進程
CGI:httpd用CGI和php交互,php獨立創建進程(好像是tcp9000),由httpd創建、管理php的進程
FCGI:php完全獨立了,自己單獨的服務器,自己預先創建進程,自己管理進程
--enable-ssl//支持ssl,用于需要啟用https的站點
--enable-deflate//支持壓縮,即壓縮后發送給客戶端瀏覽器,瀏覽器再解壓縮,節省流量
--enable-mpms-shared=MPM-LIST//定義要啟用的httpd支持的MPM模式(多道處理模塊)event|worker|prefork|winnt|all
--with-mpm=MPM //定義MPM后設定默認的MPM模式(MPM={event|worker|prefork|winnt}),2.4默認event
MPM的幾種模式:
event:一個進程(內部生成多個線程)來響應多個請求,進程通過事件驅動(輪詢和通知)的機制來確定內部線程的處理狀態
worker:一個進程生成多個子進程(線程)來響應多個請求
prefork:一個進程響應一個請求
--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:網頁的存放目錄
man:幫助文檔
modules:模塊目錄
error:錯誤信息
icons:圖標
logs:日志文件
manual:官方手冊
編譯安裝的默認pid文件放在了/usr/local/apache/logs下了,最好改一下位置:
# vim /etc/httpd/httpd.conf PidFile "/var/run/httpd.pid" # 加這一行內容 # /usr/local/apache/apachectl start # 啟動服務
可選配置:
讓service命令識別啟動腳本:
# ln -s /usr/local/apache/bin/apachectl /etc/init.d/httpd
讓系統能夠直接識別/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
復制到想要安裝的目錄并重命名:
# cp -rf mysql-5.5.58-linux-glibc2.12-i686/* /usr/local/mysql/ # cd /usr/local/mysql/
具體安裝方法在這個文件中有說明:
# more INSTALL-BINARY
創建系統用戶mysql:
# useradd -r mysql
將mysql目錄所有文件改變屬主和屬組為mysql
# chown -R mysql.mysql /usr/local/mysql/
手動執行初始化腳本:
# /usr/local/mysql/scripts/mysql_install_db --help # 初始化腳本配置文件主要選項
--user=user_name:以哪個用戶的身份進行初始化
--datadir=path:數據存放目錄,默認就在安裝目錄下的data目錄
# /usr/local/mysql/scripts/mysql_install_db --user=mysql # 初始化
服務啟動腳本:
# cp support-files/mysql.server /etc/init.d/mysqld # 復制到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 # 內存512左右可以選這個配置文件 # MySQL. datadir=YOURPATH # 注意,如果在初始化時指定了data目錄,這里要加這個參數
# cp support-files/my-large.cnf /etc/my.cnf # 復制配置文件并重命名,mysql默認在這個目錄下找my.cnf的配置文件
啟動mysqld服務:
# service mysqld start
照例追加mysql/bin到PATH,讓系統識別命令:
# 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 # 輸出庫文件,讓系統讀取mysql的庫文件 # ldconfig -v # 重新讀取庫文件 # ln -sv /usr/local/mysql/include /usr/include/mysql # 輸出頭文件,讓系統讀取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安裝對應的軟件包和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
復制配置文件到剛才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 # 重啟服務重讀配置文件
四:測試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內置函數,用于測試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表示成功
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。