国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Linux LAMP環境搭建的前期準備

2024-08-27 23:56:26
字體:
來源:轉載
供稿:網友
我們知道,如果我們安裝的是應用服務軟件,這個軟件是給外網用戶訪問和使用的,那么應該使用源碼包安裝,因為源碼包安裝的軟件經過了本機編譯,性能更好。所以我們的 LAMP 環境搭建,在生產服務器上一般采用源碼包進行安裝,而不會使用 RPM 包進行安裝,接下來我們要講的也是采用源碼包方式搭建 LAMP 環境。

LAMP 環境搭建是較為復雜的 linux 實驗,在進行真正的環境安裝之前,需要做一些細致的準備工作,以避免在安裝過程中出現不必要的錯誤。我們需要進行的準備工作有以下幾步。

獲取源碼包

我們已經知道 RPM 包是在 CentOS 的安裝光盤中保存的,但是源碼包需要去互聯網下載。我們此次完成 LAMP 環境搭建需要 19 個軟件包,這是目前較為完善和常用的 LAMP 環境搭建方式。這些軟件包的下載地址如表 1 所示。這些下載地址只是參考,如果有失效的,則請自行搜索。

表 1 LAMP 環境搭建所需的軟件包下載地址
軟件包說 明下載地址
httpd-2.4.7.tar.gzApache 包http://www.apache.org/
mysql-5.5.23.tar.gzMySQL數據庫http://dev.mysql.com/downloads/
php-5.4.25.tar.gzPHP語言http://m.survivalescaperooms.com/d/file/20190907/kjolr1yupqi.php
phpMyAdmin-4.1.4-all-languages.iar.gzWeb方式的MySQL管理工具http://m.survivalescaperooms.com/d/file/20190907/vlu04m0xeef
libXML2_2.9.1.tar.gz用來解析XML文檔的函數庫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數據壓縮函數庫http://www.zlib.net/
gd-2.0.35.tar.gzPHP處理用形的擴展庫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.gzApache支持鏌塊http://archive.apache.org/dist/apr/
apr-util-1.4.1.tar.gzApache支持模塊http://archive.apache.org/dist/apr/
pcre-8.34.tar.gzApache支持模塊,使Apache支持pcre正則表達式規則http://sourceforge.net/projects/pcre/files/pcre/8.34/pcre-8.34.tar.gz/stats/map
ncurses-5.9.tar.gz使應用程序直接控制終端屏幕顯示的函數庫http://ftp.gnu.org/pub/gnu/ncurses/
memcache-3.0.8.tgzmemcache函數庫(客戶端)http://pecl.php.net/package/memcache
memcached-1.4.17.tar.gzmemcached服務器端http://memcached.org/

大家可能已經發現,我們下載的軟件包不全是最新的版本,這主要是為了和 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 服務器。具體哪些服務是必須啟動的,哪些服務是不必要的,大家可以參考《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的可用空間,足夠使用了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 专栏| 普定县| 常熟市| 克什克腾旗| 遵义县| 莎车县| 台南县| 墨江| 苍溪县| 郯城县| 柏乡县| 陆丰市| 华阴市| 永胜县| 西和县| 闽侯县| 定兴县| 疏勒县| 霸州市| 台湾省| 海城市| 德安县| 兴山县| 册亨县| 马龙县| 邵东县| 襄城县| 盐城市| 文成县| 清水县| 泰安市| 凉城县| 志丹县| 崇明县| 米易县| 南木林县| 定襄县| 晋江市| 南岸区| 卢氏县| 巨鹿县|