LAMP-Apache虚拟主机

在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录。Apache虚拟主机配置有3中方法:基于IP配置、基于域名配置和基于端口配置。下面将演示基于域名的虚拟主机。

1、编辑httpd.conf

[[email protected] ~]# vi /usr/local/apache2.4/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf    ##启用httpd-vhosts.conf

2、编辑httpd-vhosts.conf

[[email protected] ~]# vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>                      ##默认虚拟主机
    DocumentRoot "/data/www/abc.com"    ##网站根目录
    ServerName abc.com                  ##主域名
    ServerAlias  abc.net     ##域名别名 
    ErrorLog "logs/abc.com-error_log"            ##错误日志
    CustomLog "logs/abc.com-access_log" common   ##访问日志
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/data/www/123.com"
    ServerName 123.com
    ErrorLog "logs/123.com-error_log"
    CustomLog "logs/123.com-access_log" common
</VirtualHost>

3、创建网站目录与文件

[[email protected] ~]# mkdir /data/www
[[email protected] ~]# mkdir /data/www/abc.com
[[email protected] ~]# mkdir /data/www/123.com
[[email protected] ~]# cat /data/www/abc.com/index.php
<?php
echo "abc.com";
?>
[[email protected] ~]# cat /data/www/123.com/index.php
<?php
echo "123.com";
?>
[[email protected] ~]# chmod 755 /data/www/123.com/index.php
[[email protected] ~]# chmod 755 /data/www/abc.com/index.php

4、重新加载配置

[[email protected] ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[[email protected] ~]# /usr/local/apache2.4/bin/apachectl graceful

5、测试虚拟主机效果

[[email protected] ~]# curl -x192.168.137.100:80 123.com
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don‘t have permission to access /
on this server.<br />
</p>
</body></html>

测试发现没有权限,由于前面给index.php文件授权过,因此定位问题在httpd.conf。

[[email protected] ~]# vi /usr/local/apache2.4/conf/httpd.conf
<Directory />
    AllowOverride none
#   Require all denied          ##将该行注释掉
</Directory>
[[email protected] ~]# /usr/local/apache2.4/bin/apachectl graceful ##重新加载配置
[[email protected] ~]# curl -x192.168.137.100:80 123.com
123.com
[[email protected] ~]# curl -x192.168.137.100:80 abc.com      
abc.com
[[email protected] ~]# curl -x192.168.137.100:80   ##匹配别名主机 
abc.com
[[email protected] ~]# curl -x192.168.137.100:80 abcd.com   ##采用默认虚拟主机
abc.com
时间: 2024-10-08 19:35:08

LAMP-Apache虚拟主机的相关文章

监控apache虚拟主机进程

mod_status模块能输出如下内容: 正在伺服请求的工作者(线程或进程)数量 空闲的工作者数量 每个工作者的状态:已完成的请求数.已发送的字节数.(*) 总访问数和已发送的字节总数(*) 服务器自启动/重启以来经过的时间,服务器已经运行的时间. 平均每秒请求数,平均每秒发送的字节数,平均每个请求发送的字节数.(*) 每个工作者的当前CPU使用百分率,以及Apache的当前总计CPU使用百分率.(*) 当前正在被处理的主机和请求(*) 安装步骤 1.检查是否加载mod_status模块 ①进入

Apache虚拟主机配置

在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录.Apache虚拟主机配置有3中方法:基于IP配置.基于域名配置和基于端口配置,这里介绍基于域名配置和基于端口配置,基于IP配置方法类似. 1. Apache基于域名配置虚拟主机: 打开Apache安装目录下的配置文件conf/extra/httpd-vhosts.conf,添加如下配置信息: <VirtualHost _default_:80> DocumentRoot &quo

Apache虚拟主机及别名配置

Apache虚拟主机配置 增加监听端口(修改conf/httpd.conf文件) Listen 127.0.0.1:8092 修改主站点权限(修改conf/httpd.conf文件) <Directory /> AllowOverride none # Require all denied </Directory> 允许虚拟主机配置(修改conf/httpd.conf文件) # Virtual hosts Include conf/extra/httpd-vhosts.conf 增

Apache 虚拟主机简单设置

Listen 80 <VirtualHost 192.168.5.129> DocumentRoot /var/www/html/web ServerName 192.168.5.129 ErrorLog /etc/httpd/logs/129_error_log </VirtualHost> <VirtualHost 127.0.0.1> DocumentRoot /var/www/html ServerName 127.0.0.1 ErrorLog /etc/htt

Apache虚拟主机(VirtualHost)配置

首先找到Apache的配置文件httpd.conf find / -name httpd.conf 找到以下代码处 #Virtual hosts #Include conf/extra/httpd-vhosts.conf 按照上面的格式加入一行,你的虚拟主机配置文件,当然,你可以先加入再去写配置 Include conf/extra/httpd-vhosts.端口号.conf #此处填写端口号是为了统一管理,便于记忆 之后新建配置文件,在配置文件中输入以下信息 touch conf/extra/

配置LANMP环境(7)-- 配置nginx反向代理,与配置apache虚拟主机

一.配置nginx反向代理 1.修改配置文件 vim /etc/nginx/nginx.conf 在35行http下添加一下内容: include /data/nginx/vhosts/*.conf; include /etc/nginx/upstream.conf; 2.在/etc/nginx/目录下新建 upstream.conf文件 vim upstream.conf upstream dev.test1.com { server 127.0.0.1(换成虚拟机ip):8080 weigh

Apache虚拟主机搭建(单IP多网站服务器配置)

一些小型网站若一个网站放在一台服务器上会大量浪费服务器资源,如何在一个服务器上架设多个网站呢? 我们已经知道,架设一个网站需要http服务,安装Apache后,我们可以把我们网站的内容放入到/usr/local/apache2/htdocs/里面,启动httpd服务,设置好防火墙,就可以浏览我们的网站了,那么若是想要部署多个网站要怎么做呢?这就需要apache的一个vhost虚拟主机功能了.我们来用一个实验实现这个效果:计算机浏览器输入www.a.com 显示"I am A!",输入w

二、 搭建Apache虚拟主机

二. 搭建Apache虚拟主机 1.背景: 虚拟主机:一台web主机配置多个站点,每个站点,希望用不同的域名和站点目录,或者是不同的端口,或者是不同的IP. 假设网站的域名为:52linux.com,网站下面设有 http://www.52linux.com;: http://blog.52linux.com;: http://bbs.52linux.com: 三个站点,这样我们可以在一台apache主机上配置虚拟主机来实现. 通常虚拟主机分为3种: 基于域名,基于端口,基于IP,以及它们的混合

DNS服务+Apache虚拟主机

安装RPM包 [[email protected] extra]# rpm -qa | grep "^bind" bind-chroot-9.8.2-0.17.rc1.el6_4.6.x86_64 伪根 (可有可无) 主要: bind-libs-9.8.2-0.17.rc1.el6_4.6.x86_64 bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64 bind-9.8.2-0.17.rc1.el6_4.6.x86_64 安装软件包 yum instal

http服务(四)——apache虚拟主机配置

apache虚拟主机分为三类:基于IP.基于端口.基于域名.通常虚拟主机和物理主机不能同时使用,开启虚拟主机需注释掉以下一行: DocumentRoot "/var/www/html" 一.基于IP 1. 假设服务器有个IP地址为192.168.1.10,使用ifconfig在同一个网络接口eth0上绑定3个IP: [[email protected] root]# ifconfig eth0:1 192.168.1.11 [[email protected] root]# ifcon