当前位置:首页 > Web开发 > 正文

理论+实操:apache 的虚拟web主机配置

2024-03-31 Web开发

标签:

@[toc]
apache 常用的功能,虚拟主机

一:虚拟Web主机

在同一台服务器中运行多个Web站点,其中每一个站点并不独立占用一台真正的计算机 1.1 httpd支持的虚拟主机类型(三种)

基于域名的类型

基于IP地址的虚拟主机

基于端口的虚拟主机
例如:


IP相同,端口相同

IP不同,端口相同

IP相同,端口不通

技术图片

二:构建虚拟主机基于域名的实验 2.1.1 安装软件包 [[email protected] ~]# yum install bind httpd -y Package 32:bind-9.11.4-9.P2.el7.x86_64 already installed and latest version Package httpd-2.4.6-90.el7.centos.x86_64 already installed and latest version Nothing to do 2.1.2 关闭防火墙增强服务 [[email protected] ~]# setenforce 0 [[email protected] ~]# systemctl stop firewalld.service [[email protected] ~]# 2.1.3 配置dns 配置dns全局配置文件/etc/named.conf [[email protected] ~]# 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"; recursing-file "/var/named/data/named.recursing"; secroots-file "/var/named/data/named.secroots"; allow-query { any; }; 配置dns区域配置文件/etc/named.rfc1912.zones [[email protected] ~]# vim /etc/named.rfc1912.zones zone "kgc.com" IN { type master; file "kgc.com.zone"; allow-update { none; }; }; zone "accp.com" IN { type master; file "accp.com.zone"; allow-update { none; }; }; 修改dns的区域数据文件 [[email protected] ~]# cd /var/named/ [[email protected] named]# ls data dynamic named.ca named.empty named.localhost named.loopback slaves [[email protected] named]# cp -p named.localhost kgc.com.zone [[email protected] named]# vim kgc.com.zone $TTL 1D @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1 www IN A 192.168.247.150 ~ [[email protected] named]# cp -p kgc.com.zone accp.com.zone 修改完毕,启动dns服务 [[email protected] named]# systemctl start named 为客户机配置好dns,去进行测试服务是否生效

技术图片

nslookup 解析成功

技术图片

2.1.4 创建虚拟主机配置文件,位置在/etc/httpd/conf/extra/,为了简明之意,文件名设为vhost.conf [[email protected] httpd]# ls conf conf.d conf.modules.d logs modules run [[email protected] httpd]# ls -l total 0 drwxr-xr-x. 2 root root 37 Dec 12 14:45 conf drwxr-xr-x. 2 root root 82 Dec 12 14:45 conf.d drwxr-xr-x. 2 root root 146 Dec 12 14:45 conf.modules.d lrwxrwxrwx. 1 root root 19 Dec 12 14:45 logs -> ../../var/log/httpd lrwxrwxrwx. 1 root root 29 Dec 12 14:45 modules -> ../../usr/lib64/httpd/modules lrwxrwxrwx. 1 root root 10 Dec 12 14:45 run -> /run/httpd [[email protected] httpd]# [[email protected] httpd]# cd conf [[email protected] conf]# ls httpd.conf magic [[email protected] conf]# mkdir extra [[email protected] conf]# cd extra/ [[email protected] extra]# ls [[email protected] extra]#

/etc/httpd/conf/extra/vhost.conf文件中

指的是所有的ip地址同过80端口都可以访问
DocumentRoot “是web站点目录”
ServerName “站点服务域名”
Errorlog “指定错误日志路径”
Customlog “指定访问日志路径” 后面跟common扩展工具
指定详细配置的目录名,可以发现是web站点目录的父目录
允许所有用户主机的所有访问权限 //后面由此还会扩展更多的配置属性 [[email protected] extra]# vim vhost.conf 1 <VirtualHost *:80> 2 DocumentRoot "/var/www/html/kgc" 3 ServerName 4 Errorlog "logs/www.kgc.com.error_log" 5 Customlog "logs/www.kgc.comaccess_log" common 6 <Directory "/var/www/html"> 7 Require all granted 8 </Directory> 9 </VirtualHost> 10 11 <VirtualHost *:80> 12 DocumentRoot "/var/www/html/accp" 13 ServerName 14 Errorlog "logs/www.accp.com.error_log" 15 Customlog "logs/www.accp.comaccess_log" common 16 <Directory "/var/www/html"> 17 Require all granted 18 </Directory> 19 </VirtualHost>

### 2.1.5 创建两个web站点的首页,首页文件index.html在/var/www/html下面的站点目录中 ```bash [[email protected] extra]# cd /var/ [[email protected] var]# ls account cache db games kerberos local log named opt run target www adm crash empty gopher lib lock mail nis preserve spool tmp yp [[email protected] var]# cd www [[email protected] www]# ls cgi-bin html [[email protected] www]# cd html [[email protected] html]# ls [[email protected] html]# mkdir kgc accp [[email protected] html]# ls accp kgc [[email protected] html]# echo "this is accp web" > accp/index.html [[email protected] html]# echo "this is kgc web" > kgc/index.html [[email protected] html]# tree accp kgc accp └── index.html kgc └── index.html 0 directories, 2 files [[email protected] html]# 2.1.7 重点:需要把extra的路径加入到主配置文件中,启动时才可以识别 [[email protected] html]# vim /etc/httpd/conf/httpd.conf 354 Include conf/extra/vhost.conf 2.1.8 开启服务,查看服务端口 [[email protected] html]# systemctl start httpd [[email protected] html]# netstat -natp | grep httpd tcp6 0 0 :::80 :::* LISTEN 79262/httpd 2.1.9 在客户机验证

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/40587.html