本地服務器搭建(轉載自黑馬程序員)

搭建環境

PHP簡介

什麼是PHP

PHP定義:一種服務器端的 HTML 腳本/編程語言,是一種簡單的、面向對象的、解釋型的、健壯的、安全的、性能非常之高的、獨立於架構的、可移植的、動態的腳本語言。是一種廣泛用於 Open Source(開放源代碼)的尤其適合 Web 開發並可以嵌入 HTML 的多用途腳本語言。它的語法接近 C,Java 和 Perl,而且容易學習。該語言讓 Web 開發人員快速的書寫動態生成的網頁。

 

PHP前身:Personal HomePage,個人主頁,使用Perl語言開發的一種寫個人主頁的語言

PHP:PHP Hypertext Preprosessor,php超文本預處理器,底層使用C語言

 

PHP發展史

Rasmus Lerdorf :創建者

 

1994:1.0,個人perl,非常簡單(簡陋)

1996:2.0,C底層,變的相對比較強大

1998:3.0,zendEngine,聯合zend公司共同管理和維護PHP,zendEngine(zend引擎)用戶高效的解析php代碼

2000:4.0,session+輸出緩衝等,session技術(會話技術),

2004:5.0,zend引擎2代,增加新技術(面向對象更新,命名空間,異常)

2015:7.0,新版的ZendEngine引擎,性能提升,新特性(異常)

 

平臺支持(window,Linux,UNIX)

數據庫支持(Sqlserver,mysql,Oracle,Access)

 

靜態網站與動態網站的區別

靜態網站:web1.0時代

動態網站:web2.0時代

 

網站

Website的中文名稱是網站,是指在互聯網上,根據一定的規則,使用HTML、PHP等代碼語言製作的用於展示特定內容的相關網頁的集合,有可供管理人員操作的後臺及用戶使用的前臺。簡單地說,Website是一種通訊工具,就像布告欄一樣,人們可以通過Website來發布自己想要公開的資訊,或者利用Website來提供相關的網絡服務。人們可以通過網頁瀏覽器來訪問Website,獲取自己需要的資訊或者享受網絡服務。

 

靜態網站特點

   1.網頁內容一經發布到網站服務器上,無論是否有用戶訪問,每個靜態網頁的內容都是保存在網站服務器上的,也就是說,靜態網頁是實實在在保存在服務器上的文件,每個網頁都是一個獨立的文件;

   2.靜態網頁的內容相對穩定,因此容易被搜索引擎檢索;

   3.靜態網頁沒有數據庫的支持,在網站製作和維護方面工作量較大,因此當網站信息量很大時完全依靠靜態網頁製作方式比較困難; 

   4.靜態網頁的交互性較差,在功能方面有較大的限制。

 

動態網站特點

   1.交互性:網頁會根據用戶的要求和選擇而動態地改變和響應,瀏覽器作爲客戶端,成爲一個動態交流的橋樑,動態網頁的交互性也是今後Web發展的潮流。

   2.自動更新:即無須手動更新HTML文檔,便會自動生成新頁面,可以大大節省工作量。

   3.因時因人而變:即當不同時間、不同用戶訪問同一網址時會出現不同頁面。

    此外動態網頁是與靜態網頁相對應的,也就是說,網頁URL的後綴不是.htm、.html、.shtml、.xml等靜態網頁的常見形式,而是以.asp、.jsp、.php、.perl、.cgi等形式爲後綴。在動態網頁網址中有一個標誌性的符號——“?”

網站基本概念

服務器概念

服務器(server),也稱伺服器,是提供計算服務的設備。由於服務器需要響應服務請求,並進行處理,因此一般來說服務器應具備承擔服務並且保障服務的能力。

服務器的構成包括處理器、硬盤、內存、系統總線等,和通用的計算機架構類似,但是由於需要提供高可靠的服務,因此在處理能力、穩定性、可靠性、安全性、可擴展性、可管理性等方面要求較高。

在網絡環境下,根據服務器提供的服務類型不同,分爲文件服務器,數據庫服務器,應用程序服務器,WEB服務器等。

 

服務器:能夠提供服務的機器,取決於機器上所安裝的軟件(服務軟件)

Web服務器:提供web服務(網站訪問),就需要安裝web服務軟件,Apache,tomcat,iis等

 

IP的概念

IP:Internet Protocol,網絡之間互聯協議。網絡之間互連的協議也就是爲計算機網絡相互連接進行通信而設計的協議。在因特網中,它是能使連接到網上的所有計算機網絡實現相互通信的一套規則,規定了計算機在因特網上進行通信時應當遵守的規則。任何廠家生產的計算機系統,只要遵守IP協議就可以與因特網互連互通。IP地址具有唯一性。(每臺電腦都有一個唯一的IP地址)

