新聞中心

在連云等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作定制設(shè)計,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營銷推廣,外貿(mào)網(wǎng)站建設(shè),連云網(wǎng)站建設(shè)費用合理。
LAMP 環(huán)境搭建是較為復(fù)雜的 linux 實驗,在進行真正的環(huán)境安裝之前,需要做一些細致的準備工作,以避免在安裝過程中出現(xiàn)不必要的錯誤。我們需要進行的準備工作有以下幾步。
獲取源碼包
我們已經(jīng)知道 RPM 包是在 CentOS 的安裝光盤中保存的,但是源碼包需要去互聯(lián)網(wǎng)下載。我們此次完成 LAMP 環(huán)境搭建需要 19 個軟件包,這是目前較為完善和常用的 LAMP 環(huán)境搭建方式。這些軟件包的下載地址如表 1 所示。這些下載地址只是參考,如果有失效的,則請自行搜索。
| 軟件包 | 說 明 | 下載地址 |
|---|---|---|
| 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 | 加密算法擴展庫 | http://prdownloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz?use_mirror=peterhost |
| mhash-0.9.9.9.tar.gz | 加密算法擴展庫 | http://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/ |
| mcrypt-2-6.8-tar.gz | 加密算法擴展庫 | 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處理用形的擴展庫 | 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正則表達式規(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 這個軟件包進行匹配。當然,php-5.4.25.tar.gz 也已經(jīng)不是最新版本的 PHP 了,不過在計算機領(lǐng)域永遠不是最新版本的軟件就是最好的,新軟件雖然有了更多的功能,但是這個軟件并沒有經(jīng)過實際工作的檢驗,它不一定穩(wěn)定,也有可能會有 Bug;反而版本較低的、但是經(jīng)過足夠的實踐檢驗的軟件會更受開發(fā)者的歡迎。
Linux 就是這樣的,CentOS 6.x 自 2011 年發(fā)布以來,經(jīng)過多年的補充和完善,目前才逐漸得到個人使用者和企業(yè)使用者的認可。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ù)器來進行數(shù)據(jù)的傳輸。但是我們現(xiàn)在還沒有學(xué)習(xí) Linux 中的文件服務(wù)器(如 FTP、Samba 或 NFS),所以我們在這里介紹一款名為 WinSCP 的軟件。
WinSCP 是在 Windows 中安裝,使用 SFTP 協(xié)議向 Linux 服務(wù)器傳遞文件的工具。它的特點是使用簡單、圖形化操作,而且數(shù)據(jù)傳遞過程是加密的,較為安全,是 Windows 和 Linux 之間進行數(shù)據(jù)傳遞的常用軟件。WinSCP 第一次啟動的界面如圖 2 所示。
圖 2 WinSCP啟動界面
在啟動界面的“主機名”文本框中輸入 Linux 服務(wù)器的 IP 地址,如 192.168.0.210,在“用戶名”文本框中輸入 Linux 的用戶名,在“密碼”文本框中輸入正確的密碼,單擊“登錄”按鈕,就會見到如圖 3 所示的界面。
圖 3 WinSCP傳輸界面
在這個工具中,左半部分是 Windows 系統(tǒng)中的文件,右半部分是 Linux 服務(wù)器上的文件。如果需要從 Windows 向 Linux 傳遞什么文件,則只需找到這個文件或目錄,從左半部分拖拽到右半部分即可;反過來就是從 Linux 傳遞文件到 Windows 中,非常簡單。
那么,我們應(yīng)該把軟件放置在 Linux 服務(wù)器的什么位置呢?Linux 中的 /usr/local/src/ 目錄是系統(tǒng)默認的放置下載軟件源代碼的位置,所以我們就把搭建 LAMP 環(huán)境所需的所有軟件包都傳遞到這個位置,傳遞完成后查看一下,如下:
[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 個軟件包全部傳遞到 Linux 服務(wù)器中。
安裝編譯工具
源碼包都是用 C 或 C++ 語言編寫的,而且需要在本機編譯之后才能正確安裝。在 Linux 中,C 語言的編譯器是 gcc,C++ 語言的編譯器是 gcc-c++。
在安裝源碼包之前,需要確認這兩個編譯器是否存在。命令如下:
[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 命令是可以直接使用的,不用進行任何配置與修改。只是 yum 會去連接 CentOS 的官方服務(wù)器,這臺服務(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 版本,那是因為筆者使用網(wǎng)絡(luò) yum 源去 CentOS 的官方服務(wù)器上安裝 gcc-c++,但是在安裝 gcc-c++ 的時候,是需要 gcc 已經(jīng)安裝完成的。在 CentOS 的官方服務(wù)器上,gcc 和 gcc-c++ 的版本更高,所以在安裝 gcc-c++ 的時候,自動更新了 gcc 的版本。不管怎么說,編譯工具已經(jīng)安裝完成,我們可以進行下一步的準備工作了。
關(guān)閉RPM包安裝的apache和mysql
我們在生產(chǎn)服務(wù)器上是不會既安裝 RPM 包的 apache,又安裝源碼包的 apache 的。但是為了教學(xué)需要,有時需要安裝這兩種包的 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的自啟動
關(guān)閉防火墻和SELinux
在生產(chǎn)服務(wù)器上,防火墻是不能直接關(guān)閉的,而是需要設(shè)置防火墻允許 80 端口(apache)、3306 端口(mysql)和 11211(memcache)端口訪問的。但是目前我們還沒有學(xué)習(xí)防火墻,所以只能暫時關(guān)閉它了。關(guān)閉命令如下:
[root@localhost ~]# setup
在圖 4 所示的界面中選擇“防火墻配置”,進入防火墻配置界面。
圖 4 setup界面
在圖 5 所示的界面中,把“啟用”前面的“*”去掉,選擇“確定”保存,默認防火墻規(guī)則就會被關(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
#默認filter表中的三條鏈中的規(guī)則都是空。防火墻已經(jīng)被關(guān)閉了
除關(guān)閉防火墻之外,我們還需要關(guān)閉 SELinux 安全子系統(tǒng)。因為這個子系統(tǒng)會對我們的安裝過程產(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),修改才會生效。
關(guān)閉不必要的服務(wù)
接下來需要關(guān)閉我們不需要的服務(wù),這既是服務(wù)器的必須優(yōu)化步驟,也會使我們在 LAMP 環(huán)境搭建過程中的報錯可能性大大降低,所以建議大家進行這一步服務(wù)優(yōu)化。具體方法就是使用
ntsysv 命令把不需要的服務(wù)前面的“*”去掉,然后重啟 Linux 服務(wù)器。具體哪些服務(wù)是必須啟動的,哪些服務(wù)是不必要的,大家可以參考《Linux常見服務(wù)類別及功能》。
批量解壓源碼包
我們需要安裝 17 個源碼包,如果一個一個地解壓縮實在太麻煩了,那么我們寫一個小的 Shell 腳本,批量進行解壓縮。命令如下:
[root@localhost ~]# vi tar.sh
#建立解壓縮腳本
#! /bin/bash
#標稱是 Shell腳本
cd /usr/local/src/
#進入保存源媽包的目錄
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中的一個文件名
do
tar -zxf $i
#解壓縮毎個壓縮文件
done
rm -rf /usr/local/src/ls.log
#刪除臨時文件ls.log
#以上是腳本的內(nèi)容
[rootBlocalhost ~]# chmod 755 tar.sh
#賦予tar.sh文件執(zhí)行權(quán)限
[root@localhost ~]
./tar.sh
#執(zhí)行這個腳本
這樣,所有的壓縮包就已經(jīng)完成了解壓縮過程。
檢查硬盤的剩余空間
LAMP 環(huán)境搭建大概需要 3GB 的空閑空間,所以確認一下硬盤的剩余空間,命令如下:
[root@localhost src]# df -h
文件系統(tǒng) 容量 已用 可用 已用%% 掛載點
/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)境搭建的前期準備
本文路徑:http://www.dlmjj.cn/article/djgpjgs.html


咨詢
建站咨詢
