LAMP介紹
LAMP具有通用、跨平台、高性能、低價格的優勢,是以LAMP無論是性能、品質還是價格都是企業搭建網站的首選平台
Apache 介紹
lApache是世界使用排名第一的Web伺服器軟體,它可以運作在幾乎所有廣泛使用的計算機平台上.
lApache web伺服器軟體擁有以下特性:
1.支援最新的HTTP/1.1通信協定
3.支援通用網關接口
4.支援基于IP和基于域名的虛拟主機
5.支援多種方式的HTTP認證
6.內建Perl處理子產品
7.內建代理伺服器子產品
8.支援實時監視伺服器狀态和定***務器日志
10.支援安全Socket層(SSL)
Mysql 資料庫
lMySQL是一個小型關系型資料庫管理系統,開發者為瑞典MySQL AB公司,在2008年1月16号被Sun公司收購,而2009年,SUN又被Oracle收購.對于Mysql的前途,任何人都抱有樂觀的态度.
l目前MySQL被廣泛地應用在Internet上的中小型網站中
l由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站資料庫
lMySQL的官方網站的網址是:www.mysql.com
MySQL的特性
l1.使用C和C++編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性
l2.支援AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種作業系統
l3.為多種程式設計語言提供了API。這些程式設計語言包括C、C++ Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等
l4.支援多線程,充分利用CPU資源
l5.優化的SQL查詢算法,有效地提高查詢速度
l6.提供用于管理、檢查、優化資料庫操作的管理工具
l7.可以處理擁有上千萬條記錄的大型資料庫
PHP介紹
lPHP:是英文超級文本預處理語言PHP HypertextPreprocessor的縮寫
lPHP 是一種 HTML 内嵌式的語言,是一種在伺服器端執行的嵌入HTML文檔的腳本語言,語言的風格有類似于C語言,被廣泛的運用
lPHP 獨特的文法混合了 C、Java、Perl 以及 PHP 自創新的文法,它可以比 CGI 或者 Perl 更快速的執行動态網頁。
lPHP具有非常強大的功能,所有的CGI的功能PHP都能實作,而且支援幾乎所有流行的資料庫以及作業系統
httpd伺服器安裝
一、rpm包
1.安裝
# yum -y installhttpd
2.相關的檔案
服務程式檔案:/usr/sbin/httpd
啟動腳本檔案:/etc/rc.d/init.d/httpd
主配置檔案:/etc/httpd/conf/httpd.conf
網頁釋出的目錄(預設):/var/www/html
p服務目錄:/etc/httpd/
p主配置檔案:/etc/httpd/conf/httpd.conf
p網頁目錄:/var/www/html/
p服務腳本:/etc/init.d/httpd
p執行程式:/usr/sbin/httpd
p通路日志:/var/log/httpd/access_log
p錯誤日志:/var/log/httpd/error_log
3.配置、啟動服務并測試
# vi/etc/httpd/conf/httpd.conf
ServerName192.168.32.128 #配置伺服器的名稱
DocumentRoot"/var/www/html" #設定預設的網頁服務目錄
<Directory/> #配置在Web伺服器上通路Linux的根目錄權限
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory"/var/www/html"> #配置Web伺服器上通路/var/www/html目錄的權限
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
啟動服務
# service httpdstart
測試網頁
在浏覽器中輸入:http://192.168.32.128
可以看到Apache的預設網頁
将做好的網頁及圖檔全都上傳到/var/www/html目錄下進行釋出網站。
二、最新源代碼安裝Apache
1.在官網下載下傳最新版的Apache源代碼包,解包
# tar xjfhttpd-2.4.6.tar.bz2
2.編譯前的配置
# ./configure--prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-cgi
configure:error: APR not found. Please read thedocumentation.
rewrite功能:
假設有這麼個網頁:http://www.example.com/test.php?id=5
這很容易使人看出執行了test.php這個程式,并且傳入的參數是id=5,為了避免别人看到這些資訊,采取rewite功能,使以上網頁變成類似以下的網址:
http://www.example.com/pageone_test.html
現在安裝最新版的apr
# ./configure--prefix=/usr/local/apr
# make&& make install
重新配置Apache
# ./configure--prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-cgi \
>--with-apr=/usr/local/apr
configure:error: APR-util not found. Please readthe documentation.
安裝最版的apr-util
# ./configure--prefix=/usr/local/apr-util --with-apr=/usr/local/apr
再次重新配置Apache
# ./configure--prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-cgi--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
configure:error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
安裝最新版的pcre
# ./configure--prefix=/usr/local/pcre
# ./configure--prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-cgi--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
編譯并安裝Apache
驗證安裝目錄
[root@StudyServerhttpd]# ls
bin build cgi-bin conf error htdocs icons include logs man manual modules
安裝目錄
/usr/local/httpd
程式目錄
/usr/local/bin
啟動腳本
/usr/local/httpd/bin/apachectl
服務程式
/usr/local/httpd/bin/httpd
主配置檔案
/usr/local/httpd/conf/httpd.conf
網頁目錄
/usr/local/httpd/htdocs
啟動服務并測試網頁
# service httpdstop #先停掉rpm包安裝的Apache服務
啟動之前先測試一下配置檔案的文法
# bin/apachectl-t
啟動
# bin/apachectlstart
在浏覽器位址欄裡輸入http://192.168.32.128/
l主配置檔案:/usr/local/httpd/conf/httpd.conf
l擴充配置目錄:/usr/local/httpd/conf/extra
l網站根目錄:/usr/local/httpd/htdocs
l服務腳本:/usr/local/httpd/bin/apachectl
l通路日志:/usr/local/httpd/logs/access_log
l錯誤日志:/usr/local/httpd/logs/error_log
最新版的Apache配置選項:
<Directory"/usr/local/httpd/htdocs">
Require all granted #等價于老版本的兩句:Orader allow,deny
equire allgranted #等價于老版本的兩句:
Oraderallow,deny
allow from all
主配置檔案常用參數
lServerRoot:工作目錄
lServerAdmin:apache管理者郵箱
lUser:運作服務使用者
lGroup:運作服務組群
lServerName:網站域名
lDocumentRoot:網頁根目錄
lListen:apache的監聽的IP位址和端口号
lPidFile:儲存httpd程序PID号的檔案
lDirectoryIndex:首頁檔案名稱
lErrorLog:錯誤日志檔案路徑
lCustomLog:通路日志檔案路徑
lTimeout:網絡連接配接逾時,預設為300秒
lKeepAlive:是否保持連接配接,可選On或Off
lMaxKeepAliveRequests:每次連接配接最多請求檔案數
lKeepAliveTimeout:保持連接配接狀态時的逾時時間
lInclude:需要包含進來的其他配置檔案
Apache虛拟主機
l虛拟主機,就是在一台裝有Apache的Web伺服器的上運作多個Web站點,每個站點都可以通過自己的域名位址進行通路.每個站點稱為一個虛拟主機
lApache支援不同類型的虛拟主機:
基于IP的虛拟主機
基于端口的虛拟主機
基于名稱的虛拟主機
基于IP和名稱的虛拟主機
基于IP:
l建立基于IP的虛拟主機需要為每個虛拟主機提供一個唯一有效的IP位址.
l是以,建立基于IP的虛拟主機,首先要在DNS配置檔案中添加一個Address記錄.
基于名稱:
l基于名稱的虛拟主機需要唯一的IP位址,但必須為每個主機建立一個規範的名稱CNAME.
配置基于IP的虛拟主機
l配置基于IP的虛拟主機,該web伺服器至少有兩個IP位址.
l我們的實驗中設定一個實體網卡上配置兩個IP位址。
1.配置虛拟網卡
1)若永久生效,需要設定配置檔案
# vi/etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=192.168.32.128
NETMASK=255.255.255.0
IPADDR1=192.168.32.140
NETMASK1=255.255.255.0
2)指令行臨時配置,立即生效
# ifconfig eth0:1 192.168.32.140 netmask255.255.255.0 up #直接生效
2.建立兩個目錄及建立各目錄的預設網頁檔案
# cd /usr/local/httpd/htdocs
# mkdir wdporacle
[root@StudyServerhtdocs]# vi oracle/index.html
[root@StudyServerhtdocs]# vi wdp/index.html
3.修改主配置檔案
<VirtualHost192.168.32.128>
DocumentRoot /usr/local/httpd/htdocs/oracle
ServerName www.oracle.com
</VirtualHost>
<VirtualHost192.168.32.140>
DocumentRoot /usr/local/httpd/htdocs/wdp
ServerName www.wdp.com
4.重新開機服務進行測試
# bin/apachectlrestart
在浏覽器位址欄中輸入:http://192.168.32.128/
輸出oracle.com
在浏覽器位址欄中輸入:http://192.168.32.140/
輸出wdp.com
基于不同端口的虛拟主機
1.在主配置檔案中
Listen 81
Listen 8080
兩個虛拟主機的配置項是:
<VirtualHost192.168.32.128:81>
<VirtualHost192.168.32.128:8080>
2.重新開機服務
3.測試
在浏覽器位址欄中輸入:http://192.168.32.128:81/
在浏覽器位址欄中輸入:http://192.168.32.128:8080/
Listen80 改回來
1.編輯主配置檔案
修改如下:
<VirtualHost*:80>
2.讓本地解析兩個域名
編輯C:\WINDOWS\system32\drivers\etc\hosts
192.168.32.128 www.oracle.com
192.168.32.128 www.wdp.com
3.重新開機服務
4.測試
在浏覽器位址欄中輸入:http://www.oracle.com/
在浏覽器位址欄中輸入:http://www.wdp.com/
MySQL和PHP
MySQL
l高性能、多線程、多使用者,建立在客戶/伺服器結構上關系型資料庫管理系統,始于1979年,起始名為UNIREG,1996年5月份由WIDENIUS開發出MYSQL最初版本,目前最新版本為7.2
l商業客戶可靈活的選擇多個版本,以滿足特殊的商業和技術需求:
MySQL标準版
MySQL企業版
MySQL叢集版`
Mysql安裝配置步驟
l檢查基本編譯環境、安裝開發庫環境
l建立mysql專用的使用者群組賬戶
l解壓并進入mysql源碼包
l定制編譯選項
l編譯和安裝
l拷貝配置檔案
l初始化mysql資料庫
l設定mysql和var目錄權限
l第一次啟動Mysql服務
l設定mysql為系統服務并能夠自動啟動
安裝MySQL,選用最新源代碼版的mysql-5.6.13.tar.gz
解包
# tar zxfmysql-5.6.13.tar.gz
先安裝cmake
# tar zxfcmake-2.8.12.tar.gz
# ./configure--prefix=/usr/local/cmake
#make &&make install
添加一個使用者mysql
# useradd -r -Mmysql
安裝前的配置
在mysql下
#/usr/local/cmake/bin/cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
>-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
編譯安裝
這裡會等很長時間
設定配置檔案
# cpsupport-files/my-default.cnf /etc/my.cnf
# vi /etc/my.cnf
basedir =/usr/local/mysql
datadir =/usr/local/mysql/data
port = 3306
server_id = 1000
socket =/tmp/mysql.sock
初始化資料庫
#/usr/local/mysql/scripts/mysql_install_db --user=mysql--collation-server=utf8_general_ci
修改/usr/local/mysql
# chown -Rmysql:mysql *
啟動MySQL服務
#bin/mysqld_safe --user=mysql &
登入MySQL
# bin/mysql
相關常用的SQL語句
顯示資料庫清單
mysql> showdatabases;
顯示表
mysql> showtables;
顯示表結構
mysql> descuser;
mysql> selectHost,User,Password from user;
mysql> deletefrom user where User = '';
mysql> updateuser set Password = password('123456') where User = 'root';
mysql> createdatabase if not exists mydb;
mysql> grantall privileges on mydb.* to lisidbuser@localhost identified by '1234' ;
mysql> flushprivileges;
# bin/mysql -ulisidbuser -p
PHP的安裝和使用
安裝JPEG插件
# tar zxfjpegsrc.v7.tar.gz
cd jpeg-7
# ./configure--prefix=/usr/local/jpeg7 --enable-shared --enable-static
安裝zlib
[root@StudyServerapp]# tar zxf zlib-1.2.8.tar.gz
[root@StudyServerapp]# cd zlib-1.2.8
[[email protected]]# ./configure --prefix=/usr/local/zlib
[[email protected]]# make && make install
安裝zlib開發包
# yum -y installzlib-devel
安裝libpng
tar zxflibpng-1.6.6.tar.gz
# cdlibpng-1.6.6
# ./configure--prefix=/usr/local/libpng --with-zlib-prefix=/usr/local/zlib
安裝字型庫引擎
# tar jxffreetype-2.4.7.tar.bz2
# cdfreetype-2.4.7
# ./configure--prefix=/usr/local/freetype
安裝GD庫
# tar zxflibgd-2.1.0.tar.gz
# cd libgd-2.1.0
# ./configure--prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg7--with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype
安裝PHP
# tar jxfphp-5.5.5.tar.bz2
# cd php-5.5.5
安裝依賴軟體
# yum -y installlibXpm-devel libxml2-devel
# ./configure--prefix=/usr/local/php5 \
>--with-apxs2=/usr/local/httpd/bin/apxs \
>--with-mysql=/usr/local/mysql \
>--with-libxml-dir=/usr/bin --with-gd=/usr/local/gd2 \
> --with-jpeg-dir=/usr/local/jpeg7\
>--with-png-dir=/usr/local/libpng \
>--with-freetype-dir=/usr/local/freetype \
>--enable-mbstring \
>--with-xpm-dir=/usr/lib64
編譯安裝PHP
配置PHP5
# cpphp.ini-production /usr/local/php5/php.ini
212 short_open_tag= Off 改為
212short_open_tag = On
修改Apache的主配置檔案
# vi/usr/local/httpd/conf/httpd.conf
找到這一句(這是安裝PHP時自動添加一項):
LoadModulephp5_module modules/libphp5.so
然後添加一項
AddTypeapplication/x-httpd-php .php #讓Apache在伺服器端解析PHP檔案
再添加一項:
DirectoryIndexindex.html index.php
寫個PHP的測試網頁
# vi test.php
<?php
phpinfo();
?>
然後測試
http://192.168.32.128/test.php 進行測試
壓縮包
本文轉自潘闊 51CTO部落格,原文連結:http://blog.51cto.com/pankuo/1383664,如需轉載請自行聯系原作者