溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何創(chuàng)建虛擬主機并運行php項目

發(fā)布時間:2022-08-08 11:32:48 來源:億速云 閱讀:251 作者:iii 欄目:編程語言

這篇文章主要介紹了如何創(chuàng)建虛擬主機并運行php項目的相關(guān)知識,內(nèi)容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇如何創(chuàng)建虛擬主機并運行php項目文章都會有所收獲,下面我們一起來看看吧。

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

一、wamp創(chuàng)建網(wǎng)站

1.1 了解默認網(wǎng)站程序

安裝完成后,托盤圖標是正常的綠色。
如何創(chuàng)建虛擬主機并運行php項目

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

如何創(chuàng)建虛擬主機并運行php項目

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

1.2 創(chuàng)建新的虛擬主機

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


  1. hosts,文件位置:C:\Windows\System32\drivers\etc
    如何創(chuàng)建虛擬主機并運行php項目

如何創(chuàng)建虛擬主機并運行php項目

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

  1. httpd.conf,文件位置:D:\wamp64\bin\apache\apache2.4.17\conf

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

  1. httpd-vhosts.conf,文件位置:D:\wamp64\bin\apache\apache2.4.17\conf\extra

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


下面我有一個需求:

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

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

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

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

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

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

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

如何創(chuàng)建虛擬主機并運行php項目

另外VirtuaHost *:端口號

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

如何創(chuàng)建虛擬主機并運行php項目

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

如何創(chuàng)建虛擬主機并運行php項目
如何創(chuàng)建虛擬主機并運行php項目
成功獲得響應。

二、Phpstudy創(chuàng)建網(wǎng)站

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

需求不變,還是創(chuàng)建一個網(wǎng)站www.test.com:81,

1.1 效果演示

一)、直接啟動apache

如何創(chuàng)建虛擬主機并運行php項目

二)、創(chuàng)建網(wǎng)站

如何創(chuàng)建虛擬主機并運行php項目

根目錄選擇項目的根目錄

三)、查看效果

如何創(chuàng)建虛擬主機并運行php項目

這就完成了…

1.2 配置文件查看

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

一)、hosts

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

二)、httpd.conf和vhost.conf

如何創(chuàng)建虛擬主機并運行php項目

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

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

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

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

ServerName指令:

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

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

DocumentRoot指令:

語法:DocumentRoot directory-path

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

ErrorLog指令:

語法: ErrorLog file-path

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

CustomLog指令:

語法: ErrorLog file-path common

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

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

為主目錄或虛擬目錄設(shè)置權(quán)限。

特性:

Options FollowSymLinks IncludesNOEXEC Indexes

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

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

DirectoryIndex index.html index.htm index.php

設(shè)置訪問目錄后進入的默認文件

AllowOverride all

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

Order Deny,Allow

Allow from all

設(shè)置缺省的訪問權(quán)限與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語句,所以是禁止所有客戶機訪問

關(guān)于“如何創(chuàng)建虛擬主機并運行php項目”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“如何創(chuàng)建虛擬主機并運行php項目”知識都有一定的了解,大家如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI