PHP学习笔记(七)

时间:2021-08-09
本文章向大家介绍PHP学习笔记(七),主要包括PHP学习笔记(七)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

配置虚拟主机

一台服务器如果只能部署一个网站,那么非常浪费。所以需要通过其他手段实现一台主机部署多个网站。

什么是虚拟主机

●●●●●● 都是假滴,网络世界真真假假
通俗的讲虚拟主机就是将计算机中不同的文件夹进行不同的命名,然后可以实现让服务器(Apache)根据用户的需求不同从不同的文件夹(网站)中读取不同的内容。

虚拟主机的分类

在apache可以将虚拟主机划分为两类
1.基于IP的虚拟主机:一台电脑上有多个IP,每个IP对应一个网站,电脑默认只有一个IP,因为通常只有一个网卡,但是有的服务器主机有多个网卡,每个网卡绑定一个IP地址。
2.基于域名的虚拟主机:一台电脑是只有一个IP,但是IP下可以制作多个网站,但是需要给每个网站不同的名字(虚拟主机名)。

搭建基于域名的虚拟主机

在Apache中搭建虚拟主机有两种方式
1.在主配置文件中搭建:需要手动开启虚拟主机(基于域名)
NameVirtualHost*:80

2.在专门的虚拟主机配置文件中配置

2.1在主配置文件中加载虚拟主机配置文件:虚拟主机配置文件已经开启了虚拟主机
NameVirtualHost
打开apache的conf文件夹下的httpd.conf,打开
Include conf/extra/http-vhost.conf

2.2虚拟主机配置文件中配置虚拟主机
①增加一个对应的站点文件夹:DocumentRoot
<VirtualHost *:80> DocumentRoot 'D:/discuz' </VirtualHost>

②增加主机的名字:文件夹的别名:ServerName
<VirtualHost *:80> DocumentRoot 'D:/discuz' ServerName:www.舒涵.fun </VirtualHost>

③增加域名解析DNS:hosts文件
在本机的host文件增加
127.0.0.1 www.舒涵.fun

④需要给我们设置的站点访问权限

<VirtualHost *:80>
  DocumentRoot 'D:/discuz'
  ServerName:www.舒涵.fun

  <Directory 'D:/discuz'>
  Order Deny,Allow  //没有顺序关系,实际顺序有意义
  //限定范围:按照顺序
  Deny from all
  Allow from all
  
  </Directory>
  </VirtualHost>
  //该代码写于extra文件夹下的httpd-vhosts.conf中

⑤配置访问列表:当访问时一个目录时(没有指定要访问的文件)


<VirtualHost *:80>
  DocumentRoot 'D:/discuz'
  ServerName:www.舒涵.fun

  <Directory 'D:/discuz'>
  Order Deny,Allow  //没有顺序关系,实际顺序有意义
  //限定范围:按照顺序
  Deny from all
  Allow from all
  
  </Directory>
  </VirtualHost>
  //该代码写于extra文件夹下的httpd-vhosts.conf中
  #列表显示(开发环境)
  Options Indexes FollowSymLinks//如过访问目录,那么列表显示所有文件

⑥当用于访问指定目录不指定文件时候,通常需要系统制定一个默认文件


<VirtualHost *:80>
  DocumentRoot 'D:/discuz'
  ServerName:www.舒涵.fun

  <Directory 'D:/discuz'>
  Order Deny,Allow  //没有顺序关系,实际顺序有意义
  //限定范围:按照顺序
  Deny from all
  Allow from all
  
  </Directory>
  </VirtualHost>
  //该代码写于extra文件夹下的httpd-vhosts.conf中
  #列表显示(开发环境)
  Options Indexes FollowSymLinks//如过访问目录,那么列表显示所有文件
  DirectoryIndex index.html index.htm index.php //默认访问文件

注意
如果是网站整个根目录语序访问,但是其中还有其他文件夹不允许访问,可以增加

  <Directory '限制的文件夹>
  Deny all
  </Directory>

来实现权限限定

3.一旦启用虚拟主机配置文件,那么默认主机的主机地址localhost不再生效,如果想要生效,为localhost增加单独的虚拟主机

<VirtualHost *:80>
  DocumentRoot 'D:/server/apache/htdocs'
  ServerName localhost

  <Directory 'D:/discuz'>
  Order Deny,Allow  //没有顺序关系,实际顺序有意义
  //限定范围:按照顺序
  Deny from all
  Allow from all
  
  </Directory>
  </VirtualHost>
  //该代码写于extra文件夹下的httpd-vhosts.conf中
  #列表显示(开发环境)
  Options Indexes FollowSymLinks//如过访问目录,那么列表显示所有文件
  DirectoryIndex index.html index.htm index.php //默认访问文件

原文地址:https://www.cnblogs.com/Emuaer/p/15117854.html