站長資訊網
最全最豐富的資訊網站

教你創建虛擬主機并運行php項目(phpstudy + wamp)

PHP環境和虛擬主機的創建(phpstudy + wamp)

本文涉及兩款php的集成環境

  • phpstudy
  • wampserver

這兩款都含mysql + apache + php,phpstudy的功能比wamp要強大,并且十分簡單容易上手。

phpstudy易用性是因為它幫我們封裝了很多繁瑣易出錯的操作,但是如果直接使用它 我們并不了解其背后的實現方式,所以先學習wamp可以讓我們熟悉一下原理。

一、wamp創建網站

1.1 了解默認網站程序

安裝完成后,托盤圖標是正常的綠色。
教你創建虛擬主機并運行php項目(phpstudy + wamp)

我的程序是安裝在了D:wamp64,發現正常后直接訪問頁面localhost,默認的端口是80,可以忽略

教你創建虛擬主機并運行php項目(phpstudy + wamp)

得到正常的響應,這個頁面來源于D:wamp64wwwindex.php,也就是wamp安裝目錄下的www文件夾存放著默認的網站程序。

1.2 創建新的虛擬主機

此時我們需要先了解一下幾個文件。


  1. hosts,文件位置:C:WindowsSystem32driversetc
    教你創建虛擬主機并運行php項目(phpstudy + wamp)

教你創建虛擬主機并運行php項目(phpstudy + wamp)

作用就是將一些常用的網址域名與其對應的IP地址建立一個關聯“數據庫”,當用戶在瀏覽器中輸入一個需要登錄的網址時,系統會首先自動從Hosts文件中尋找對應的IP地址,一旦找到,系統會立即打開對應網頁,如果沒有找到,則系統會再將網址提交DNS域名解析服務器進行IP地址的解析。

  1. httpd.conf,文件位置:D:wamp64binapacheapache2.4.17conf

這個文件是apache 的配置文件,一般不需要改動的。

  1. httpd-vhosts.conf,文件位置:D:wamp64binapacheapache2.4.17confextra

這個文件是虛擬主機文件,要創建新的網站時都需要在該文件中配置才生效。


下面我有一個需求:

一臺電腦只跑一個程序我覺得過于浪費,而且我本機的80端口被占用,我想開一個網站用test.com:81來進行訪問

一)、按照hosts文件的作用,當我訪問test.com:81的時候我需要它直接跳轉 而不去進行dns域名解析

所以 ,按照固定格式 在hosts文件中添加一行

# 當訪問www.test.com時 , 我們告訴電腦直接解析到本機127.0.0.1 不用去dns域名解析。# :81屬于端口號 不需要添加到這里127.0.0.1 www.test.com

二)、上一步只告訴電腦解析到本地,但是我們還沒有對應的虛擬主機

所以需要在httpd-vhosts.conf中配置一個新的虛擬主機。

<VirtualHost *:設置的端口號>     DocumentRoot "網站程序目錄"     ServerName 綁定的域名     ServerAlias 綁定的域名別名   <Directory "網站程序目錄">       Options FollowSymLinks ExecCGI       AllowOverride All       Order allow,deny       Allow from all       Require all granted   </Directory> </VirtualHost>

教你創建虛擬主機并運行php項目(phpstudy + wamp)

另外VirtuaHost *:端口號

這里填寫完之后并不會生效,原因是我們沒有允許apache啟用虛擬主機,現在去啟用,在 httpd.conf文件中

教你創建虛擬主機并運行php項目(phpstudy + wamp)

最后設置一下,wamp的apache服務的默認端口:

教你創建虛擬主機并運行php項目(phpstudy + wamp)
教你創建虛擬主機并運行php項目(phpstudy + wamp)
成功獲得響應。

二、Phpstudy創建網站

看完了wamp后真是感覺非常的繁瑣,接下來用phpstudy試試。

需求不變,還是創建一個網站www.test.com:81,

1.1 效果演示

一)、直接啟動apache

教你創建虛擬主機并運行php項目(phpstudy + wamp)

二)、創建網站

教你創建虛擬主機并運行php項目(phpstudy + wamp)

根目錄選擇項目的根目錄

三)、查看效果

教你創建虛擬主機并運行php項目(phpstudy + wamp)

這就完成了…

1.2 配置文件查看

使用過wamp后我們知道,配置一個虛擬主機需要改三個文件,下面看一下phpstudy的操作。

一)、hosts

由于做wamp的時候已經手動添加過了,所以這個文件看不出來兩者的差異。

二)、httpd.conf和vhost.conf

教你創建虛擬主機并運行php項目(phpstudy + wamp)

在wamp中,我們將多個虛擬主機的配置項都放在了一個文件中。

在phpstudy里,將每個網站的配置項單獨抽離出個自己的文件并放到了一個文件夾中。

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>

ServerAdmin指令:

語法: ServerAdmin email-address|URL

用來設置服務器返回給客戶端的錯誤信息中包含的管理員郵件地址。便于用戶在收到錯誤信息后能及時與管理員取得聯系。

ServerName指令:

