天天看點

CentOS 6.4部署LAMP(多站點環境)

一、LAMP簡介

1.什麼是LAMP

LAMP是一種Web網絡應用和開發環境,是Linux,Apache,MySQL,Php/Perl的縮寫,每一個字母代表了一個元件,每個元件就其本身而言都是在它所代表的方面功能非常強大的元件。

LAMP這個詞的由來最早始于德國雜志“c'tMagazine”,MichaelKunze在1990年最先把這些項目組合在一起創造了LAMP的縮寫字。這些元件并不是開始就設計為一起使用的,但是,這些軟體都是開源的,可以很友善的随時獲得并免費使用,這就導緻了這些元件經常在一起使用。這些元件的相容性也在不斷完善,為了改善不同元件之間的協作,已經建立了某些擴充功能,在一起的應用情形變得非常普便,因而成為目前最流行的web應用基礎架構。

2.LAMP的元件

平台由四個元件組成,呈分層結構,每一層都提供了整個架構的一個關鍵部分:

Linux:Linux處在最底層,提供作業系統。它的靈活性和可定制化的特點意味着它能夠産生一種高度定制的平台,讓其它元件在上面運作。其它元件運作于Linux之上,但是并不一定局限于Linux,也可以在MicrosoftWindows,MacOSX或UNIX上運作。

Apache:Apache位于第二層,它是一個Web服務平台,提供可讓使用者獲得Web頁面的機制。Apache是一款功能強大、穩定、可支撐關鍵任務的Web伺服器,Internet上超過50%的網站都使用它作為Web伺服器。

MySQL:MySQL是最流行的開源關系資料庫管理系統,是LAMP的資料存儲端。在Web應用程式中,所有帳戶資訊、産品資訊、客戶資訊、業務資料和其他類型的資訊都存儲于資料庫中,通過SQL語言可以很容易地查詢這些資訊。

PHP/Perl:Perl是一種靈活的語言,特别是在處理文本要素的時候,這種靈活性使Perl很容易處理通過CGI接口提供的資料,靈活地運用文本檔案和簡單資料庫支援動态要素。PHP是一種被廣泛應用的開放源代碼的多用途腳本語言,它可嵌入到HTML中,尤其适合web開發。可以使用PHP編寫能通路MySQL資料庫中的資料和Linux提供的一些特性的動态内容。

二、系統環境

作業系統:CentOS6.464位

Ip位址:192.168.0.3

apache版本:httpd-2.4.6

mysql版本:mysql-5.5.10

php版本:php-5.5.5

三、安裝前的準備

1.安裝需要用到的工具

yum -y install wget  make gcc gcc-c++ zlib zlib-devel openssl openssl-devel gd freetype freetype-devel autoconf libjpeg libpng libpng-devel libxml2 curl libcurl libcurl-devel ncurses-devel      

2.下載下傳軟體

cd /usr/local/src/
wget http://www.cmake.org/files/v2.8/cmake-2.8.11.2.tar.gz
wget http://archive.apache.org/dist/apr/apr-1.4.8.tar.gz
wget http://archive.apache.org/dist/apr/apr-util-1.5.2.tar.gz
wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.33/pcre-8.33.tar.gz
wget http://download.oracle.com/otn-pub/java/jdk/7u45-b18/jdk-7u45-linux-x64.tar.gz
wget http://mirror.esocc.com/apache//httpd/httpd-2.4.6.tar.gz
wget http://downloads.skysql.com/archives/mysql-5.5/mysql-5.5.10.tar.gz
wget http://us1.php.net/get/php-5.5.5.tar.gz/from/cn2.php.net/mirror      

四、安裝jdk、apache、mysql、php

1.安裝jdk

rpm -qa |grep java   #檢視已安裝的jdk包
rpm -e --nodeps <包的名字>   #解除安裝已安裝的jdk
tar -zxvf jdk-7u45-linux-x64.tar.gz
mv jdk 1.7.0_45 /usr/local/jdk
vi ~/.bash_profile      

添加下面兩行

export JAVA_HOME=/usr/local/jdk
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar      

将下面行

PATH=$PATH:$HOME/bin      

修改為

PATH=$JAVA_HOME/bin:$PATH:$HOME/bin      

注:把新安裝的jdk的bin目錄添加在$PATH的前面,這樣當系統中有多個jdk版本時,會優先搜尋排在前面的jdk版本。

source ~/.bash_profile
java -version   # 檢視java的版本      

2.安裝mysql

(1)安裝cmake

tar -zxvf cmake-2.8.11.2.tar.gz
cd cmake-2.8.11.2
./configure
make
make install      