域名

域名(Domain Name),是由一串用點分隔的名字組成(www.itcast.cn)的Internet上某一臺計算機或計算機組的名稱,用於在數據傳輸時標識計算機的電子方位(有時也指地理位置,地理上的域名,指代有行政自主權的一個地方區域)。域名是一個IP地址上有“面具” 。一個域名的目的是便於記憶和溝通的一組服務器的地址(網站,電子郵件,FTP等)。域名作爲力所能及難忘的互聯網參與者的名稱。

 

特殊IP:127.0.0.1,代表本機

特殊域名:localhost

DNS

DNS(Domain Name System,域名系統),因特網上作爲域名和IP地址相互映射的一個分佈式數據庫,能夠使用戶更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串。通過主機名,最終得到該主機名對應的IP地址的過程叫做域名解析(或主機名解析)。

 

用戶輸入域名localhost—》DNS(localhost 127.0.0.1)--》服務器電腦

端口

端口(Port),可以認爲是設備與外界通訊交流的出口。端口可分爲虛擬端口和物理端口,其中虛擬端口指計算機內部或交換機路由器內的端口,不可見。例如計算機中的80端口、21端口、23端口等。物理端口又稱爲接口,是可見端口,計算機背板的RJ45網口,交換機路由器集線器等RJ45端口。

 

用戶輸入域名localhost:端口—》DNS(localhost 127.0.0.1)--》服務器電腦—》軟件(服務)

Web程序的訪問流程

Web分爲兩類:靜態網站和動態網站

 

瀏覽器發起訪問—》DNS解析域名—》服務器電腦---》服務軟件

 

靜態網站訪問

 

動態網站訪問

動態網站訪問流程與靜態差不多,但是會多出幾個內容:服務器端解析、數據庫

安裝Apache

安裝Apache軟件

1、  獲取Apache安裝軟件

2、  雙擊安裝即可:指定對應的路徑:E:server/apache

3、選擇安裝模式:使用自定義模式

4、  選擇安裝位置

Apache的目錄結構說明

 

Httpd.exe的詳細應用

 

1、  服務器進程:運行之後才能夠工作

2、  用來查看Apache具有哪些功能以及配置文件是否有錯:httpd或者httpd.exe(文件所在目錄)

2.1   查看使用的模塊:httpd  -M

2.2   驗證配置文件是否有效:httpd –t

配置默認站點

 

1、  讓Apache確定服務器上訪問的位置:網站文件夾所在位置

Httpd.conf:DocumentRoot

 

2、  方便用戶使用名字訪問對應的網站:給文件夾對應的取一個別名

Httpd.conf:ServerName

端口可以單獨實現:httpd.conf:listen

3、  凡是涉及到Apache配置文件的修改,那麼需要重啓Apache才能生效

4、  實現DNS域名解析:通常默認站點都是本地DNS:hosts文件

安裝與配置PHP

安裝PHP語言

1、  獲取PHP安裝文件:建議去官網

2、  解壓縮

3、  安裝:將解壓後的文件放到E:/server/,重命名PHP5

 

 

PHP的目錄結構說明

php.exe的應用

 

PHP.exe就是可以解析PHP代碼轉變成HTML代碼從而讓瀏覽器可以解析的。

 

1、  通過CMD控制器進入到php.exe所在目錄

2、  通過php.exe運行命令來指定要解析的PHP腳本就可以:php.exe  -f  PHP文件所在路徑

配置Apache加載PHP模塊

 

1、  Apache加載PHP模塊:在Apache的主配置文件(httpd.conf)中加載對應的PHP提供的模塊

LoadModule php5_module PHP所提供的模塊鏈接所在路徑

2、  Apache分配工作給PHP模塊:如果是PHP代碼就交給PHP處理:文件後綴判斷.php結尾肯定是PHP代碼

AddType application/x-httpd-php .php

3、  將PHP的配置文件加載到Apache配置文件中:共同生效

3.1   在Apache中指定PHP配置文件所在路徑

PHPIniDir php.ini所在路徑

3.2   php.ini文件默認是不存在的,是以development和production格式存在,需要格式化

 

說明:PHP的配置文件已經加入到Apache的配置項中,意味着php.ini的修改需要Apache重啓纔會生效。

安裝與配置MySQL

安裝MySQL軟件

1、  獲取MySQL安裝軟件

2、  雙擊安裝即可:沒有特殊情況的直接下一步就可以完成

3、  選擇custom,自定義安裝:選擇安裝路徑

3.1   軟件安裝目錄:server/mysql

3.2   數據安裝目錄:server/mysql/data

4、  在完成安裝之後,要實現配置

5、  選擇詳細配置(默認的)

6、  選擇開發環境:默認的

7、  選擇功能:默認

8、  併發設置(建議手動)

