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

前言

  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 [email protected] #管理员邮箱
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 [email protected] #管理员邮箱
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 [email protected]
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主机(搭建多网站),可以基于域名、端口来访问

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

时间: 2024-10-06 19:10:41

httpd搭建虚拟主机与Apache网站基础服务的相关文章

搭建Apache网站基础服务

简介 Apache HTTP Server 是开源软件项目的代表,也是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上.因为它是自由的开源软件,所以不断有人来为它开发新的功能.新的特性.修改原来的缺陷. Apache的主要特点: 开源代码:这是它的重要特点之一,也是其他特性的基础 跨平台应用:apache服务器可以运行在绝大多数的平台上 支持各种web编程语言:Apache服务器可支持的网页编程语言包括Perl.PHP.Python.Java等. 模块化设计:Apa

apache服务搭建虚拟目录和多网站,同端口同ip不同域名及同ip同域名不同端口号设置。

pache是一款Web服务器软件,有多种产品,可以支持SSL技术,支持多个虚拟主机. 它快速.可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中. 实验环境 一台linux6.5,ip为192.168.10.20.,DNS服务器ip地址为192.168.10.20: 一.创建虚拟目录配置 1.进入主配置文件设置 2.写入网页内容 3.去访问网页 4.创建虚拟目录 5.使用http://192.168.10.20/test/进行访问 二.搭建虚拟主机同端口同Ip不同域名

Apache22中配置虚拟主机(Apache VirtualHost)

Apache VirtualHost的作用就是可以让一个apache为多个域名服务,相当于一个服务器挂了N多个网站,举个例子: 我的apache服务器,ip为x.x.x.x,我有两个域名www.tootoogo.org和lp.tootoogo.org,设置这两个域名都指向x.x.x.x,在apache服务器上设置virtual host后,apache服务器可以实现同时为这两个域名服务,使得这两个域名分别指向不同的网页,于是我的一个服务器上就同时有了两个网站. Apache VirtualHos

站长选择一款优质的虚拟主机能够为网站的发展减少很多阻碍

站长选择一款优质的虚拟主机能够为网站的发展减少很多阻碍,而在国内很多站长选择虚拟主机的时候都会遇到很多问题,要么是价格过高,要么是价格低廉但质量不敢保证,还有很多站长不会识别主机的参数,面对这种情况我今天根据自己的选择虚拟主机经验特别写出了这篇选择虚拟主机的"望.闻.问.切"文章,希望能够帮助站长朋友们选择到一款适合你的虚拟主机. 望 扁鹊看病的方法第一点就是望,望什么?望起色,我们这里不谈扁鹊看病,我们来谈谈虚拟主机的经销商的网站,相信你会识别网站的精简吧,一般来说如果代理商的网站满

Apache httpd配置虚拟主机的三种方法

基于IP地址的虚拟主机IP地址:172.16.34.3/16:80:172.16.34.30/16:80 linux版本:centos6.7 httpd版本:2.2.15 此实验需关闭SElinux 安装httpd 添加并查看IP地址 在配置/etc/httpd/conf/httpd.conf中有虚拟主机的配置示例: 可在此处添加,也可在/etc/httpd/conf.d/目录下创建虚拟主机文件:为易于管理,建议每一个虚拟主机创建一个配置文件 切换目录至/etc/httpd/conf.d/:新建

apache2.4编译安装,搭建虚拟主机日志分析及访问控制

这几天在看LAMP,都编译好了,今天打算做几个虚拟主机,顺便记录下问题,php7是以php-fpm的方式与apache 连接的,php7有好多新特性 这里就不一一说了... 这里只是简单的搭建了个phpMyadmin 本来是在主机上的,后来挪到了虚拟机上 首先在apache的配置文件上开启虚拟主机功能,然后如下图即可 这就是一个完整的配置... 耗费时间最多的是 <Directory>这个选项,来定义目录权限的...试了几次都不行 网上说的都的是这样的 <Directory /var/w

cenos云服务器搭建虚拟主机

---恢复内容开始--- vim基本操作 1.如果apache安装成为Linux的服务的话,可以用以下命令操作: service httpd start 启动 service httpd restart 重新启动 service httpd stop 停止服务 2. 打开文件 /etc/httpd/conf/httpd.conf, 搜索 VirtualHost example, 找到代码如下: # # VirtualHost example: # Almost any Apache direct

基于虚拟主机的 apache geoip设置

上一篇文章写到使用 apache geoip模块实现域名下级目录跳转,他是对全局生效的,但是我的虚拟主机下有其他的虚拟主机,如果按照上一篇文章的配置,那些不需要做二级跳转的网站将不能正常访问.以下配置只针对需要做下级目录跳转的网站生效:具体做法是只改需要做跳转的虚拟主机配置文件, cd /etc/httpd/conf.d vim cn-en.conf #NameVirtualHost * <VirtualHost *:80> DocumentRoot /var/www/html/ Server

httpd配置虚拟主机及访问控制

一.虚拟主机是在一台物理服务器上配置多个站点,有三种实现方法:基于ip,基于端口,基于域名 配置虚拟主机建议在单独一个文件,并在主配置文件使用 include "xxx" 包含进来,这样使配置件更清晰 基于端口:应先在主配置文件中增加一个监听的端口listen 8080 <virtualhost 172.16.168.140:80> options none documentroot "/var/www/80" </virtualhost>