網站是一種可以提供web訪問服務的電腦。php
用戶:網站就是一個用戶可以經過瀏覽器(web)進行訪問的方式。(瀏覽器上經過輸入url,得到其餘電腦(web服務器)的資源而且進行顯示。)css
程序員:網站就是一個在安裝了服務器的電腦上,提供一個能夠被訪問的資源(文件夾)html
2.什麼是服務器?mysql
服務器直譯是硬件(電腦),一臺可以對外提供服務的電腦。linux
服務器:一臺裝有服務器軟件的電腦,可以對外提供訪問的服務。nginx
服務器有哪些?程序員
web服務器:Apache,iis,tomcat等web
數據庫服務器:mysql,oracle,DB2,sqlserver等sql
文件上傳服務器:ftp等數據庫
文件管理服務器:svn等
3.什麼是url?
url:Uniformed Resource Locator,統一資源定位,在互聯網(局域網)上有不少臺電腦鏈接,有其中一臺或者多臺提供某種特殊的服務,而後其餘電腦須要從這臺電腦上獲取服務。須要有一種機制,可以從一張互聯網上找到對應的某臺肯定的電腦,使用URL
URL:是互聯網上的絕對路徑
如: http://www.itcast.cn/gz/php/index.php
www.itcast.cn: 主機名,互聯網上某臺電腦上的對應文件夾的名字
itcast.cn:域名,一級域名(.com,.cn,.china:域名服務器)
www.itcast.cn:二級域名:在一級域名的左邊增長一個單詞
luntan.itcast.cn:二級域名
/gz/php/index.php:肯定某臺服務器上對應的文件的位置(目錄結構)
在電腦網站根目錄下面的gz文件夾下的php文件夾下的index.php文件
URI:Uniformed Resource Identifier,統一資源標識,用來定位服務器上的文件的位置(路徑:相對路徑)
http://www.itcast.cn/index.php?class=php150422
協議:http://
URI:/index.php?class=php150422
4.如何進行網站的web訪問?
用戶角度出發:
a) 打開瀏覽器
b) 輸入URL,按回車(請求)
c) 瀏覽器顯示數據
服務器角度:
a) 接收請求(歡迎光臨)
b) 解析請求(詢問客戶須要買什麼內容:買鹽)
c) 響應(給用戶鹽:用戶給錢)
IP:綁定在每臺電腦的網卡上的惟一標識,一個IP可以表明一臺電腦(惟一),互聯網之間是經過TCP/IP協議來進行電腦匹配
域名:域名又能夠理解爲主機名,是某個網站對應的「文件夾」(文件夾別名)的名字,由於IP地址很難記,用戶體驗至關差。使用域名來給IP地址也取個別名,用戶只須要記住域名(主機名)便可,瀏覽器輸入URL的時候也不須要輸入IP
DNS:Domain Name system,域名系統,專門用戶解析域名換成對應的IP地址
hosts文件:本地域名解析(全部瀏覽器發出的請求,都是先通過本地解析hosts文件)
Port:端口,電腦上(服務器)的軟件用來監聽外部發送過來的請求的(門衛)
5.軟件結構?
軟件分爲兩種類型的:C/S結構,B/S結構
C/S:Client/Server,客戶端/服務端,這種軟件結構必須保證用戶的電腦上安裝的客戶端(對應服務器端),如QQ,飛秋
客戶端只能向服務器發起請求
B/S:Browser/Server,瀏覽器/服務器,這種結構只要求用戶有瀏覽器便可。
瀏覽器是一種萬能客戶端。
6.開發環境?
開發環境就是指安裝軟件:軟件分爲兩種
集成環境:有人將實現某個功能所須要用到的多個軟件進行合併(封裝),變成一個軟件,用戶使用的時候,只須要安裝一個軟件就實現了安裝多個軟件:如wamp = Apache + mysql + php + windows
xapp,appserv,phpstudy ===== Windows + Apache + mysql +php
獨立環境:用戶自主安裝多個須要的軟件
獨立環境與集成環境的區別
集成環境優勢
集成環境缺點
獨立環境優勢
獨立環境缺點
選擇
開發的時候,基本上使用集成環境(簡單)
部署的時候(上線),基本上使用獨立環境(安全):lamp = Linux + Apache(穩定) + mysql + php ====》 lnmp = linux + nginx(效率高) + mysql + php
Apache是提供web訪問服務的軟件。
1.雙擊安裝:打開歡迎界面
2.點擊「next」進入到協議界面
3.贊成協議,點擊「next」,進入應用提示界面
4.點擊「next」進入到主機配置界面
5.輸入域名,主機名,郵箱,選擇全部用戶,點擊「next」,進入類型選擇界面
6.選擇自定義安裝,點擊「next」進入到路徑選擇界面
注意:安裝路徑不能有中文,不能有空格
7.修改安裝目錄:爲D:/server/apache,點擊「next」進入到安裝準備界面
8.點擊「install」安裝
失敗緣由:端口被佔用:Apache默認使用80端口
九、測試安裝是否成功:在瀏覽器中輸入localhost(主機名)
假設:Apache不是安裝在本身電腦上
10.查看Apache的目錄結構
htdocs目錄:網站根目錄
Apache只能簡單的讀取文件裏面的內容,而後直接交給瀏覽器:Apache不能解析文件裏面的任何內容
瀏覽器只能解析HTML和css以及js,不能識別php代碼
Apache是以模塊化的形式進行工做:須要某個模塊進行工做的時候,就加載某個模塊
httpd.exe:在Apache的bin目錄下,這是Apache服務軟件
該軟件是在cmd下面運行:須要進入到控制檯(CMD:Command)
解決方案:配置環境變量和進入到對應的目錄
httpd.exe是搭配命名使用
-M命令:查看Apache總共有哪些模塊
-t:測試Apache的配置是否正確
配置文件:是Apache工做的靈魂(Apache的工做受配置文件支配),Apache是徹底按照配置文件的指示和配置進行工做的。/apache/conf/httpd.conf
修改後的效果
注意:配置文件的修改不會改變當前Apache的工做方式(須要重啓Apache)
安裝獨立環境以前卸載集成環境,卸載注意事項
PHP是一種運行在服務器端的腳本語言。
運行在服務器端:瀏覽器不能識別
Apache自己不能解析任何腳本(包括HTML)
PHP:早期,Personal HomePage,我的主頁,perl開發
PHP:後期,PHP Hypertext Preprosessor,超文本預處理器,底層是用C語言開發
PHP定義:一種服務器端的 HTML 腳本/編程語言,是一種簡單的、面向對象的、解釋型的、健壯的、安全的、性能很是之高的、獨立於架構的、可移植的、動態的腳本語言。是一種普遍用於 Open Source(開放源代碼)的尤爲適合 Web 開發並能夠嵌入 HTML 的多用途腳本語言。它的語法接近 C,Java 和 Perl,並且容易學習。該語言讓 Web 開發人員快速的書寫動態生成的網頁。
做者:Rasmus Lerdorf
發展歷程
1994:1.0我的perl,Personal HomePage
1996:2.0,C語言底層編譯
1998:Zend公司負責PHP的規範,3.0版本,zendEngine可以高效的解釋PHP語言
2000:4.0,session(會話技術)+輸出緩衝等
2004:5.0,zend引擎2代
2.什麼是腳本語言?
腳本語言是相對於編譯型語言。
編譯語言:寫好的代碼不能直接執行,須要先經過編譯器進行編譯,獲得編譯後的結果文件(文件與原代碼文件徹底不同),最後執行編譯後的結果。如:C,C++,C#,Java等
腳本語言:是一種解釋型語言,不須要事先編譯,在須要運行的時候,直接編譯。腳本語言一般都是作web網站。
網站最耗時間的部分是:網絡,用戶察覺不到後臺腳本語言解析所消耗的時間。
2.解壓縮
3.將軟件包移動到D:/server
4.重命名
5.PHP安裝文件的目錄結構
6.證實:php.exe可以解析php代碼:在cmd下面使用php.exe
php.exe –f php文件路徑
Apache將php當作Apache內部的一個模塊來進行處理。
應該在Apache的配置文件中去加載php。
7.修改Apache的配置文件,加載php
LoadModule php5_module php給Apache提供的動態連接的路徑
表明了Apache可使用php模塊
8.修改Apache配置文件:告訴Apache在何時使用php
將以.php結尾的文件都交給php去處理
AddType application/x-httpd-php .php
9.查看請求Apache的php文件的效果
默認的,php給用戶提供了兩套配置文件供篩選,可是兩套都沒有啓用。
必需要變成php.ini才能使用
選擇開發環境的配置文件:爲了保證之後配置文件出錯還能從新找回來。複製一份再重命名
修改php配置文件:timezone
若要php的配置文件生效:前提是Apache要加載php配置文件變成Apache本身的。
PHPIniDir php.ini所在的路徑
效果
2.雙擊安裝,進入到安裝歡迎頁
3.點擊「next」,進入到協議界面
4.贊成協議,點擊「next」進入到安裝類型選擇界面
5.選擇自定義安裝:點擊「Custom」,進入到自定義安裝界面:安裝路徑
5.1 選擇安裝路徑
5.2 選擇數據存儲路徑
6.修改安裝路徑和數據存儲路徑以後,點擊「next」進入到安裝準備界面
7.點擊「install」安裝
8.點擊「next」繼續安裝,連續點擊兩次,進入到完成安裝界面
9.點擊「finish」完成安裝,打開配置準備界面
10.點擊「next」,進入實例選擇配置界面
11.選擇明細配置,點擊「next」進入到
12.選擇開發者機器,點擊「next」進入到數據庫使用選擇界面
13.選擇多功能數據庫,點擊「next」進入到innodb表空間設置界面
14.默認的不須要修改,點擊「next」進入到併發量選擇界面
15.選擇手動設置,設置併發量爲15,點擊「next」進入到網絡設置界面
16.勾選添加防火牆例外,點擊「next」進入到字符集選擇界面
17.選擇手動選擇字符集,並將字符集選擇成utf8,點擊「next」進入到操做系統配置界面
18.勾選將mysqlbin目錄添加到windows的環境變量,點擊「next」進入到安全配置界面
注意:不用勾選匿名帳戶
19.輸入root用戶密碼,勾選容許遠程root用戶訪問,點擊「next」進入到配置待執行界面
20.點擊「execute」執行配置:要等到4個白圈,都被勾選才算配置完整
21.點擊「finish」完成安裝
22.瞭解mysql安裝目錄結構
bin目錄
data目錄
23.驗證mysql是否安裝成功
24.經過查看服務或者進程
25.經過訪問服務器證實服務器能夠正常工做。
假設:如今mysql服務器是安裝在另一臺電腦上。
mysql是一種c/s結構的軟件,須要經過客戶端去訪問服務器:mysql.exe
mysql.exe須要藉助cmd運行
訪問方式
mysql –hlocalhost –P3306 –uroot –p(建議回車再輸入)
26. php操做mysql
PHP不能操做mysql,本身沒有這個能力。必須藉助第三方擴展才能實現。
PHP必須冒充mysql客戶端才能實現訪問。
2.指定擴展所在路徑:肯定要找到對應的擴展
3.查看效果
主機:一個對應的域名對應的一臺電腦,一個域名只對應一個IP,而一臺電腦又只能擁有一個IP地址。一臺電腦只能作一個網站。
一個網站就是一個文件夾,一臺電腦能夠有多個文件夾。
虛擬主機:不是真正的主機,經過給網站(文件夾)定義不一樣的名字,而後其餘用戶就能夠經過名字來訪問一臺電腦上的不一樣文件夾內的內容。
虛擬主機分類:基於IP的虛擬主機和基於域名的虛擬主機
ip虛擬主機要求一臺電腦上是使用ip去對應不一樣的文件夾(網站),實際上一臺電腦能夠有多個IP地址,須要硬件支持,只要在電腦上插上多個網卡(IP綁定在網卡上)
一臺電腦上只有一個IP,可是有多個文件夾須要作網站(不一樣的網站),用戶訪問的時候,不容許直接使用ip訪問,必需要給一個名字(域名/主機名),在本機上給不一樣的文件夾綁定不一樣的主機名,因此能夠經過不一樣的主機名找到不一樣的網站。
1.基於域名的虛擬主機開啓
2.NameVirtualHost *:80 #開啓虛擬主機:監聽來自全部的ip地址是80端口
3.增長虛擬主機
<VirtualHost *:80>
#裏面表明一個虛擬主機
#主機名:文件夾的別名
ServerName www.itcast.cn
#文件夾:路徑
DocumentRoot 「D:/class/php150422」
</VirtualHost>
4.重啓Apache,要識別對應的配置修改
5.修改本地hosts文件:增長域名對應IP地址的解析
6.權限控制:須要對指定文件夾進行權限控制
<Directory 文件夾路徑:一般就是DocumentRoot對應路徑>
#權限順序
Order Deny,Allow #deny和allow的順序能夠顛倒:表明系統讀取權限的順序
#權限控制
Allow from All #容許所有用戶訪問
Deny from All #禁止全部用戶訪問
</Directory>
7.容許訪問文件列表(目錄),當用戶沒有指定訪問哪一個具體文件的時候,直接給用戶所有文件列表
Options Indexes FollowSymLinks #FollowSymLinks是表示是否容許軟連接
8.系統增長默認訪問界面
DirectoryIndex 要訪問的首頁文件index.html index.php … 系統先找index.html,找不到就向下繼續尋找
將全部的虛擬主機放到一個文件中,而後在主配置文件httpd.conf中加載對應的虛擬主機文件便可。
9.先加載虛擬主機配置文件:httpd.conf
10.增長虛擬主機文件,將全部的虛擬主機都虛擬主機文件中維護
11.虛擬主機一旦啓用:默認的localhost主機就會失效:新建一個localhost的虛擬主機