新聞中心

在連云等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作定制設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營銷推廣,外貿(mào)網(wǎng)站建設(shè),連云網(wǎng)站建設(shè)費(fèi)用合理。
LAMP 環(huán)境搭建是較為復(fù)雜的 linux 實(shí)驗(yàn),在進(jìn)行真正的環(huán)境安裝之前,需要做一些細(xì)致的準(zhǔn)備工作,以避免在安裝過程中出現(xiàn)不必要的錯(cuò)誤。我們需要進(jìn)行的準(zhǔn)備工作有以下幾步。
獲取源碼包
我們已經(jīng)知道 RPM 包是在 CentOS 的安裝光盤中保存的,但是源碼包需要去互聯(lián)網(wǎng)下載。我們此次完成 LAMP 環(huán)境搭建需要 19 個(gè)軟件包,這是目前較為完善和常用的 LAMP 環(huán)境搭建方式。這些軟件包的下載地址如表 1 所示。這些下載地址只是參考,如果有失效的,則請(qǐng)自行搜索。
| 軟件包 | 說 明 | 下載地址 |
|---|---|---|
| httpd-2.4.7.tar.gz | Apache 包 | http://www.apache.org/ |
| mysql-5.5.23.tar.gz | MySQL數(shù)據(jù)庫 | http://dev.mysql.com/downloads/ |
| php-5.4.25.tar.gz | PHP語言 | http://www.php.net/downloads.php |
| phpMyAdmin-4.1.4-all-languages.iar.gz | Web方式的MySQL管理工具 | http://www.phpmyadmin.com/ |
| libxml2_2.9.1.tar.gz | 用來解析XML文檔的函數(shù)庫 | http://www.linuxfromscratch.org/blfs/view/svn/general/libxml2.html |
| libmerypt-2.5.8.tar.gz | 加密算法擴(kuò)展庫 | http://prdownloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz?use_mirror=peterhost |
| mhash-0.9.9.9.tar.gz | 加密算法擴(kuò)展庫 | http://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/ |
| mcrypt-2-6.8-tar.gz | 加密算法擴(kuò)展庫 | http://sourceforge.net/projects/mcrypt/files/MCrypt/2.6.8/ |
| zlib-1.2.3.tar.gz | 數(shù)據(jù)壓縮函數(shù)庫 | http://www.zlib.net/ |
| gd-2.0.35.tar.gz | PHP處理用形的擴(kuò)展庫 | https://bitbucket.org/libgd/gd-libgd/downloads |
| freetype-2.3.5-tar-gz | 字體引擎庫 | http://download.savannah.gnu.org/releases/freetype/ |
| libpng-1.2.31.tar.gz | 用于解碼.png格式的圖片 | ftp://ftp.simplesystems.org/pub/libpng/png/src/ |
| jpegsrc.v6b.tar.gz | 用于解碼.jpg和.jpeg格式的圖片 | http://www.ijg.org/files/jpegsrc.v6b.tar.gz |
| apr-1.4.6.tar.gz | Apache支持鏌塊 | http://archive.apache.org/dist/apr/ |
| apr-util-1.4.1.tar.gz | Apache支持模塊 | http://archive.apache.org/dist/apr/ |
| pcre-8.34.tar.gz | Apache支持模塊,使Apache支持pcre正則表達(dá)式規(guī)則 | http://sourceforge.net/projects/pcre/files/pcre/8.34/pcre-8.34.tar.gz/stats/map |
| ncurses-5.9.tar.gz | 使應(yīng)用程序直接控制終端屏幕顯示的函數(shù)庫 | http://ftp.gnu.org/pub/gnu/ncurses/ |
| memcache-3.0.8.tgz | memcache函數(shù)庫(客戶端) | http://pecl.php.net/package/memcache |
| memcached-1.4.17.tar.gz | memcached服務(wù)器端 | http://memcached.org/ |
大家可能已經(jīng)發(fā)現(xiàn),我們下載的軟件包不全是最新的版本,這主要是為了和 php-5.4.25.tar.gz 這個(gè)軟件包進(jìn)行匹配。當(dāng)然,php-5.4.25.tar.gz 也已經(jīng)不是最新版本的 PHP 了,不過在計(jì)算機(jī)領(lǐng)域永遠(yuǎn)不是最新版本的軟件就是最好的,新軟件雖然有了更多的功能,但是這個(gè)軟件并沒有經(jīng)過實(shí)際工作的檢驗(yàn),它不一定穩(wěn)定,也有可能會(huì)有 Bug;反而版本較低的、但是經(jīng)過足夠的實(shí)踐檢驗(yàn)的軟件會(huì)更受開發(fā)者的歡迎。
Linux 就是這樣的,CentOS 6.x 自 2011 年發(fā)布以來,經(jīng)過多年的補(bǔ)充和完善,目前才逐漸得到個(gè)人使用者和企業(yè)使用者的認(rèn)可。PHP 同樣如此,目前 php-5.4.25.tar.gz 依然是使用最多的 PHP 版本,所以我們依然使用 php-5.4.25.tar.gz 來介紹 LAMP 環(huán)境的搭建。
把軟件包傳送到Linux服務(wù)器上
我們可以直接把軟件包下載到 Linux 服務(wù)器上,也可以先下載到本地 Windows 中,再上傳到 Linux 服務(wù)器中。如果是先下載到本地 Windows 中,再上傳到 Linux 服務(wù)器中,那么需要利用網(wǎng)絡(luò)文件服務(wù)器來進(jìn)行數(shù)據(jù)的傳輸。但是我們現(xiàn)在還沒有學(xué)習(xí) Linux 中的文件服務(wù)器(如 FTP、Samba 或 NFS),所以我們?cè)谶@里介紹一款名為 WinSCP 的軟件。
WinSCP 是在 Windows 中安裝,使用 SFTP 協(xié)議向 Linux 服務(wù)器傳遞文件的工具。它的特點(diǎn)是使用簡單、圖形化操作,而且數(shù)據(jù)傳遞過程是加密的,較為安全,是 Windows 和 Linux 之間進(jìn)行數(shù)據(jù)傳遞的常用軟件。WinSCP 第一次啟動(dòng)的界面如圖 2 所示。
圖 2 WinSCP啟動(dòng)界面
在啟動(dòng)界面的“主機(jī)名”文本框中輸入 Linux 服務(wù)器的 IP 地址,如 192.168.0.210,在“用戶名”文本框中輸入 Linux 的用戶名,在“密碼”文本框中輸入正確的密碼,單擊“登錄”按鈕,就會(huì)見到如圖 3 所示的界面。
圖 3 WinSCP傳輸界面
在這個(gè)工具中,左半部分是 Windows 系統(tǒng)中的文件,右半部分是 Linux 服務(wù)器上的文件。如果需要從 Windows 向 Linux 傳遞什么文件,則只需找到這個(gè)文件或目錄,從左半部分拖拽到右半部分即可;反過來就是從 Linux 傳遞文件到 Windows 中,非常簡單。
那么,我們應(yīng)該把軟件放置在 Linux 服務(wù)器的什么位置呢?Linux 中的 /usr/local/src/ 目錄是系統(tǒng)默認(rèn)的放置下載軟件源代碼的位置,所以我們就把搭建 LAMP 環(huán)境所需的所有軟件包都傳遞到這個(gè)位置,傳遞完成后查看一下,如下:
[root@localhost ~]# ls /usr/local/src/
apr-1.4.6.tar.gz jpegsrc.v6b.tar.gz memcache-3.0.8.tgz
pcre-8.34.tar.gz
apr-util-1.4.1.tar.gz libmcrypt-2.5.8.tar.gz memcached-1.4.17.tar.gz
php-5.4.25.tar.gz
freetype-2.3.5.tar.gz libpng-1.2.31.tar.gz mhash-0.9.9.9.tar.gz
phpMyAdmin-4.1.4-all-languages.tar.gz
gd-2.0.35.tar.gz libxml2-2.9.1.tar.gz mysql-5.5.23.tar.gz
zlib-1.2.3.tar.gz
httpd-2.4.7.tar.gz mcrypt-2.6.8.tar.gz ncurses-5.9.tar.gz
[root@localhost ~]# ls /usr/local/src/ | wc -l
19
我們發(fā)現(xiàn),19 個(gè)軟件包全部傳遞到 Linux 服務(wù)器中。
安裝編譯工具
源碼包都是用 C 或 C++ 語言編寫的,而且需要在本機(jī)編譯之后才能正確安裝。在 Linux 中,C 語言的編譯器是 gcc,C++ 語言的編譯器是 gcc-c++。
在安裝源碼包之前,需要確認(rèn)這兩個(gè)編譯器是否存在。命令如下:
[root@localhost ~]# rpm -qa | grep gcc
libgcc-4.4.6-4.el6.i686
gcc-4.4.6-4.el6.i686
可以看到,我們已經(jīng)安裝了 gcc 編譯器,但是還沒有安裝 gcc-c++ 編譯器。使用 yum 安裝 gcc-c++ 編譯器,命令如下:
[root@localhost ~]# yum -y install gcc-c++
如果 Linux 服務(wù)器可以正常連接互聯(lián)網(wǎng),那么這條 yum 命令是可以直接使用的,不用進(jìn)行任何配置與修改。只是 yum 會(huì)去連接 CentOS 的官方服務(wù)器,這臺(tái)服務(wù)器在國外,速度可能較慢。如果 Linux 服務(wù)器不能正常連接互聯(lián)網(wǎng),則也可以使用本地光盤作為 yum 源。
安裝完成后再查詢一下,如下:
[root@localhost ~]# rpm -qa | grep gcc
gcc-4.4.7-3.el6.i686
libgcc-4.4.7-3.el6.i686
gcc-c++-4.4.7-3.el6.i686
gcc 和 gcc-c++ 編譯器都已經(jīng)安裝了。大家可能發(fā)現(xiàn)這次查詢的 gcc 是 4.4.7 版本,而上次查詢的 gcc 是 4.4.6 版本,那是因?yàn)楣P者使用網(wǎng)絡(luò) yum 源去 CentOS 的官方服務(wù)器上安裝 gcc-c++,但是在安裝 gcc-c++ 的時(shí)候,是需要 gcc 已經(jīng)安裝完成的。在 CentOS 的官方服務(wù)器上,gcc 和 gcc-c++ 的版本更高,所以在安裝 gcc-c++ 的時(shí)候,自動(dòng)更新了 gcc 的版本。不管怎么說,編譯工具已經(jīng)安裝完成,我們可以進(jìn)行下一步的準(zhǔn)備工作了。
關(guān)閉RPM包安裝的apache和mysql
我們?cè)谏a(chǎn)服務(wù)器上是不會(huì)既安裝 RPM 包的 apache,又安裝源碼包的 apache 的。但是為了教學(xué)需要,有時(shí)需要安裝這兩種包的 apache。我們現(xiàn)在需要停用 RPM包安裝的 apache 和 mysql,命令如下:
[root@localhost ~]# service httpd stop
[root@localhost ~]# service mysqld stop
#停止apache和mysql服務(wù)
[root@localhost ~]# chkconfig httpd off
[root@localhost ~]# chkconfig mysqld off
#關(guān)閉apache和mysql的自啟動(dòng)
關(guān)閉防火墻和SELinux
在生產(chǎn)服務(wù)器上,防火墻是不能直接關(guān)閉的,而是需要設(shè)置防火墻允許 80 端口(apache)、3306 端口(mysql)和 11211(memcache)端口訪問的。但是目前我們還沒有學(xué)習(xí)防火墻,所以只能暫時(shí)關(guān)閉它了。關(guān)閉命令如下:
[root@localhost ~]# setup
在圖 4 所示的界面中選擇“防火墻配置”,進(jìn)入防火墻配置界面。
圖 4 setup界面
在圖 5 所示的界面中,把“啟用”前面的“*”去掉,選擇“確定”保存,默認(rèn)防火墻規(guī)則就會(huì)被關(guān)閉。
圖 5 關(guān)閉防火墻
再查詢一下防火墻規(guī)則:
[root@localhost ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
#默認(rèn)filter表中的三條鏈中的規(guī)則都是空。防火墻已經(jīng)被關(guān)閉了
除關(guān)閉防火墻之外,我們還需要關(guān)閉 SELinux 安全子系統(tǒng)。因?yàn)檫@個(gè)子系統(tǒng)會(huì)對(duì)我們的安裝過程產(chǎn)生影響,所以先關(guān)閉它。關(guān)閉命令如下:
[root@localhost ~]# vi /etc/selinux/config
#把 SELINUX=enforcing改為 SELINUX=disabled
[root@localhost ~]# shutdown -r now
#重啟Linux系統(tǒng)
關(guān)閉 SELinux 之后,必須重啟 Linux 系統(tǒng),修改才會(huì)生效。
關(guān)閉不必要的服務(wù)
接下來需要關(guān)閉我們不需要的服務(wù),這既是服務(wù)器的必須優(yōu)化步驟,也會(huì)使我們?cè)?LAMP 環(huán)境搭建過程中的報(bào)錯(cuò)可能性大大降低,所以建議大家進(jìn)行這一步服務(wù)優(yōu)化。具體方法就是使用
ntsysv 命令把不需要的服務(wù)前面的“*”去掉,然后重啟 Linux 服務(wù)器。具體哪些服務(wù)是必須啟動(dòng)的,哪些服務(wù)是不必要的,大家可以參考《Linux常見服務(wù)類別及功能》。
批量解壓源碼包
我們需要安裝 17 個(gè)源碼包,如果一個(gè)一個(gè)地解壓縮實(shí)在太麻煩了,那么我們寫一個(gè)小的 Shell 腳本,批量進(jìn)行解壓縮。命令如下:
[root@localhost ~]# vi tar.sh
#建立解壓縮腳本
#! /bin/bash
#標(biāo)稱是 Shell腳本
cd /usr/local/src/
#進(jìn)入保存源媽包的目錄
ls *.tar.gz > /usr/local/src/ls.log
#把所有以.tar .gz結(jié)尾的文件名覆蓋寫入ls.log文件
ls *.tgz >> /usr/local/src/ls.log
#把所有以.tgz結(jié)尾的文件名追加寫入ls.log文件
file=$(cat /usr/local/src/ls.log)
#讀取 Is.log 文件中的內(nèi)容,賦子變量file
for i in $file
#for循環(huán),每次德環(huán)把變量file中的一個(gè)文件名
do
tar -zxf $i
#解壓縮毎個(gè)壓縮文件
done
rm -rf /usr/local/src/ls.log
#刪除臨時(shí)文件ls.log
#以上是腳本的內(nèi)容
[rootBlocalhost ~]# chmod 755 tar.sh
#賦予tar.sh文件執(zhí)行權(quán)限
[root@localhost ~]
./tar.sh
#執(zhí)行這個(gè)腳本
這樣,所有的壓縮包就已經(jīng)完成了解壓縮過程。
檢查硬盤的剩余空間
LAMP 環(huán)境搭建大概需要 3GB 的空閑空間,所以確認(rèn)一下硬盤的剩余空間,命令如下:
[root@localhost src]# df -h
文件系統(tǒng) 容量 已用 可用 已用%% 掛載點(diǎn)
/dev/sda3 20G 2.5G 16G 14% /
tmpfs 306M 0 306M 0% /dev/shm
/dev/sda1 194M 26M 158M 15% /boot
“/”分區(qū)還有16GB的可用空間,足夠使用了。
新聞名稱:LinuxLAMP環(huán)境搭建的前期準(zhǔn)備
轉(zhuǎn)載注明:http://fisionsoft.com.cn/article/djgpjgs.html


咨詢
建站咨詢
