PHP環(huán)境和虛擬主機(jī)的創(chuàng)建(phpstudy + wamp) 本文涉及兩款php的集成環(huán)境 這兩款都含mysql + apache + php,phpstudy的功能比wamp要強(qiáng)大,并且十分簡(jiǎn)單容易上手。 phpstudy易用性是因?yàn)樗鼛臀覀兎庋b了很多繁瑣易出錯(cuò)的操作,但是如果直接使用它 我們并不了解其背后的實(shí)現(xiàn)方式,所以先學(xué)習(xí)wamp可以讓我們熟悉一下原理。 安裝完成后,托盤圖標(biāo)是正常的綠色。 我的程序是安裝在了 得到正常的響應(yīng),這個(gè)頁(yè)面來(lái)源于 此時(shí)我們需要先了解一下幾個(gè)文件。 作用就是將一些常用的網(wǎng)址域名與其對(duì)應(yīng)的IP地址建立一個(gè)關(guān)聯(lián)“數(shù)據(jù)庫(kù)”,當(dāng)用戶在瀏覽器中輸入一個(gè)需要登錄的網(wǎng)址時(shí),系統(tǒng)會(huì)首先自動(dòng)從Hosts文件中尋找對(duì)應(yīng)的IP地址,一旦找到,系統(tǒng)會(huì)立即打開對(duì)應(yīng)網(wǎng)頁(yè),如果沒有找到,則系統(tǒng)會(huì)再將網(wǎng)址提交DNS域名解析服務(wù)器進(jìn)行IP地址的解析。 這個(gè)文件是apache 的配置文件,一般不需要改動(dòng)的。 這個(gè)文件是虛擬主機(jī)文件,要?jiǎng)?chuàng)建新的網(wǎng)站時(shí)都需要在該文件中配置才生效。 下面我有一個(gè)需求: 一臺(tái)電腦只跑一個(gè)程序我覺得過(guò)于浪費(fèi),而且我本機(jī)的80端口被占用,我想開一個(gè)網(wǎng)站用 一)、按照hosts文件的作用,當(dāng)我訪問(wèn)test.com:81的時(shí)候我需要它直接跳轉(zhuǎn) 而不去進(jìn)行dns域名解析 所以 ,按照固定格式 在hosts文件中添加一行 二)、上一步只告訴電腦解析到本地,但是我們還沒有對(duì)應(yīng)的虛擬主機(jī) 所以需要在 另外 這里填寫完之后并不會(huì)生效,原因是我們沒有允許apache啟用虛擬主機(jī),現(xiàn)在去啟用,在 最后設(shè)置一下,wamp的apache服務(wù)的默認(rèn)端口: 看完了wamp后真是感覺非常的繁瑣,接下來(lái)用phpstudy試試。 需求不變,還是創(chuàng)建一個(gè)網(wǎng)站 一)、直接啟動(dòng)apache 二)、創(chuàng)建網(wǎng)站 根目錄選擇項(xiàng)目的根目錄 三)、查看效果 這就完成了… 使用過(guò)wamp后我們知道,配置一個(gè)虛擬主機(jī)需要改三個(gè)文件,下面看一下phpstudy的操作。 一)、hosts 由于做wamp的時(shí)候已經(jīng)手動(dòng)添加過(guò)了,所以這個(gè)文件看不出來(lái)兩者的差異。 二)、httpd.conf和vhost.conf 在wamp中,我們將多個(gè)虛擬主機(jī)的配置項(xiàng)都放在了一個(gè)文件中。 在phpstudy里,將每個(gè)網(wǎng)站的配置項(xiàng)單獨(dú)抽離出個(gè)自己的文件并放到了一個(gè)文件夾中。 首先看下面的配置: ServerAdmin指令: 語(yǔ)法: ServerAdmin email-address|URL 用來(lái)設(shè)置服務(wù)器返回給客戶端的錯(cuò)誤信息中包含的管理員郵件地址。便于用戶在收到錯(cuò)誤信息后能及時(shí)與管理員取得聯(lián)系。 ServerName指令: 語(yǔ)法:ServerName [scheme://] FQDN [:port] 用來(lái)設(shè)置服務(wù)器用于辨識(shí)自己的主機(jī)名和端口號(hào)。主要用于創(chuàng)建重定向URL。 DocumentRoot指令: 語(yǔ)法:DocumentRoot directory-path 用來(lái)設(shè)置httpd提供服務(wù)的目錄。即你所在項(xiàng)目入口處的文件夾。 ErrorLog指令: 語(yǔ)法: ErrorLog file-path 來(lái)設(shè)置當(dāng)服務(wù)器遇到錯(cuò)誤時(shí)記錄錯(cuò)誤日志的文件。如果file-path不是以/開頭的絕對(duì)路徑,那么將會(huì)被認(rèn)為是一個(gè)相對(duì)于ServerRoot的相對(duì)路徑。 CustomLog指令: 語(yǔ)法: ErrorLog file-path common 設(shè)置日志文件,并指明日志文件所用的格式(通常通過(guò)格式的名字)。 <Directory 目錄路徑>…</Directory> 為主目錄或虛擬目錄設(shè)置權(quán)限。 特性: Options FollowSymLinks IncludesNOEXEC Indexes 一旦定義允許目錄瀏覽,就會(huì)將Web站點(diǎn)的文件夾和文件名結(jié)構(gòu)暴露給黑客。目錄瀏覽還會(huì)允許黑客瀏覽文件并掌握服務(wù)器配置信息,所以指定該權(quán)限往往帶來(lái)安全性上的隱患。除非有充足的理由要使用目錄瀏覽,否則應(yīng)該禁用它。 DirectoryIndex index.html index.htm index.php 設(shè)置訪問(wèn)目錄后進(jìn)入的默認(rèn)文件 AllowOverride all 定義位于每個(gè)目錄下.htaccess(訪問(wèn)控制)文件中的指令類型。none為禁止使用.htaccess文件 Order Deny,Allow Allow from all 設(shè)置缺省的訪問(wèn)權(quán)限與Allow和Deny語(yǔ)句的處理順序 allow, deny:缺省禁止所有客戶機(jī)的訪問(wèn),且Allow語(yǔ)句在Deny語(yǔ)句之前被匹配。如果某條件既匹配Deny語(yǔ)句又匹配Allow語(yǔ)句,則Deny語(yǔ)句會(huì)起作用(因?yàn)镈eny語(yǔ)句覆蓋了Allow語(yǔ)句)。 deny, allow:缺省允許所有客戶機(jī)的訪問(wèn),且Deny語(yǔ)句在Allow語(yǔ)句之前被匹配。如果某條件既匹配Deny語(yǔ)句又匹配Allow語(yǔ)句,則Allow語(yǔ)句會(huì)起作用(因?yàn)锳llow語(yǔ)句覆蓋了Deny語(yǔ)句)。 eg. 推薦學(xué)習(xí):《PHP視頻教程》
一、wamp創(chuàng)建網(wǎng)站
1.1 了解默認(rèn)網(wǎng)站程序
D:wamp64
,發(fā)現(xiàn)正常后直接訪問(wèn)頁(yè)面localhost
,默認(rèn)的端口是80,可以忽略D:wamp64wwwindex.php
,也就是wamp安裝目錄下的www文件夾存放著默認(rèn)的網(wǎng)站程序。1.2 創(chuàng)建新的虛擬主機(jī)
C:WindowsSystem32driversetc
httpd.conf
,文件位置:D:wamp64binapacheapache2.4.17conf
httpd-vhosts.conf
,文件位置:D:wamp64binapacheapache2.4.17confextra
test.com:81
來(lái)進(jìn)行訪問(wèn)# 當(dāng)訪問(wèn)www.test.com時(shí) , 我們告訴電腦直接解析到本機(jī)127.0.0.1 不用去dns域名解析。# :81屬于端口號(hào) 不需要添加到這里127.0.0.1 www.test.com
httpd-vhosts.conf
中配置一個(gè)新的虛擬主機(jī)。<VirtualHost *:設(shè)置的端口號(hào)> DocumentRoot "網(wǎng)站程序目錄" ServerName 綁定的域名 ServerAlias 綁定的域名別名 <Directory "網(wǎng)站程序目錄"> Options FollowSymLinks ExecCGI AllowOverride All Order allow,deny Allow from all Require all granted </Directory> </VirtualHost>
VirtuaHost *:端口號(hào)
httpd.conf
文件中
成功獲得響應(yīng)。二、Phpstudy創(chuàng)建網(wǎng)站
www.test.com:81
,1.1 效果演示
1.2 配置文件查看
httpd-vhosts.conf詳解
<VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot "D:/xampp/htdocs/wherein" ServerName www.shop_dev.com ErrorLog "logs/wherein.com-error.log" CustomLog "logs/wherein.com-access.log" common <Directory "D:/xampp/htdocs/wherein"> Options FollowSymLinks IncludesNOEXEC Indexes DirectoryIndex index.html index.htm index.php AllowOverride all Order Deny,Allow Allow from all Require all granted </Directory> </VirtualHost>
命 令
說(shuō) 明
Indexes
允許目錄瀏覽當(dāng)客戶僅指定要訪問(wèn)的目錄,但沒有指定要訪問(wèn)目錄下的哪個(gè)文件,而且目錄下不存在默認(rèn)文檔時(shí),Apache以超文本形式返回目錄中的文件和子目錄列表(虛擬目錄不會(huì)出現(xiàn)在目錄列表中)
MultiViews
允許內(nèi)容協(xié)商的多重視圖MultiViews其實(shí)是Apache的一個(gè)智能特性。當(dāng)客戶訪問(wèn)目錄 中一個(gè)不存在的對(duì)象時(shí),如訪問(wèn)“http://192.168.66.6/data/a”,則Apache會(huì)查找這個(gè)目錄下所有a.*文件。由于 data目錄下存在a.gif文件,因此Apache會(huì)將a.gif文件返回給客戶,而不是返回出錯(cuò)信息
All
All包含了除MultiViews之外的所有特性,如果沒有Options語(yǔ)句,默認(rèn)為All
ExecCGI
允許在該目錄下執(zhí)行CGI腳本
FollowSymLinks
可以在該目錄中使用符號(hào)連接
Includes
允許服務(wù)器端包含功能
IncludesNoExec
允許服務(wù)器端包含功能,但禁用執(zhí)行CGI腳本
Order deny ,allow Deny from baidu.com Deny from 192.168.66.6除了來(lái)自baidu.com域和ip地址為192.168.66.6的客戶機(jī)外,允許所有客戶機(jī)訪問(wèn) Order deny ,allow Allow from 192.168.66.6 Deny from 192.168.66.1既匹配Deny語(yǔ)句又匹配Allow語(yǔ)句,由于allow語(yǔ)句覆蓋了deny語(yǔ)句,所以是允許所有客戶機(jī)訪問(wèn) Order allow ,deny Allow from 192.168.66.6 Deny from 192.168.66.1既匹配Deny語(yǔ)句又匹配Allow語(yǔ)句,由于deny語(yǔ)句覆蓋了allow語(yǔ)句,所以是禁止所有客戶機(jī)訪問(wèn)
教你創(chuàng)建虛擬主機(jī)并運(yùn)行php項(xiàng)目(phpstudy + wamp)
標(biāo)簽:AIapacheb站cssDB2execmasterNECphp域名數(shù)據(jù)庫(kù)文件夾服務(wù)器瀏覽器電腦相對(duì)路徑絕對(duì)路徑網(wǎng)站程序虛擬主機(jī)
相關(guān)推薦
- 華納云香港高防服務(wù)器150G防御4.6折促銷,低至6888元/月,CN2大帶寬直連清洗,終身循環(huán)折扣
- RakSmart服務(wù)器成本優(yōu)化策略
- 2025年國(guó)內(nèi)免費(fèi)AI工具推薦:文章生成與圖像創(chuàng)作全攻略
- 自媒體推廣實(shí)時(shí)監(jiān)控從服務(wù)器帶寬到用戶行為解決方法
- 傳統(tǒng)網(wǎng)站如何借力短視頻?從SEO到“內(nèi)容種草”的轉(zhuǎn)型策略
- AI時(shí)代,個(gè)人站長(zhǎng)如何用AI工具實(shí)現(xiàn)“一人公司”
- 個(gè)人站長(zhǎng)消亡論?從“消失”到“重生”的三大破局路徑
- raksmart法蘭克福云服務(wù)器延遲高嗎?