17.1 Linux LAMP環境搭建的前期準備
我們知道,如果我們安裝的是應用服務軟件,這個軟件是給外網用戶訪問和使用的,那么應該使用源碼包安裝,因為源碼包安裝的軟件經過了本機編譯,性能更好。所以我們的 LAMP 環境搭建,在生產服務器上一般采用源碼包進行安裝,而不會使用 RPM 包進行安裝,接下來我們要講的也是采用源碼包方式搭建 LAMP 環境。
LAMP 環境搭建是較為復雜的 Linux 實驗,在進行真正的環境安裝之前,需要做一些細致的準備工作,以避免在安裝過程中出現不必要的錯誤。我們需要進行的準備工作有以下幾步。
獲取源碼包
我們已經知道 RPM 包是在 CentOS 的安裝光盤中保存的,但是源碼包需要去互聯網下載。我們此次完成 LAMP 環境搭建需要 19 個軟件包,這是目前較為完善和常用的 LAMP 環境搭建方式。這些軟件包的-如表 1 所示。這些-只是參考,如果有失效的,則請自行搜索。
大家可能已經發現,我們下載的軟件包不全是最新的版本,這主要是為了和 php-5.4.25.tar.gz 這個軟件包進行匹配。當然,php-5.4.25.tar.gz 也已經不是最新版本的 PHP 了,不過在計算機領域永遠不是最新版本的軟件就是最好的,新軟件雖然有了更多的功能,但是這個軟件并沒有經過實際工作的檢驗,它不一定穩定,也有可能會有 Bug;反而版本較低的、但是經過足夠的實踐檢驗的軟件會更受開發者的歡迎。
Linux 就是這樣的,CentOS 6.x 自 2011 年發布以來,經過多年的補充和完善,目前才逐漸得到個人使用者和企業使用者的認可。PHP 同樣如此,目前 php-5.4.25.tar.gz 依然是使用最多的 PHP 版本,所以我們依然使用 php-5.4.25.tar.gz 來介紹 LAMP 環境的搭建。
把軟件包傳送到linux服務器上
我們可以直接把軟件包下載到 Linux 服務器上,也可以先下載到本地 Windows 中,再上傳到 Linux 服務器中。如果是先下載到本地 Windows 中,再上傳到 Linux 服務器中,那么需要利用網絡文件服務器來進行數據的傳輸。但是我們現在還沒有學習 Linux 中的文件服務器(如 FTP、Samba 或 NFS),所以我們在這里介紹一款名為 WinSCP 的軟件。
WinSCP 是在 Windows 中安裝,使用 SFTP 協議向 Linux 服務器傳遞文件的工具。它的特點是使用簡單、圖形化操作,而且數據傳遞過程是加密的,較為安全,是 Windows 和 Linux 之間進行數據傳遞的常用軟件。WinSCP 第一次啟動的界面如圖 2 所示。
圖 2 WinSCP啟動界面
在啟動界面的“主機名”文本框中輸入 Linux 服務器的 IP 地址,如 192.168.0.210,在“用戶名”文本框中輸入 Linux 的用戶名,在“密碼”文本框中輸入正確的密碼,單擊“登錄”按鈕,就會見到如圖 3 所示的界面。
圖 3 WinSCP傳輸界面
在這個工具中,左半部分是 Windows 系統中的文件,右半部分是 Linux 服務器上的文件。如果需要從 Windows 向 Linux 傳遞什么文件,則只需找到這個文件或目錄,從左半部分拖拽到右半部分即可;反過來就是從 Linux 傳遞文件到 Windows 中,非常簡單。
那么,我們應該把軟件放置在 Linux 服務器的什么位置呢?Linux 中的 /usr/local/src/ 目錄是系統默認的放置下載軟件源代碼的位置,所以我們就把搭建 LAMP 環境所需的所有軟件包都傳遞到這個位置,傳遞完成后查看一下,如下:
[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
我們發現,19 個軟件包全部傳遞到 Linux 服務器中。
安裝編譯工具
源碼包都是用 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
可以看到,我們已經安裝了 gcc 編譯器,但是還沒有安裝 gcc-c++ 編譯器。使用 yum 安裝 gcc-c++ 編譯器,命令如下:
[root@localhost ~]# yum -y install gcc-c++
如果 Linux 服務器可以正常連接互聯網,那么這條 yum 命令是可以直接使用的,不用進行任何配置與修改。只是 yum 會去連接 CentOS 的官方服務器,這臺服務器在國外,速度可能較慢。如果 Linux 服務器不能正常連接互聯網,則也可以使用本地光盤作為 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++ 編譯器都已經安裝了。大家可能發現這次查詢的 gcc 是 4.4.7 版本,而上次查詢的 gcc 是 4.4.6 版本,那是因為筆者使用網絡 yum 源去 CentOS 的官方服務器上安裝 gcc-c++,但是在安裝 gcc-c++ 的時候,是需要 gcc 已經安裝完成的。在 CentOS 的官方服務器上,gcc 和 gcc-c++ 的版本更高,所以在安裝 gcc-c++ 的時候,自動更新了 gcc 的版本。不管怎么說,編譯工具已經安裝完成,我們可以進行下一步的準備工作了。
關閉RPM包安裝的apache和mysql
我們在生產服務器上是不會既安裝 RPM 包的 apache,又安裝源碼包的 apache 的。但是為了教學需要,有時需要安裝這兩種包的 apache。我們現在需要停用 RPM包安裝的 apache 和 mysql,命令如下:
[root@localhost ~]# service httpd stop [root@localhost ~]# service mysqld stop \#停止apache和mysql服務 [root@localhost ~]# chkconfig httpd off [root@localhost ~]# chkconfig mysqld off \#關閉apache和mysql的自啟動
關閉防火墻和SELinux
在生產服務器上,防火墻是不能直接關閉的,而是需要設置防火墻允許 80 端口(apache)、3306 端口(mysql)和 11211(memcache)端口訪問的。但是目前我們還沒有學習防火墻,所以只能暫時關閉它了。關閉命令如下:
[root@localhost ~]# setup
在圖 4 所示的界面中選擇“防火墻配置”,進入防火墻配置界面。
圖 4 setup界面
在圖 5 所示的界面中,把“啟用”前面的“*”去掉,選擇“確定”保存,默認防火墻規則就會被關閉。
圖 5 關閉防火墻
再查詢一下防火墻規則:
[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表中的三條鏈中的規則都是空。防火墻已經被關閉了
除關閉防火墻之外,我們還需要關閉 SELinux 安全子系統。因為這個子系統會對我們的安裝過程產生影響,所以先關閉它。關閉命令如下:
[root@localhost ~]# vi /etc/selinux/config \#把 SELINUX=enforcing改為 SELINUX=disabled [root@localhost ~]# shutdown -r now \#重啟Linux系統
關閉 SELinux 之后,必須重啟 Linux 系統,修改才會生效。
關閉不必要的服務
接下來需要關閉我們不需要的服務,這既是服務器的必須優化步驟,也會使我們在 LAMP 環境搭建過程中的報錯可能性大大降低,所以建議大家進行這一步服務優化。具體方法就是使用 ntsysv 命令把不需要的服務前面的“*”去掉,然后重啟 Linux 服務器。
批量解壓源碼包
我們需要安裝 17 個源碼包,如果一個一個地解壓縮實在太麻煩了,那么我們寫一個小的 Shell 腳本,批量進行解壓縮。命令如下:
[root@localhost ~]# vi tar.sh \#建立解壓縮腳本 \#! /bin/bash \#標稱是 Shell腳本 cd /usr/local/src/ \#進入保存源媽包的目錄 ls *.tar.gz > /usr/local/src/ls.log \#把所有以.tar .gz結尾的文件名覆蓋寫入ls.log文件 ls *.tgz >> /usr/local/src/ls.log \#把所有以.tgz結尾的文件名追加寫入ls.log文件 file=$(cat /usr/local/src/ls.log) \#讀取 Is.log 文件中的內容,賦子變量file for i in $file \#for循環,每次德環把變量file中的一個文件名 do tar -zxf $i \#解壓縮毎個壓縮文件 done rm -rf /usr/local/src/ls.log \#刪除臨時文件ls.log \#以上是腳本的內容 [rootBlocalhost ~]# chmod 755 tar.sh \#賦予tar.sh文件執行權限 [root@localhost ~] ./tar.sh \#執行這個腳本
這樣,所有的壓縮包就已經完成了解壓縮過程。
檢查硬盤的剩余空間
LAMP 環境搭建大概需要 3GB 的空閑空間,所以確認一下硬盤的剩余空間,命令如下:
[root@localhost src]# df -h 文件系統 容量 已用 可用 已用%% 掛載點 /dev/sda3 20G 2.5G 16G 14% / tmpfs 306M 0 306M 0% /dev/shm /dev/sda1 194M 26M 158M 15% /boot “/”分區還有16GB的可用空間,足夠使用了。
LAMP Linux
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。