LAMP架構淺析

                                        LAMP架構淺析

 

一、LAMP簡介 

Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一組常用來搭建動態網站或者服務器的開源軟件,本身都是各自獨立的程序,但是因爲常被放在一起使用,擁有了越來越高的兼容度,共同組成了一個強大的Web應用程序平臺。LAMP具有Web資源豐富、輕量、快速開發等特點,微軟的.NET架構相比,LAMP具有通用、跨平臺、高性能、低價格的 優勢,因此LAMP無論是性能、質量還是價格都是企業搭建網站的首選平臺。

二、本實驗目的

通過簡單編譯安裝可實現各服務器互相連接,從而對lamp有更清晰的認識。

三、實驗環境

Apache-2.4.9(ip 172.16.100.86),php-5.4.26(ip 172.16.100.86),Mariadb-5.5.36(ip172.16.100.91)。在此處Apache和php(php在次作爲一模塊存在)安裝到同一個虛擬機上,Mariadb單獨一個。

四、編譯安裝Apache2.4.9

httpd-2.4.9需要較新版本的apr和apr-util,因此需要事先對其進行升級。升級方式有兩種,一種是通過源代碼編譯安裝,一種是直接升級rpm包。裝之前還需裝載pcre和開發包組。這裏選擇使用編譯源代碼的方式進行,可執行#lftp://172.16.0.1。找到apr-1.5.0.tar.bz2,apr-util-1.5.3.tar.bz2,httpd-2.4.9.tar.bz2。並下載下來。

    (1) 編譯安裝apr

# tar xf apr-1.5.0.tar.bz2

# cd apr-1.5.0

# ./configure --prefix=/usr/local/apr

# make && make install

   (2) 如若沒問題即編譯安裝apr-util

# tar xf apr-util-1.5.3.tar.bz2

# cd apr-util-1.5.3

# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

# make && make install

  (3)編譯安裝httpd-2.4.9

首先下載httpd-2.4.9到本地,下載路徑爲ftp://172.16.0.1/pub/Sources/new_lamp。而後執行如下命令進行編譯安裝過程:

# tar xf httpd-2.4.9.tar.bz2

# cd httpd-2.4.9

# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event

# make && make install

   (4)修改httpd的主配置文件,設置其Pid文件的路徑

編輯/etc/httpd24/httpd.conf,需添加如下行:PidFile  "/var/run/httpd.pid"

wKiom1Pri7fifdwxAAAMAbVFAuE406.png 

添加情況如下

wKioL1PrjNDgAGiWAAAI8QgNq3Y344.png 

  (5)提供SysV服務腳本/etc/rc.d/init.d/httpd。而後爲此腳本賦予執行權限:# chmod +x /etc/rc.d/init.d/httpd,並加入服務列表:# chkconfig --add httpd

五、 編譯安裝Mariadb-5.5.36

(1)確保沒有rpm包安裝的mysql,

執行#lftp172.16.0.1

>cd /pub/Sources/6.x86_64/mariadb/

>get mariadb-5.5.36.tar.bz2

下載完成之後先不要忙着裝載,要明白數據對於企業來說很重要。因此需要使用專門存儲數據的盤,數據如果越來越大也是個問題那麼把數據放到邏輯卷中最好了。

(2)創建邏輯卷

#fdisk /dev/sda 點p查看磁盤分區,n新建,如果新建第三個且給+15G大小,而後點t ,3,8e,w保存退出。

#partx -a /dev/sda

#kpartx -af /dev/sda

#cat /proc/partition

接下來創建邏輯卷

#pvcreate /dev/sda3

#vgcreate  myvg /dev/sda3

#lvcreate -L 5G -n mydata myvg

#mke2fs -t ext4 -L MYDATA -b 2048 -m 3 /dev/myvg/mydata //格式化完成

#mkdir /mydata

#vim /etc/fstab

wKiom1Pri7iCsrW-AAAdbmYG-XQ032.png 

#mount -a

#mkdir /mydata/data

#groupadd -r mysql

#useradd -g mysql -r mysql

#id mysql  

#chown -R mysql:mysql /mydata/data

#cd /usr/local

#ln -sv mariada[tab] mysql

#cd /usr/local/mysql

#ll    //查看屬組情況

#chown -R root:mysql ./

在support -files目錄下有很多樣例文件需要先創建目錄#mkdir /etc/mysql而後可以執行#cp support -files/my-large.conf /etc/mysql/my.cnf 接下來就可以在#vim /etc/mysql/my.cnf 裏面添加datadir=/mydata/data 指定路徑

下面就要初始化數據庫,切到mysql目錄下

# scripts/mysql_install_db  --user=mysql --datadir=/mydata/data

而後啓動服務

#cp support -files/mysql.server /etc/rc.d/init.d/mysqld

#chkconfig --add mysqld

#chkconfig --list mysqld

還要在#vim /etc/profile.d/mysql.sh 中添加 export PATH=/usr/local/mysql/bin:$PATH

#source /etc/profice,d/mysql.sh    可運行。

六、編譯安裝php-5.4.26

   (1)先執行

# yum -y groupinstall Desktop Platform Development

# yum -y install bzip2-devel libmcrypt-devel

   (2)編譯安裝php-5.4.26

首先,#lftp://172.16.0.1找到資源下載

# tar xf php-5.4.26.tar.bz2

# cd php-5.4.26

# ./configure --prefix=/usr/local/php --with-mysql=mysqlnd --with-openssl --with-mysqli=mysqlnd --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

make && make intall

# cp php.ini-production /etc/php.ini  //爲php提供配置文件

    (3)編輯apache配置文件httpd.conf,以apache支持php

 # vim /etc/httpd/httpd.conf

wKiom1Pri7jhoRbJAAAZQLdCGVc228.png 

    定位至DirectoryIndex index.html 

wKioL1PrjNHRnJtTAAARaYmNEa8556.png 

而後重新啓動httpd,或讓其重新載入配置文件即可測試php是否已經可以正常使用。

    (4)測試頁面index.php示例如下:

    <?php

      $link = mysql_connect('172.16.100.91','root','chyu');

      if ($link)

        echo "Success...";

      else

        echo "Failure...";

      mysql_close();

      phpinfo();

?>

(5)使用瀏覽器測試結果如下:

wKioL1PrjNOybxYFAAC903xwHh0513.png 

 

 

 

   

 

 

    

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章