1. 程式人生 > >PHP01 LAMP網站構建

PHP01 LAMP網站構建

電子郵件 線程 中文 進化 其他 企業 原理 廣泛 引擎

學習要點

  • 什麽是web?
  • 開發動態網站所需的web構件?
  • 幾種主流web應用程序平臺?
  • HTTP協議與web的關系?
  • Web的工作原理?
  • LAMP網站開發組合概述?
  • 如何學習PHP?

什麽是Web?

1 網頁構成網站,網站即Web軟件,屬於B/S架構軟件。

  • Web架構系統特點

圖形化:文本、圖片、多媒體

與平臺無關

分布式:信息存儲分布式

動態的:信息提供者確保信息動態即使更新

交互的:通過超鏈接和表單與用戶進行交互

  • Web應用系統優勢

基於瀏覽器,具有統一平臺和UI體驗

無需安裝,只要有瀏覽器,隨時隨地可以使用

總是保持最新版本,無需升級

數據存儲在雲端,基本無需擔心丟失

新一代web技術提供了更好的用戶體驗

2 web進化簡史

  • web 1.0 信息廣播。
  • web 2.0 信息交互。典型產品:博客,QQ空間等。
  • web 5.0 移動互聯網,手機和pad移動設備訪問互聯網成為主流。

3 web開發標準

web1.0和web2.0時代,ie+adobe flash player,html,xhtml1.0,xhtml2.0

移動互聯網時代(Apple、Mozila,Opera),HTML5標準

動態網站開發所需的Web構件

  • 動態網站開發是多種技術綜合應用,每種技術功能各自獨立又相互配合,所以我們需要掌握以下web構件技術:

客戶端瀏覽器:IE,FireFox,Safari

超文本標記語言:HTML

層疊樣式表:CSS

客戶端腳本編程語言:JavaScript

Web服務器:Apache,Nginx,TomCat,IIS

服務器端編程語言:PHP,JSP,ASP

數據庫管理系統:MySQL,Oracle,SQL Server

幾種主流的web應用程序平臺

性能比較

LAMP

JavaEE

ASP.NET

運行速度

較快

一般

開發速度

非常快

一般

運行損耗

一般

較小

較大

難易程度

簡單

簡單

運行平臺

Linux/Unix/Windows

絕大多數平臺

僅Windows平臺

HTTP協議與web的關系

1 HTTP協議

HTTP規範1.0和1.1定義了HTTP消息格式。HTTP報文由從客戶機到服務器的請求和從服務器到客戶機的相應構成,所以HTTP消息分為請求消息和響應消息兩類。

技術分享圖片

2 瀏覽器查看HTTP請求消息和響應消息

技術分享圖片

3 URL概述

Uniform resource Locator,統一資源定位符

格式:

http://<IP地址>/[端口號]/路徑/[?<查詢信息>]

例如:

http://www.imcore.cn/book/index.html

http:超文本傳輸協議。FTP,telnet

www:代表一臺web服務器

imcore.cn:服務器域名

book:站點上的目錄

index.html:book文件夾中的一個HTML文件,即網頁。

Web的工作原理

1 服務器不帶應用程序服務器和數據庫

技術分享圖片

2 帶應用程序服務器的web服務器

技術分享圖片

3 帶應用程序服務器以及數據庫的web服務器

技術分享圖片

LAMP網站開發組合概述

1 Linux操作系統

技術分享圖片

Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟件、應用程序和網絡協議。它支持32位和64位硬件。Linux繼承了Unix以網絡為核心的設計思想,是一個性能穩定的多用戶網絡操作系統。

Linux操作系統誕生於1991 年10 月5 日(這是第一次正式向外公布時間)。Linux存在著許多不同的Linux版本,但它們都使用了Linux內核。Linux可安裝在各種計算機硬件設備中,比如手機、平板電腦、路由器、視頻遊戲控制臺、臺式計算機、大型機和超級計算機。

嚴格來講,Linux這個詞本身只表示Linux內核,但實際上人們已經習慣了用Linux來形容整個基於Linux內核,並且使用GNU 工程各種工具和數據庫的操作系統。

2 Apache服務器和Nginx服務器

Apache是世界使用排名第一的Web服務器軟件。它可以運行在幾乎所有廣泛使用的計算機平臺上,由於其跨平臺和安全性被廣泛使用,是最流行的Web服務器端軟件之一。它快速、可靠並且可通過簡單的API擴充,將Perl/Python等解釋器編譯到服務器中。

Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,並在一個BSD-like 協議下發行。由俄羅斯的程序設計師Igor Sysoev所開發,供俄國大型的入口網站及搜索引擎Rambler(俄文:Рамблер)使用。其特點是占有內存少,並發能力強,事實上nginx的並發能力確實在同類型的網頁服務器中表現較好,中國大陸使用nginx網站用戶有:京東、新浪、網易、騰訊、淘寶等。

3 MySQL數據庫管理系統

技術分享圖片

關系型數據庫管理系統。

https://www.mysql.com/downloads/

企業版:MySQL Enterprise Edition (commercial)

集群版:MySQL Cluster CGE (commercial)

社區版(免費開源):MySQL Community Edition (GPL)

4 PHP服務器腳本編程語言

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本預處理器”)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標準通用標記語言下的一個應用)文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。

如何學習PHP

  • 學習線路
  • 堅持動手
  • 解決問題為先原則,避免鉆牛角尖
  • Bug。Bug有助於提升個人經驗值,不要擔心,不要煩躁。學會考慮問題出在哪個環節,學會定位問題。
  • 如何成為優秀的Web程序員:克服慣性,紮實的技術功底(計算機科學基礎知識不要拋棄:數據結構、離散數學、編譯原理、計算機網絡等等),編碼規範,不要逃避問題,擴展自己的想象力,對新技術的渴求,註重設計模式,多與高手交流,韌性和毅力,寫博客,考慮接單。

PHP01 LAMP網站構建