(2)安裝mysql

cd ..
tar -zxvf mysql-5.5.10.tar.gz
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_USER=mysql -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EMBEDDED_SERVER=1 -DWITH_SSL=system
make
make install
groupadd mysql
useradd -g mysql mysql
vi /etc/passwd    #修改passwd檔案禁止mysql登陸      

找到以下行将/bin/bash改為/sbin/nologin

mysql:x:498:500::/home/mysql:/sbin/nologin      
cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chmod 755 /etc/init.d/mysql
chown -R mysql.mysql /usr/local/mysql/data
vi /etc/my.cnf      

在[mysqld]下面加入以下兩行,否則會出問題

basedir = /usr/local/mysql
datadir = /usr/local/mysql/data      

啟動mysql

/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &
/usr/local/mysql/bin/mysqladmin -u root -h localhost password '密碼'      

登陸mysql測試

mysql -u root -p      

輸入密碼:

exit      

将mysql加入系統服務

chkconfig --add mysql
chkconfig mysql on
service mysql stop
service mysql start      

3.安裝apache

(1)解除安裝相關的工具

yum remove apr-util-devel apr apr-util-mysql apr-docs apr-devel apr-util apr-util-docs      

(2)安裝apr

cd /usr/local/src
tar -zxvf apr-1.4.8.tar.gz
cd apr-1.4.8
./configure --prefix=/usr/local/apr
make
make install      

(2)安裝apr-util

cd ..
tar -zxvf apr-util-1.5.2.tar.gz
cd apr-util-1.5.2
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make
make install      

(3)安裝pcre

cd ..
tar -zxvf pcre-8.33.tar.gz
cd pcre-8.33
./configure --prefix=/usr/local/pcre
make
make install      

(4)安裝apache

cd ..
tar -zxvf httpd-2.4.6.tar.gz
cd httpd-2.4.6
./configure --prefix=/usr/local/apache --enable-module=so --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --with-libxml2
make
make install      

4.安裝php

cd ..
tar -zxvf php-5.5.5.tar.gz
cd php-5.5.5
./configure --prefix=/usr/local/php --enable-fpm --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/lib --with-curl --with-gd --enable-mbstring --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --enable-gd-native-ttf --enable-sockets --with-jpeg-dir --with-png-dir --with-freetype-dir --with-zlib --with-openssl --with-libxml-dir --enable-ftp      

#注:/usr/local/lib為php配置檔案的目錄,可自定義

make
make install
cp php.ini-production /usr/local/lib/php.ini      

五、配置apache

vi /usr/local/apache/conf/httpd.conf      
Listen 80
Listen 8080   #增加8080端口,可增加多個端口
ServerName www.example.com:80    #去掉前面的#号
DirectoryIndex index.html index.htm default.htm default.html index.php index.php3 index.jsp
Include conf/extra/httpd-vhosts.conf   #去掉前面的#号
#增加以下兩行
AddType application/x-httpd-php .php .phtml .php3 .inc
AddType application/x-httpd-php-source .phps      
vi /usr/local/apache/conf/extra/httpd-vhosts.conf      

#按如下配置修改,建立兩個虛拟站點,可建立多個站點

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/usr/local/apache/htdocs/codexky"
ServerName www.codexky.com
ServerAlias www.codexky.com
ErrorLog "logs/www.codexky.com-error_log"
CustomLog "logs/www.codexky.com-access_log" common
</VirtualHost>
<VirtualHost *:8080>
ServerAdmin [email protected]
DocumentRoot "/usr/local/apache/htdocs/mycode"
ServerName localhost:8080
ServerAlias mycode
ErrorLog "logs/mycode-error_log"
CustomLog "logs/mycode-access_log" common
</VirtualHost>      

#建立兩個站點目錄

mkdir /usr/local/apache/htdocs/codexky
mkdir /usr/local/apache/htdocs/mycode
/usr/local/apache/bin/apachectl start   #啟動apache      

#修改防火牆配置

vi /etc/sysconfig/iptables      

#加入已經兩條規則

-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT      
service iptables restart      

六、測試

1.建立php測試頁

vi /usr/local/apache/htdocs/codexky/test.php
vi /usr/local/apache/htdocs/mycode/test.php      

#分别建立兩個站點的測試頁,内容如下

<?php
phpinfo();
?>      

2.測試

打開浏覽器輸入http://192.168.0.3/test.php和http://192.168.0.3:8080/test.php,看到如下頁面則表示OK。

192.168.0.3 www.codexky.com      

繼續閱讀