語法:ServerName [scheme://] FQDN [:port]

用來設置服務器用于辨識自己的主機名和端口號。主要用于創建重定向URL。

DocumentRoot指令:

語法:DocumentRoot directory-path

用來設置httpd提供服務的目錄。即你所在項目入口處的文件夾。

ErrorLog指令:

語法: ErrorLog file-path

來設置當服務器遇到錯誤時記錄錯誤日志的文件。如果file-path不是以/開頭的絕對路徑,那么將會被認為是一個相對于ServerRoot的相對路徑。

CustomLog指令:

語法: ErrorLog file-path common

設置日志文件,并指明日志文件所用的格式(通常通過格式的名字)。

<Directory 目錄路徑>…</Directory>

為主目錄或虛擬目錄設置權限。

特性:

Options FollowSymLinks IncludesNOEXEC Indexes

命 令 說 明
Indexes 允許目錄瀏覽當客戶僅指定要訪問的目錄,但沒有指定要訪問目錄下的哪個文件,而且目錄下不存在默認文檔時,Apache以超文本形式返回目錄中的文件和子目錄列表(虛擬目錄不會出現在目錄列表中)
MultiViews 允許內容協商的多重視圖MultiViews其實是Apache的一個智能特性。當客戶訪問目錄 中一個不存在的對象時,如訪問“http://192.168.66.6/data/a”,則Apache會查找這個目錄下所有a.*文件。由于 data目錄下存在a.gif文件,因此Apache會將a.gif文件返回給客戶,而不是返回出錯信息
All All包含了除MultiViews之外的所有特性,如果沒有Options語句,默認為All
ExecCGI 允許在該目錄下執行CGI腳本
FollowSymLinks 可以在該目錄中使用符號連接
Includes 允許服務器端包含功能
IncludesNoExec 允許服務器端包含功能,但禁用執行CGI腳本

一旦定義允許目錄瀏覽,就會將Web站點的文件夾和文件名結構暴露給黑客。目錄瀏覽還會允許黑客瀏覽文件并掌握服務器配置信息,所以指定該權限往往帶來安全性上的隱患。除非有充足的理由要使用目錄瀏覽,否則應該禁用它。

DirectoryIndex index.html index.htm index.php

設置訪問目錄后進入的默認文件

AllowOverride all

定義位于每個目錄下.htaccess(訪問控制)文件中的指令類型。none為禁止使用.htaccess文件

Order Deny,Allow

Allow from all

設置缺省的訪問權限與Allow和Deny語句的處理順序

allow, deny:缺省禁止所有客戶機的訪問,且Allow語句在Deny語句之前被匹配。如果某條件既匹配Deny語句又匹配Allow語句,則Deny語句會起作用(因為Deny語句覆蓋了Allow語句)。

deny, allow:缺省允許所有客戶機的訪問,且Deny語句在Allow語句之前被匹配。如果某條件既匹配Deny語句又匹配Allow語句,則Allow語句會起作用(因為Allow語句覆蓋了Deny語句)。

eg.

Order deny ,allow Deny from baidu.com Deny from 192.168.66.6除了來自baidu.com域和ip地址為192.168.66.6的客戶機外,允許所有客戶機訪問 Order deny ,allow Allow from 192.168.66.6 Deny from 192.168.66.1既匹配Deny語句又匹配Allow語句,由于allow語句覆蓋了deny語句,所以是允許所有客戶機訪問 Order allow ,deny Allow from 192.168.66.6 Deny from 192.168.66.1既匹配Deny語句又匹配Allow語句,由于deny語句覆蓋了allow語句,所以是禁止所有客戶機訪問

推薦學習:《PHP視頻教程》

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
中文字幕精品亚洲无线码一区应用| 国产国产成人久久精品杨幂| 国产精品igao视频网网址| 九九久久国产精品| 日韩精品一区二区三区中文精品| 成人综合婷婷国产精品久久蜜臀| 久久99热久久99精品| 精品国产乱码久久久久久1区2区| 亚洲精品综合一二三区在线| 久久亚洲精品视频| 国产午夜无码精品免费看| 久久精品国产一区二区三区不卡| 亚洲国产小视频精品久久久三级 | 日韩精品无码一区二区三区四区| 精品无人乱码一区二区三区| 国产精品久久久久久麻豆一区| 亚洲国产精品一区二区久| 麻豆国产在线精品国偷产拍| 日韩精品一区二区三区大桥未久| 国产香蕉精品视频在| 国产精品无套内射迪丽热巴| 大伊香蕉精品一区视频在线| 久久精品视频免费| 国内精品免费久久影院| 国产亚洲精品成人a v小说| 久久亚洲国产精品五月天婷| 国产精品偷伦视频免费观看了 | 国产精品第12页| 国产成人亚洲精品青草天美| 久久久精品一区二区三区| 精品999久久久久久中文字幕 | 精品人妻系列无码一区二区三区| 亚洲国产美女精品久久久久| 久久精品国产免费观看三人同眠| 亚洲婷婷第一狠人综合精品| AV无码精品一区二区三区| 91麻豆国产精品91久久久| 精品久久久无码人妻中文字幕豆芽| 多人伦精品一区二区三区视频| 日本精品高清一区二区2021| 国产精品国三级国产aⅴ|