开发者社区> 技术小牛人> 正文

Apache虚拟主机案例演示

简介:
+关注继续查看

基于dns的实验拓扑上构建网站服务器,这里以apache来搭建

首先进入科普:

url=协议+主机地址或域名+资源地址

www服务使用排名  查询网站https://w3techs.com/

1.Apache49.9%-0.5%  中小型静态web主流,web服务器中老大

2.Nginx33.4%+0.7%  大型新兴今天web主流,web服务器中的初生牛犊

3.Microsoft-IIS11.3%-0.2%  微软web服务器

4.LiteSpeed2.5%

5.Google Servers1.2%-0.1%

 

动态web服务

Microsoft-IIS  微软web服务器  asp

tomcat  java容器主流  jsp

resin  java容器主流

php   php程序的解析容器

 

apache稳定,安全,配置简单,速度快,应用广泛,可以做负载均衡,处理

小文件能力不如nginx

 

apache下载地址:www.apache.org

 



源码包与二进制包选择

1)对外提供服务选择源码包(lamp),因为效率更高

2)软件包是linux底层支持包,选择二进制包(gcc编译器),因为安装方便

相关文件

Apache配置文件

源码包安装/usr/local/apache2/etc/httpd.conf

Usr/local/apache/etc/extra/*.conf

 

Rpm包安装/etc/httpd/conf/httpd.conf

 

网页保存位置

源码包安装:/usr/local/apache2/htdocs/

Rpm包安装:/var/www/html/

 

日志保存位置

源码包安装:/usr/local/apache2/logs

Rpm包安装:/var/log/httpd/

 

注意日志的轮替

 

关闭服务:/usr/local/apache2/bin/apachectl stop

开启服务:/usr/local/apache2/bin/apachectl start

注意:不能直接restart

基本配置

ServerRoot       apache主目录

Listen          监听端口

LoadModule     加载的相关模块

User            伪用户

Group           伪用户组

ServerAdmin      管理员邮箱

ServerName       服务器名

DirectoryIndex     默认主页文件

ErrorLog          错误日志

LogLevel          日志等级

CustomLog        正确访问日志

Include           加载子配置文件

主页目录及权限

网页主目录DocunmentRoot /usr/local/apache2//htdocs

Apache安全性就体现在directory权限

<Directory /usr/local/apache2//htdocs>

所有网页必须必须定义放在这个目录下才可以访问

Options   真正的权限

一般定义为followsymlinks (准许经过此目录链接到其他目录)

None:没有任何额外权限

All:所有权限

Indexes:浏览权限

 

AllowOverride  子权限文件开关(定义是否允许目录下.htaccess文件中的权限生效)

None:htaccess文件中的权限不生效

All:文件中所有权限都生效

 

Require  访问控制列表

<RequireALL>

Require all granted

Require ip 192.168.1.1

 

</RequireALL>

仅仅允许ip192.168.1.1的主机访问

<RequireALL>

Require all granted

Require ip 192.168.1.0/24

仅仅允许ip192.168.1.0/24网络的主机访问

</RequireALL>

 

<RequireALL>

Require all granted

Require not ip 192.168.1.2

 

 

</RequireALL>

禁止192.168.1.2的主机访问,其他的都允许访问

 

</Directory>

 

 

Require all granted 允许所有访问

Require all denied 拒绝所有访问

 


实操阶段:

 

源代码安装Apache服务器

 

1. httpd源代码包复制到linux 系统/usr/local/src目录下,并解压


实验拓扑图:

wKiom1jwf4jQ_rPcAAAzkKGHijw535.png-wh_50 

安装gcc  gcc+

yum -y install gcc-c++

 yum -y install gcc

 

 

httpd源代码包复制到linux 系统/usr/local/src目录下,并解压

cd /usr/local/src

tar xzf httpd-2.2.9.tar.gz

cd httpd-2.2.9

./configure --prefix=/usr/local/apache2/  --enable-so  --enable-rewrite

make && make install

cd /usr/local/apache2/

 vim conf/httpd.conf

97 ServerName www.winsnet.com:80   //更改这一行为你的域名地址

关闭服务:/usr/local/apache2/bin/apachectl stop

开启服务:/usr/local/apache2/bin/apachectl start

注意:不能直接restart

                      Apache添加为系统服务

 

Apache添加为系统服务

cp -ap /usr/local/apache2/bin/apachectl /etc/init.d/apachectl

 vim /etc/init.d/apachectl

 2 #description: apache server     //添加这两行

  3 #chkconfig:35 61 61

 

 chkconfig --add apachectl

chkconfig --list apachectl    //从输出结果来看已经添加进系统服务,从此就可以用service来管理了

 service  apachectl start|stop

 

                      虚拟主机

1. 准备www.baby.comwww.kuparts.com两个虚拟网站的主目录及网站首页

 cd /usr/local/apache2/htdocs

 

 mkdir baby kuparts     //创建两个虚拟网站目录

 cd lab/

 vim index.html   //将网页源代码传到这里

 This is lab

 

 cd ..

 cd winsnet/

 vim index.html  //将网页源代码传到这里

 this is winsnet

 

 cd /usr/local/apache2/      //编辑配置文件

 vim conf/httpd.conf

 

388 Include conf/extra/httpd-vhosts.conf   //把这一行注释去掉

 

 cd /usr/local/apache2/conf/extra    //编辑子配置文件

 vim httpd-vhosts.conf

<Directory "usr/local/apache2/htdos/baby">   //加入directory权限

Options Indexes

AllowOverride None

Require all granted

</Directory>

 

<Directory "usr/local/apache2/htdos/kuparts">

Options Indexes

AllowOverride None

Require all granted

</Directory>

 

<VirtualHost *:80>      //编辑配置文件

    ServerAdmin 98376587@qq.com   //自己邮箱地址

    DocumentRoot "/usr/local/apache2/htdocs/baby"  
//网页主目录

    ServerName www.baby.com    //网站完整域名

#    ServerAlias www.dummy-host.example.com   //网站别名

    ErrorLog "logs/baby-error_log"     //错误日志

    CustomLog "logs/baby-access_log" common   //正确日志

</VirtualHost>

 

<VirtualHost *:80>

    ServerAdmin 983765387@qq.com

  DocumentRoot "/usr/local/apache2/htdocs/kuparts"  
//网页主目录

    ServerName www.kuparts.com    //网站完整域名

#    ServerAlias www.dummy-host.example.com   //网站别名

    ErrorLog "logs/kuparts-error_log"     //错误日志

    CustomLog "logs/kuparts-access_log" common   //正确日志

</VirtualHost>



                     

service  apachectl  stop

service  apachectl  start



测试结果

wKiom1jwgsmAFoSwAAcHynBqwFE493.png-wh_50

wKioL1jwgtGD2ZLjAASlnqCgvTw533.png-wh_50


本文转自    探花无情   51CTO博客,原文链接:http://blog.51cto.com/983865387/1916042


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
20777 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
30172 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
14062 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
23040 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
17305 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
21234 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
14926 0
5723
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载