一、虚拟主机

虚拟主机是Apache提供的一个功能,通过虚拟主机拉雅在一台服务器上部署多个网站。虽然服务器的IP地址是相同的,但用户当用户使用不同的域名访问时,访问到的是不同的网站。

下面讲解Apache虚拟主机配置,当然,前提是你的CentOS已经安装并配置好了Apache服务器。

二、搭建虚拟主机

1.创建目录结构:

首先,我们需要创建一个目录结构,以保存网站数据,为访客提供服务。我们的文档根目录将被设置为在各个 /var/www/ 目录中,我们将这里为我们的每个虚拟主机创建一个目录。

在每个虚拟主机的目录中,我们将创建一个 public_html 用于存放实际文件。我们可以使用如下命令创建目录:

sudo mkdir -p /var/www/example.com/public_html

2.授予权限:

现在我们有了文件目录结构,但是它们是由 root 用户所拥有的,如果我们希望普通用户能在我们的网页目录修改文件,我们可以改变文件的权限

sudo chown -R $username:$usergroup /var/www/example.com/public_html

此外,还应修改权限以确保允许对一般Web目录及其中的所有文件和文件夹进行访问,以便正确提供页面。

sudo chmod -R  /var/www

3.为虚拟主机创建网站主页:

我们只是要作出网站主页 index.html 用以确保虚拟主机正确运行,创建一个新的 index.html 文件

vim /var/www/example.com/public_html/index.html

然后写入代码,这里我们只创建一个简单的页面:

<html>
<head>
<title>Welcome to example.com ! </title>
</head>
<body>
<h1>Success ! The example.com virtual host is working !</h1>
</body>
<html>

保存并关闭文件。

4. 创建新的虚拟主机文件:

虚拟主机文件是指定我们单独站点的配置,并指定 Apache Web 服务器如何响应各种域请求。

首先,我们将创建虚拟主机的存储目录,以及告知 Apache 虚拟主机准备好向访问者提供的目录。我们将创建两个目录,其中 sites-available 目录将保存我们所有的虚拟主机文件,而 sites-enabled 目录将举行符号链接。我们可以通过如下 bash 命令创建这两个目录:

sudo mkdir /etc/httpd/sites-available
sudo mkdir /etc/httpd/sites-enable

然后,我们要 Apache 查找虚拟主机 sites-enable 目录,为实现这一点,我们将编辑Apache的主配置文件 /etc/httpd/conf/httpd.conf 在文件的末尾添加:

IncludeOptional sites-enable/*.conf

接下来我们就可在存储目录中创建我们的拟主机文件了,使用root权限打开新文件:

sudo vim /etc/httpd/sites-available/example.com.conf

然后写入虚拟主机的配置:

<VirtualHost *:>    #监听端口为80
ServerName www.example.com
ServerAlias example.com
DocumentRoot /var/www/example.com/pubilc_html
ErrorLog /var/www/example.com/error.log
CustomLog /var/www/example.com/requests.log combined
</VirtualHost>

5.启用新的虚拟主机:

现在我们已经创建了虚拟主机文件,我们需要启用他们呢,以便Apache知道将它们提供给访问者。要做到这一点,我们可以创建一个符号链接在每个虚拟主机的sites-enable 目录:

sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enable/example.com.conf

完成后,重新启动Apache以使这些更改生效:

sudo apachectl restart

6.设置本地主机文件爱(可选):

用于测试虚拟主机的功能,通过修改 /etc/hosts 文件,将所有对 www.example.com 的访问直接传递给我们:

#server_ip_address example.com www.example.com
127.0.0.1 example.com www.example.com

然后测试我们的虚拟主机,在浏览器中键入 http://www.example.com 顺利的话就能打开我们的测试的主页文件。

Centos7下配置Apache的虚拟主机的更多相关文章

  1. win7下配置Apache本地虚拟主机

    我们有时候从网上下载下来的php源码很多都是应用在网站根目录下的,而我们又想在本地先测试一遍确定没有问题了再上传空间,但一换到子目录下的时候因为路径问题,使得许多图片.内容都无法显示. 这个时候我们就 ...

  2. php配置虚拟主机的配置步骤(hosts、httpd.conf、vhosts.conf)1.配置本地的dns文件2.配置apache的主配置文件3.配置Apache的虚拟主机

    1.域名解析(DNS) 找到C:\Windows\System32\drivers\etc目录下的hosts文件,在里面进行添加对应的内容

  3. 利用主机域名配置Apache的虚拟主机功能

    利用主机域名配置Apache的虚拟主机功能,可以减轻服务器为每一个网站分配IP地址的压力.而且根据不同的主机域名可以输出不同的网页内容.要实现此项功能,可以通过修改/etc/host文件来强制定义IP ...

  4. ubuntu配置apache的虚拟主机

    ubuntu中apache的配置文件分散在几个文件中,/etc/apache2/apache2.conf将它们组织起来.这样设计有很多好处,这里就不在赘述了.进入正题: 1)配置文件在/etc/apa ...

  5. ubuntu下的apache的虚拟主机的配置

    ubuntu下的虚拟主机的配置相对window下的虚拟主机配置有些许不同. 对于要新建的虚拟主机,我们可以有如下几个步骤: 1.在/etc/apache2/sites-available/目录下新建一 ...

  6. wamp 环境下配置多台虚拟主机

    首先启动wamp,成功之后,单击图标,找到Apache服务器下的 httpd.conf ,直接打开 按下Ctrl+F键,在搜索框中搜索 Virtual hosts, 搜寻结果如下图: 3. 然后打开w ...

  7. 配置 Apache 的虚拟主机

    1.在host配置比如: 找到记事本以管理员的身份打开,然后文件->打开  C:\Windows\System32\drivers\etc    下面的hosts文件 127.0.0.1 www ...

  8. Ubuntu下通过apache建立虚拟主机

    一个搞前端交互的,总会遇到这样那样的,不需要写代码去解决的问题,怎么搞?答:只能去大海里捞,问题很明确但答案不一定靠谱,因为回答的人不用去考虑你是否会给自己系统搞崩溃. 那么我只能把自己经过验证的答案 ...

  9. mac 10.9.4下配置apache

    mac 10.9.x已经自带了apache,可按如下步骤开启: 1.启动 sudo apachectl start 启动后,访问 http://localhost/ 应该能看到"It wor ...

随机推荐

  1. [51nod 1256] 乘法逆元 - exgcd

    给出2个数M和N(M < N),且M与N互质,找出一个数K满足0 < K < N且K * M % N = 1,如果有多个满足条件的,输出最小的. Solution 用 EXGCD 求 ...

  2. R ggplot学习笔记1

    R 可视化学习笔记 记参数挺费劲的,还是用的时候查官方文档吧,现在记个大概就行吧~ 1.ggplot2分层次绘图 1.1 核心理念 把绘图与数据分离,把数据相关的绘图与数据无关的绘图分离,按图层作图. ...

  3. gulp常用插件之gulp-sourcemaps使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 gulp-sourcemaps这是一款用来生成映射文件的一个插件,SourceMap 文件记录了一个存储源代码与编译代码对应位置映射的信息文件.我 ...

  4. py 二级习题(加密与解密)

    题目: 1.比如说,我想    “我喜欢月月”  这句话加密即:将字符串中的每个字符的unicode值全都向后移动三位,即unicode 值加3,然后输出. 2.将按照上述规则加密的文字解密即:将字符 ...

  5. 跨站请求伪造(Cross-site request forgery), 简称为 XSRF

    跨站请求伪造(Cross-site request forgery), 简称为 XSRF,是 Web 应用中常见的一个安全问题.前面的链接也详细讲述了 XSRF 攻击的实现方式. 当前防范 XSRF ...

  6. java连接Sqlserver数据库问题总结

    网上说的要在:Sqlserver配置管理器中设置SQL Server网络配置->SQLEXPRESS的协议->TCP/IP的方法试了没啥用 不知道是不是自己测试设置的时候改了啥参数给整好了 ...

  7. PAT 基础编程题目集 6-10 阶乘计算升级版 (20 分)

    本题要求实现一个打印非负整数阶乘的函数. 函数接口定义: void Print_Factorial ( const int N ); 其中N是用户传入的参数,其值不超过1000.如果N是非负整数,则该 ...

  8. 126.自动处理上传的文件,获取上传文件的url

    使用模型来处理上传的文件: 在定义模型的时候,我们可以给存储的文件的字段指定为FileField,这个field可以传递一个upload_to参数,用来指定上传上来的文件保存到哪里,比如我们让它保存到 ...

  9. k8s获取apiversion下面的对应可用资源

    1- 获取api命令 [注:以下命令的url地址http://127.0.0.1/为k8s master的地址] kubectl api-versions 输出内容如下: apps/v1beta1 a ...

  10. [Python]find_all函数 2020.2.7

    .find_all(name,attrs,recursive,string,**kwargs) name:对标签名称的检索字符串attrs:对标签属性值的检索字符串,可标注属性检索recursive: ...