正在阅读:

Linux服务器下搭建多站的Apache配置方法

web

前面写了一篇在win系统下面搭建多个网站的Apache配置方法,后来在Linux上面用同样的方式测试了一遍,发现win的配置方法并不适用于Linux(测试环境为CentOS 7 ),但是两者的配置方法还是差不了多少的,在这贴一下步骤,可供大家参考。

一、搭建网站

这个就不用多说了,只要在www目录下面搭建多个网站,每个网站一个文件夹就好,下面的图片是我的两个网站目录。

web目录

二、配置Apache文件

1、配置httpd.conf文件(文件位置一般在Apache安装目录的conf文件夹下面),查找内容 httpd-vhosts.conf ,将这一行前面的#注释号去掉,然后保存。这句话的意思有事开启使用httpd-vhosts.conf文件。

2、配置httpd-vhosts.conf文件(文件位置在conf文件夹下面的extra文件夹下面),文件夹里面可能会存有一些样例数据,没注释掉的那些都是,这些代码直接删掉就好,如果不删掉的话会报错的。然后添加下面的代码。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<VirtualHost *:80>
    ServerName k2zone.cn   #定义域名
    ServerAlias www.k2zone.cn   #定义子级域名
    DocumentRoot "/yjdata/www/www/blog/"   #定义网站目录
    #下面这一行适合php未配置解析目录的,如果已经定义了解析目录就不需要了,腾讯云的一般需要加。
    #ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:10000/yjdata/www/www/blog/$1
    DirectoryIndex index.html index.php
    #下面的代码是定义文该网站的Apache日志的生成位置,注意,目录一定要存在,否则会报错。
    CustomLog "| /usr/local/apache2/bin/rotatelogs /wwwlogs/blog/%Y_%m_%d_access_log 86400 480" combined
  <Directory "/yjdata/www/www/blog">
      Options  FollowSymLinks  #禁止显示文件目录
      AllowOverride None
      Order allow,deny
      Allow from all   #允许所有人访问
  </Directory>
</VirtualHost>

注意将上面域名部分改成你自己的域名和Apache目录和网站目录!!。

如果是多个站,只需要在下面多添加些即可。

做好这些之后重启Apache,命令行为: service httpd restart  注意不同的版本命令不一样,一般是这个。

在写做完上面的配置之后,我发现有些效果和Apache不太一样,比如并没有配置外网ip的访问目录,但是仍然可以使用外网访问,这个我找了半天原因也没有找到,最后在下面用外网ip配置了一遍,禁止访问才可以,不像win上面,直接为每个域名开启虚拟主机,如果不配置外网是没办法访问的。如果有朋友找到了原因还请留言。

目前有:3条访客评论,博主回复2

  1. PHP程序员雷雪松

    支持一下博主!!!

    • kTWO
      2016-12-26 18:40

      谢谢支持,刚刚去了贵站看了一下,发现自己要学的东西还是很多的。

  2. 北京开源人Linux运维实战

    *表示的是本机上的所有IP,指定内网IP就可。

  3. 北京开源人Linux运维实战

    VirtualHost *:80*表示的是本机上的所有IP,指定内网IP就可。VirtualHost 内网IP:80

留下脚印,证明你来过。

*

*

流汗坏笑撇嘴大兵流泪发呆抠鼻吓到偷笑得意呲牙亲亲疑问调皮可爱白眼难过愤怒惊讶鼓掌