9、  配置訪問環境

10、         字符集設定:系統字符集

11、         服務安裝:將MySQL作爲windows下的一個服務啓動

12、         輸入root(超級管理員)的用戶密碼

13、         等待配置:4個都是勾表示安裝成功

MySQL的目錄結構說明

Bin目錄的常用命令

 

軟件設計結構:C/S和B/S

C/S:Client客戶端/Server服務端,用戶需要安裝客戶端產品才能訪問服務器,而且只能訪問一種軟件(當前自己)

B/S:Browser瀏覽器/Server服務端,用戶只需要安裝瀏覽器,就可以訪問所有的服務器(B/S架構服務)

MySQL的訪問流程

Mysql是一款C/S架構的軟件,需要通過客戶端來訪問服務端(MySQL提示也提供了其他模式的訪問:通過一些插件擴展來充當客戶端)

 

1、  啓用MySQL客戶端:mysql.exe,該軟件本身可以通過CMD控制檯運行

本身客戶端:mysql.exe

Mysql.exe通過cmd運行

2、  MySQL客戶端訪問服務端需要進行尋找匹配:連接認證

連接:IP和端口確認,如果是本地都可以省略

-h主機地址----》-hlocalhost(可以是IP)

-P端口---》-P3306

認證:通過用戶名和密碼進入服務器

-u用戶名---》-uroot,不可以省略(匿名用戶除外)

-p密碼---》-proot

3、  退出命名:\q

 

注意:通常連接認證的時候密碼不建議明文,可以在輸入-p之後回車,系統會再次讓輸入密碼,這個時候就是密文

 

PHP連接MySQL數據庫

PHP本身不具備操作MySQL數據庫的能力,需要藉助PHP操作MySQL的擴展來實現。

 

1、  PHP加載MySQL擴展:php.ini文件中

2、  PHP中所有的擴展都是在ext文件夾中,需要制定擴展所在路徑:extension_dir

3、  php.ini已經被Apache加載,所以需要重啓纔會生效。

 

 

設定PHP的系統時區

通過php.ini中的timezone配置項來實現

配置虛擬主機

一臺服務器很貴,如果只能部署一個網站,那麼非常浪費。所以需要通過其他渠道來實現一臺主機上部署多個網站。

 

什麼是虛擬主機

虛擬主機:Virtual machine,並不存在真實的主機,但是可以提供真實主機所實現的功能。

 

通俗的講,虛擬主機就是將計算機中不同的文件夾進行不同的命名,然後可以實現讓服務器(Apache)根據用戶的需求從不同的文件夾(網站)中讀取不同的內容。

 

虛擬主機的分類

在Apache中,可以將虛擬主機劃分成兩類:

1、  基於IP的虛擬主機:一臺電腦上有多個IP,每個IP對應一個網站

原理:電腦默認只有一個IP,因爲通常只配有一個網卡;但是有的電腦(服務器居多)可以配置多個網卡,每個網卡可以綁定一個IP地址。

 

2、  基於域名的虛擬主機:一臺電腦上只有一個IP,但是IP下可以製作多個網站,但是需要給每個網站不同的名字(虛擬主機名)

搭建基於域名的虛擬主機

在Apache中,虛擬主機的搭建有兩種方式:

1、  在主配置文件中搭建:需要手動開啓虛擬主機(基於域名)

NameVirtualHost *:80

2、  在專門的虛擬主機配置文件中配置

2.1   在主配置文件中加載虛擬主機配置文件(httpd.conf):虛擬主機配置文件已經開啓了虛擬主機NameVirtualHost

2.2   虛擬主機從配置文件(extra/httpd-vhosts.conf)中配置虛擬主機

①增加一個對應的站點文件夾位置:DocumentRoot

②增加主機名字:文件夾的別名:ServerName

③ 增加域名解析DNS:hosts

④需要給當前設定的站點(目錄)訪問權限

<Directory ‘站點目錄’>

         Order Deny,Allow              //沒有順序關係:實際順序有意義

         Deny from 指定的範圍

         Allow from 指定範圍/all

</Directory>

⑤     配置訪問列表:當訪問是一個目錄時候(沒有指定具體要訪問的文件)

Options Indexes [FollowSymLinks],如果訪問目錄,那麼列表顯示所有文件

⑥ 當用戶訪問指定目錄不指定文件的時候,通常需要系統指定一個默認文件

DirectoryIndex 默認的文件列表,使用空格分離

 

注意:如果說網站中整個網站根目錄允許訪問,但是其中還有其他文件夾不允許訪問:可以增加多個Directory標籤,針對不同的文件夾

3、  一旦啓用虛擬主機配置文件,那麼默認的主機地址localhost就不再生效,如果想要生效:爲localhost增加單獨的虛擬主機

 

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