龙空技术网

Apache和php结合及默认虚拟主机实例讲解

IT生涯 275

前言:

当前咱们对“apache中虚拟路径”大体比较看重,兄弟们都想要知道一些“apache中虚拟路径”的相关文章。那么小编在网上收集了一些对于“apache中虚拟路径””的相关知识,希望小伙伴们能喜欢,同学们一起来学习一下吧!

1.Apache和php结合

htppd的主配置文件是/usr/local/apache2/conf/httpd.conf,编辑该文件;

把ServerName这一行去掉注释;

如下图,将denied修改为granted,修改它是因为不设置这行,在访问时会报403,它的目的是允许所有请求;

找到下面这一段,添加一行“AddType application/x-httpd-php .php”;

找到下面这一段,在后面添加index.php

查看配置文件是否正确并启动;

[root@yuioplvlinux-128 ~]# /usr/local/apache2/bin/apachectl -t #查看配置文件是否正确Syntax OK[root@yuioplvlinux-128 ~]# /usr/local/apache2/bin/apachectl graceful #等同于restarthttpd not running, trying to start/usr/local/apache2/bin/apachectl: 行 79: 1366 段错误 $HTTPD -k $ARGV

报错是因为同时启用了php5和php7,选择注释一行即可,然后重新启动;

编辑该文件,“vim /usr/local/apache2/htdocs/1.php”

并新增一行,“echo ""”

在浏览器中输入ip地址加文件名;

换成php7;

2.Apache默认虚拟主机

2.1 打开Windows的hosts文件,路径为:C:\Windows\System32\drivers\etc\hosts,在里面新增一行:

保存成功后,在浏览器输入指定的网址:

2.2 默认虚拟主机

? ? ? ?早期的linux服务器上,一个服务器只能运行一个网站,也就是说只能跑一个域名。随着技术的发展,一个服务器支持多个域名,所有就有了虚拟主机的概念,可以吧一台服务器虚拟出来多个主机,这样就实现了一台服务器上跑多个站点。

? ? ? ?访问一个网站,需要在浏览器中输入域名,然后就能访问到网站内容,这个过程是需要浏览器和远程服务器通信的,网站内容就是从服务器上读取到的,域名会解析服务器的IP地址,而这个是由DNS服务器来完成的。如果访问的域名指向了服务器,在服务器也做了相应的配置,则能正常访问。

? ? ? ?httpd是支持多个虚拟主机的,即标记多个域名。如果没有标记的域名也指向了这台服务器,会有一个处理这些域名的虚拟主机,这个虚拟主机就是“默认虚拟主机”。任何一个域名执行服务器,只要是没有对应的虚拟主机,就会由这个默认虚拟主机来处理。

首先编辑配置文件/usr/local/apache2/conf/httpd.conf,找到这一行,将前面的#号删除;

编辑虚拟主机配置文件,“

vim /usr/local/apache2/conf/extra/httpd-vhosts.conf”;

以开头,结尾,这一段就是一个虚拟主机,默认虚拟主机就是第一个配置段;

ServerAdmin指定管理员邮箱,一般没什么用;DocumentRoot为该虚拟主机站点的根目录,网站的程序就放在这个目录下面;ServerName为网站的域名;ServerAlias为网站的第二域名,可以写多个;ErrorLog为站点的错误日志;CustomLog为站点的访问日志。

将其更改为:

 DocumentRoot "/data/wwwroot/yu.com" ServerName yu.com ServerAlias   ErrorLog "logs/yu.com-error_log" CustomLog "logs/yu.com-access_log" common DocumentRoot "/data/wwwroot/aaa.com" ServerName aaa.com ServerAlias  ErrorLog "logs/aaa.com-error_log" CustomLog "logs/aaa.com-access_log" common

创建目录及编辑主页内容;

[root@yuioplvlinux-128 ~]# mkdir -p /data/wwwroot/yu.com /data/wwwroot/aaa.com #创建目录[root@yuioplvlinux-128 ~]# echo "yu.com" > /data/wwwroot/yu.com/index.html #网站默认的主页就是index.html[root@yuioplvlinux-128 ~]# echo "aaa.com" > /data/wwwroot/aaa.com/index.html[root@yuioplvlinux-128 ~]# /usr/local/apache2/bin/apachectl -tSyntax OK[root@yuioplvlinux-128 ~]# /usr/local/apache2/bin/apachectl graceful #重新加载httpd服务[root@yuioplvlinux-128 ~]# curl -x192.168.30.128:80 yu.comyu.com[root@yuioplvlinux-128 ~]# curl -x192.168.30.128:80 aaa.comaaa.com[root@yuioplvlinux-128 ~]# curl -x192.168.30.128:80 abc.comyu.com

当第三个域名abc.com访问时,会去访问yu.com,即访问默认虚拟主机。

标签: #apache中虚拟路径