搭建网站之四完结篇——设置Apache虚拟主机(附AH00072: make_sock: could not bind to address [::]:443问题解决)

前面通过三篇实现了Web服务器的搭建、网页开发环境PHP的安装配置和SQL关系数据库的安装。

我们大概理解了,网站其实就是存放了一系列页面并通过入口、交互接口供我们访问和交互的页面。

首先,存放这些页面的地方就是我们搭建的Web服务器;入口就是访问页面的IP地址或域名网站来找到我们的Web服务器;交互的数据比如登录的用户名密码存储在SQL数据库中(不知道这样理解对不)

我们走到了搭建网站的最后一个环节:为Apache设置虚拟主机。

Apache虚拟主机是指在一台服务器上仅运行一个httpd后台程序而运行多个网站,如某公司财务部门有一台Web服务器名为account.yourdomain.com,同时又想为销售部门建立网站,网站内容也放在这台服务器上,是通过sales.yourdomain.com访问,这就要用到虚拟主机设置。

关于虚拟主机,有两种类型,一种基于名称,一种基于IP,有篇文章讲解比较好https://www.yiibai.com/apache_http/apache-virtual-host.html,看过以后也就理解了后面我们为什么要对配置做对应修改。这个文章是我设置完虚拟主机,开始写文章时才看到的,对于一个计算机小白,看过很多Apache虚拟主机的配置教程都是讲操作1,2,3等,我也就囫囵吞枣的照做了,而这类原理文章是告诉你虚拟主机的所以然让你更好的理解并记住。

--------------------------------------------------- 我是配置步骤的分割线 ----------------------------------------------

1. 修改httpd-2.4.46-o111i-x64-vc15\Apache24\conf\httpd.conf文件

    搜索Virtual hosts一项(大概是512行),删除掉“Include conf/extra/httpd-vhosts.conf”前面的#,表示加载httpd-vhosts.conf这个文件。

    

2. 很多教程里忽略的步骤——准备要访问的虚拟主机Web页面

     可能很多教程都默认我们都知道要事先存放Web页面,所以就没有写。

     我们在一个文件夹里放置等会要访问的html格式页面,如我这里文件夹路径为D:\2_Job\tools\Web,而html格式页面就把之前安装               Apache时的测试页面httpd-2.4.46-o111i-x64-vc15\Apache24\htdocs\index.html复制到D:\2_Job\tools\Web里面就可以了。

    为了以示区分,可以在html页面里改些内容,到时候访问时你就知道是访问的Apache默认路径Apache24\htdocs还是自己存放的虚拟主机页面了。

3. 修改httpd-2.4.46-o111i-x64-vc15\Apache24\conf\extra\httpd-vhosts.conf

    复制以下代码,覆盖原来的所有内容

<VirtualHost *:80>
    DocumentRoot "D:\2_Job\tools\httpd-2.4.46-o111i-x64-vc15\Apache24\htdocs"
    ServerName localhost
    <Directory "D:\2_Job\tools\httpd-2.4.46-o111i-x64-vc15\Apache24\htdocs">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "D:\2_Job\tools\Web"
    ServerName www.myBlog.com
    <Directory "D:\2_Job\tools\Web">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
    </Directory>
</VirtualHost>

其中第一个VirtualHost是Apache默认路径,因为要加载httpd-vhosts.conf文件则必须在httpd-vhosts.conf中添加Apache默认路径,否则我们之前https://blog.csdn.net/qq_38250687/article/details/112653476的默认路径httpd-2.4.46-o111i-x64-vc15\Apache24\htdocs里的Web页面不能被访问。

第二个则是我们添加的另一个虚拟主机的目录,其中DocumentRoot表示该虚拟主机的文件目录;ServerName表示该虚拟主机的域名。这里我的DocumentRoot是"D:\2_Job\tools\Web",ServerName www.myBlog.com。

<VirtualHost *:80>
    DocumentRoot "D:\2_Job\tools\httpd-2.4.46-o111i-x64-vc15\Apache24\htdocs"
    ServerName localhost
    <Directory "D:\2_Job\tools\httpd-2.4.46-o111i-x64-vc15\Apache24\htdocs">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "D:\2_Job\tools\Web"
    ServerName www.myBlog.com
    <Directory "D:\2_Job\tools\Web">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
    </Directory>
</VirtualHost>

4. 修改C:\Windows\System32\drivers\etc\host映射关系

    

使用文本编辑器如notepad++打开,添加自己想访问的域名(模拟外网),修改好后ctrl+s保存。如果权限不够不能保存,会提示请以管理员身份进行编辑和保存,这时以管理员权限保存即可。

5. 重启Apache服务

    由于修改了与Apache服务相关的httpd文件,需要重启apache服务。重启方法可以参考搭建网站之一——Windows环境安装Apache服务器软件(附安装时提示端口被占用的问题解决)的步骤4。建议使用命令行启动,可以查看报错信息。

    例如我这里显示如下报错:AH00072: make_sock: could not bind to address [::]:443

    

     通过查询得知是443端口被占用了。

     需要修改D:\2_Job\tools\httpd-2.4.46-o111i-x64-vc15\Apache24\conf\extra文件夹的httpd-ahssl.conf和httpd-ssl.conf。将两个文件里的443全文搜索替换为444或442(443出现可能不止一处)

    

     修改完成后,重启apache服务正常。

6.  测试

    1) 在浏览器中输入http://www.myblog.com/并访问,显示如下页面代表成功  (这里我将php的index.html稍做了修改,如在代码中添加了一行Hello mysql)

     

        2) 这时在浏览器中输入http://localhost/并访问,显示仍然是之前的php测试页面。

     

  3)  也可以在放置网页的文件夹下再放个index1.html,并做稍微修改,访问为http://www.myblog.com/index1.html,这里显示为我修改过的页面。

 

到这里网站搭建就结束了,但真正的学习还没有结束,下面我们可以继续学习网页知识哦,然后做出更多适合自己的网站。

相比很多网站搭建教程,一上来可能都会介绍阿里云之类的域名购买网站,但我觉得刚开始学习时,我们可能还没做好搭建一个完整网站的准备,所以使用自己的电脑搭建一个简单的网站,是有利于自己学习和理解的。等我们知识储备完善了,再购买一个域名,那时可能更合适。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值