分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

httpd搭建虚拟主机与Apache网站基础服务

发布时间:2023-09-06 02:09责任编辑:彭小芳关键词:http虚拟主机
前言
  1. Apache简介
  2. Apache的主要特点
  3. httpd 服务器的基本配置
  4. 搭建httpd虚拟主机

Apache简介:

Apache HTTP Server 是开源软件项目的代表,也是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。
因为它是自由的开源软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。


Apache的主要特点:

  • > 开源代码:这是它的重要特点之一,也是其他特性的基础
  • > 跨平台应用:apache服务器可以运行在绝大多数的平台上
  • 支持各种web编程语言:Apache服务器可支持的网页编程语言包括Perl、PHP、Python、Java等。

  • > ?模块化设计:Apache并没有将所有的功能集中在单一的服务程序内部,而是尽可能的通过标准的模块来实现专有的功能
  • > 运行非常稳定:Apache服务器可用于构建具有大量负载访问量的web站点
  • > 良好的安全性:Apache服务器具有相对较好的安全性,这是开源软件共同具有的特性

httpd 服务器的基本配置

1·安装httpd服务

yum install httpd -y ??


2·修改主配置文件

vim /etc/httpd/conf/httpd.conf ???????????//httpd的主配置文件
修改内容如下:
Listen 192.168.100.20:80 ?????????//监听地址
#Listen 80 ??????????????????????????????//需要注释掉IPV6的端口
service iptables stop ?????????????//关闭防火墙
setenforce 0
service httpd start ??????????????/ /开启httpd服务


3·验证httpd:

访问监听地址:192.168.100.20


4·修改站点内容:

cd /var/www/html/
echo "this is test web" > index.html ????#在站点中写入测试的语句


再来验证一次:


httpd 搭建多网站(虚拟主机)

1·需要建立虚拟主机的配置文件:

cd /etc/httpd/conf.d/
vim vdir.conf ???#手动建立一个虚拟主机的配置文件
添加虚拟目录的配置文件格式:
Alias /test "/opt/test/" ???????#别名,/test = /opt/test(站点存放的位子)访问网站时加上test
<Directory "/opt/test/"> ???????#开头定义路径 ??固定格式
Options Indexes MultiViews FollowSymLinks ??????#建立索引,固定格式
AllowOverride None ?????#不允许重写(固定格式)
AuthName "hello" ???????#hello信息
authtype basic ?????????#认证类型 basic是一种最基本的认证
authuserfile /etc/httpd/user ???#身份验证登陆,并且指定文件位子
#authgroupfile /etc/httpd/group ?#组身份验证登陆和指定文件位子
#require Valid-user ?????#开启用户认证
#require user test ??????#仅允许那些用户登陆
#Require group admin ????#仅允许那些组登陆
</Directory>


2·我们配置文件写好了,现在需要建立站点,因为在配置文件中我们指定的站点是没有的,所以需要手动建立,然后再站点中写入数据,便于测试!

mkdir /opt/test ??#建立虚拟主机站点
echo "this is test 2 " > /opt/test/index.html ?????#在站点中写入数据
service httpd restart ????#重启服务

验证:这样就可以从分利用服务器的性能


3·我们还可以做访问控制列表,需要用户认证配置:

htpasswd -c /etc/httpd/user zhangsan
vim /etc/httpd/conf.d/vdir.conf
去掉以下注释的内容:
require Valid-user ?????#开启用户认证
service httpd restar ???#重启服务


验证:


基于不同域名的虚拟主机

1·当虚拟web主机的数量较多时,建议使用独立的虚拟主机配置文件,然后再httpd.conf文件中通过Include来加载这些配置,这样会更方便配置内容的维护。这里就创建两个主机名的配置文件为列。

cd /etc/httpd/conf.d/
vim host.conf ??#建立独立的主机名配置文件
添加配置如下:
NameVirtualHost 192.168.100.20:80 #定义IP地址和端口
<VirtualHost 192.168.100.20:80> ??????#再次定义(固定格式)
ServerAdmin webmaster@dummy-host.example.com ?#管理员邮箱
DocumentRoot /opt/benet ??#定义站点目录
ServerName ?www.benet.com #服务器名字
ErrorLog logs/benet.com-error_log #错误日志文件名
CustomLog logs/benet.com-access_log common ???#访问日子文件名
</VirtualHost>


NameVirtualHost 192.168.100.20:80 #定义IP地址和端口
<VirtualHost 192.168.100.20:80> ??????#再次定义(固定格式)
ServerAdmin webmaster@dummy-host.example.com ?#管理员邮箱
DocumentRoot /opt/baidu ??#定义站点目录
ServerName ?www.baidu.com #服务器名字
ErrorLog logs/baidu.com-error_log #错误日志文件名
CustomLog logs/baidu.com-access_log common ???#访问日子文件名
</VirtualHost>

2·在配置文件中写的站点目录是没有的,所以需要手动创建,在站点写入一些数据方便测试

mkdir /opt/benet
mkdir /opt/baidu
echo "this is benet" > /opt/benet/index.html
echo "this is baidu" > /opt/baidu/index.html


3·既然是基于不同域名访问,那么我们就要搭建DNS服务:

rpm -ivh /mnt/Packages/bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
vim /etc/named.conf ??????#修改主配置文件
修改内容如下:
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory ??????"/var/named";
dump-file ??????"/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query ????{ any; };
recursion yes;


修改区域配置文件:

vim /etc/named.rfc1912.zones
修改内容如下:
zone "benet.com" IN { ???????????
type master;
file "benet.com.zone";
allow-update { none; };
};
zone "baidu.com" IN {
type master;
file "baidu.com.zone";
allow-update { none; };
};


修改区域数据配置文件:

cd /var/named/
cp -p named.localhost benet.com.zone
cp -p named.localhost baidu.com.zone
vim bent.com.zone
修改内容如下:
$TTL 1D
@ ??????IN SOA ?@ admin. (
0 ??????; serial
1D ?????; refresh
1H ?????; retry
1W ?????; expire
3H ) ???; minimum
NS ?????@
A ??????127.0.0.1
www IN ?A ??????192.168.100.20


修改第二个域名的区域数据文件:

vim baidu.com.zone

$TTL 1D
@ ??????IN SOA ?@ admin. (
0 ??????; serial
1D ?????; refresh
1H ?????; retry
1W ?????; expire
3H ) ???; minimum
NS ?????@
A ??????127.0.0.1
www IN ?A ??????192.168.100.20


重启服务,开始验证:

service httpd restart
service named restart



相同IP不同端口访问:

在vim /etc/httpd/conf/httpd.conf
添加如内容:
Listen 192.168.100.20:8080

在vim /etc/httpd/conf.d/host.conf 配置文件添加数据:
添加内容如下:

NameVirtualHost 192.168.100.20:8080
<VirtualHost 192.168.100.20:8080>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /opt/accp01
ServerName ?www.accp.com
ErrorLog logs/accp.com-error_log
CustomLog logs/accp.com-access_log common
</VirtualHost>


建立站点,并且写入数据

mkdir /opt/accp
echo "this is accp" > /opt/accp/index.html
重启服务,验证:

实验成功!

总结:

httpd 服务器的主配置文件是 httpd.conf,通过Include配置项可以加载其他配置文件
httpd 服务支持虚拟web主机(搭建多网站),可以基于域名、端口来访问

httpd搭建虚拟主机与Apache网站基础服务

原文地址:http://blog.51cto.com/13746824/2155978

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved