首页 > 代码库 > Apache虚拟主机案例演示
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>
仅仅允许ip为192.168.1.1的主机访问
<RequireALL>
Require all granted
Require ip 192.168.1.0/24
仅仅允许ip为192.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目录下,并解压
实验拓扑图:
安装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.com和www.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
测试结果
本文出自 “快乐学习” 博客,请务必保留此出处http://983865387.blog.51cto.com/9838888/1916042
Apache虚拟主机案例演示