Linux下Web服务器应用之虚拟主机

简介:

Linux下Web服务器应用之虚拟主机

虚拟主机是在网络服务器上划分出一定的磁盘空间供用户放置站点、应用组件等,提供必要的站点功能、数据存放和传输功能。所谓虚拟主机,也叫“网站空间”,就是把一台运行在互联网上的服务器划分成多个“虚拟”的服务器,每一个虚拟主机都具有独立的域名和完整的Internet服务器(支持WWW,FTP,E-mail等)功能。虚拟主机:通过一个web 服务器可以提供多个网站服务。需要占用一个独特(排他性)的资源来提供服务。
Linux 下实现虚拟主机的方法:
1.    物理目录
2.    虚拟目录
3.    基于ip地址的虚拟主机
4.    基于端口的虚拟主机
5.    基于主机头的虚拟主机
主要配置文件:/etc/httpd/conf/httpd.conf
993 #<VirtualHost *:80>
994 #    ServerAdmin webmaster@dummy-host.example.com
995 #    DocumentRoot /www/docs/dummy-host.example.com
996 #    ServerName dummy-host.example.com
997 #    ErrorLog logs/dummy-host.example.com-error_log
998 #    CustomLog logs/dummy-host.example.com-access_log common
999 #</VirtualHost>
案例1:基于物理目录的虚拟主机
[root@www ~]# cd /var/www/html/      # 切换至web目录下
[root@www html]# mkdir download      # 创建供下载的目录
[root@www download]# touch f1 f2 f3 # 创建供下载的文件
[root@www ~]# vim /etc/httpd/conf/httpd.conf     # 编辑配置文件

[root@www ~]# service httpd restart          # 重启apache服务
Win7 客户端测试结果如下:

案例2:基于虚拟目录的虚拟主机
[root@www ~]# mkdir /qq         # 创建物理目录
[root@www ~]# cd /qq              # 切换至要制作成虚拟的目录
[root@www qq]# touch qq1 qq2 qq3     # 创建文件
[root@www qq]# vim /etc/httpd/conf/httpd.conf         # 编辑配置文件

[root@www ~]# service httpd restart          # 重启apache服务
Win7 客户端测试结果如下:

案例3:基于ip地址的虚拟主机
[root@www ~]# cd /var/www/     # 切换至www文件目录
[root@www www]# mkdir tec          # 创建tec文件夹
[root@www www]# mkdir mkt         # 创建mkt文件夹
[root@www www]# cat html/index.html    # 编辑www网页文件                          
--www
--xjzhujunjie
--2012/03/17
[root@www www]# cat mkt/index.html    # 编辑mkt网页文件 
--mkt
--xjzhujunjie
--2012/03/17
[root@www www]# cat tec/index.html     # 编辑tec网页文件
--tec
--xjzhujunjie
--2012/03/17
[root@www ~]# ifconfig eth0:0 192.168.101.251     # 新建网卡eth0:0
[root@www ~]# ifconfig eth0:1 192.168.101.252     # 新建网卡eth0:0
[root@www ~]# vim /etc/httpd/conf/httpd.conf   # 编辑apache配置文件

[root@www ~]# service httpd restart          # 重启apache服务
Win7 客户端测试在C:\Windows\System32\drivers\etc\hosts添加以下内容:
192.168.101.250          www.junjie.com
192.168.101.251          tec.junjie.com
192.168.101.252          mkt.junjie.com
Win7 客户端测试结果如下:

案例4:基于ip端口的虚拟主机(请关闭firewall和 SELinux)
#1. 首先关闭eth0:0和eth0:1网卡;
#2. 新建网页文件(略)
[root@www ~]# vim /etc/httpd/conf/httpd.conf   # 编辑apache配置文件
134 Listen 80
 135 Listen 800
 136 Listen 8000

[root@www ~]# service httpd restart          # 重启apache服务
Win7 客户端测试在C:\Windows\System32\drivers\etc\hosts添加:
192.168.101.250          www.junjie.com
Win7 客户端测试结果如下:

案例5:基于主机头的虚拟主机
# 新建网页文件(略)
[root@www ~]# vim /etc/httpd/conf/httpd.conf   # 编辑apache配置文件
# 首先删除listen 800和listen 8000;
986 NameVirtualHost 192.168.101.250:80

[root@www ~]# service httpd restart          # 重启apache服务
Win7 客户端测试在C:\Windows\System32\drivers\etc\hosts添加:
192.168.101.250          www.junjie.com
192.168.101.250          tec.junjie.com
192.168.101.250          mkt.junjie.com
Win7 客户端测试结果如下:

案例6:基于ip端口的虚拟主机(开启SELinux)
SELinux 引起的Apache基于端口的虚拟主机启动失败解决方案
# 新建网页文件(略)   #使用端口800和8888
开启SELinux:

[root@www ~]# vim /etc/httpd/conf/httpd.conf   # 编辑apache配置文件

 

[root@www ~]# service httpd restart # 重启apache服务,无法启动如下示:

因为SELinux设置的是Enforcing(强制)模式,于是使用semanage port -l |grep http,查看如下图,发现如下问题,它支持的端口只有80,443,448,8008,8009.8443并没有800和8888端口

此时可以使用semanage port -a -t http_port_t -p tcp 800来添加SELinux对800和8888端口的支持
[root@junjie ~]# semanage port -a -t http_port_t -p tcp 800
[root@junjie ~]# semanage port -a -t http_port_t -p tcp 8888
接下来查看端口,如下所示(SELinux已经支持800和8888端口):

此时再重新启动apache,看到正常启动。如下所示:

Win7 客户端测试在C:\Windows\System32\drivers\etc\hosts添加:
192.168.101.250          www.junjie.com
Win7 客户端测试结果如下:(正常访问)

《完》




本文转自xjzhujunjie 51CTO博客,原文链接:http://blog.51cto.com/xjzhujunjie/808877

相关文章
|
7月前
|
存储 监控 安全
Veeam Backup & Replication 13 之初见 - 基于 Linux 和 Web 控制台
Veeam Backup & Replication 13 之初见 - 基于 Linux 和 Web 控制台
488 1
Veeam Backup & Replication 13 之初见 - 基于 Linux 和 Web 控制台
|
7月前
|
前端开发 算法 API
构建高性能图像处理Web应用:Next.js与TailwindCSS实践
本文分享了构建在线图像黑白转换工具的技术实践,涵盖技术栈选择、架构设计与性能优化。项目采用Next.js提供优秀的SSR性能和SEO支持,TailwindCSS加速UI开发,WebAssembly实现高性能图像处理算法。通过渐进式处理、WebWorker隔离及内存管理等策略,解决大图像处理性能瓶颈,并确保跨浏览器兼容性和移动设备优化。实际应用案例展示了其即时处理、高质量输出和客户端隐私保护等特点。未来计划引入WebGPU加速、AI增强等功能,进一步提升用户体验。此技术栈为Web图像处理应用提供了高效可行的解决方案。
|
4月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
5月前
|
安全 应用服务中间件 网络安全
在Linux环境部署Flask应用并启用SSL/TLS安全协议
至此,你的Flask应用应该能够通过安全的HTTPS协议提供服务了。记得定期更新SSL证书,Certbot可以帮你自动更新证书。可以设定cronjob以实现这一点。
387 10
|
4月前
|
存储 固态存储 Linux
从 0 学服务器虚拟化:VMware 搭建 3 个虚拟主机,个人 / 小企业够用的方案
服务器虚拟化技术通过在单台物理机上运行多个虚拟机,显著提升资源利用率和管理灵活性。本文以 VMware ESXi 8.0 Update 3e 为例,详解如何搭建经济实用的虚拟化环境,支持 3 个虚拟主机稳定运行,适合个人开发者和小企业降低硬件投入、实现数据本地化与安全存储。
1051 0
|
5月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
607 13
|
4月前
|
存储 数据采集 监控
ubuntu(linux)系统主要应用于哪些工业场景中?研维三防ubuntu系统的手持工业三防平板电脑在哪些行业中有实际应用
Ubuntu 系统凭借其独特的优势,在众多工业场景中得到了广泛应用,为工业数字化、智能化发展提供了有力支持。而研维三防基于 Ubuntu 定制系统的手持工业三防平板电脑,更是将 Ubuntu 系统的优势与工业级的性能、坚固耐用性完美结合,在电力、物流、制造等多个行业中展现出强大的应用价值,助力企业提高生产效率、优化管理流程、提升产品质量,成为推动工业现代化发展的重要力量。随着技术的不断进步与创新,相信 Ubuntu 系统以及研维三防这类工业级设备将在更多的工业领域中发挥更大的作用,为工业发展带来更多的机遇与变革。
|
5月前
|
监控 Linux 网络安全
FinalShell SSH工具下载,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux
FinalShell是一款国人开发的多平台SSH客户端工具,支持Windows、Mac OS X和Linux系统。它提供一体化服务器管理功能,支持shell和sftp同屏显示,命令自动提示,操作便捷。软件还具备加速功能,提升访问服务器速度,适合普通用户和专业人士使用。
1657 0
|
6月前
|
缓存 前端开发 应用服务中间件
Web端实时通信技术SSE在携程机票业务中的实践应用
本文介绍了携程机票前端基于Server-Sent Events(SSE)实现服务端推送的企业级全链路通用技术解决方案。文章深入探讨了 SSE 技术在应用过程中包括方案对比、技术选型、链路层优化以及实际效果等多维度的技术细节,为类似使用场景提供普适性参考和借鉴。该方案设计目标是实现通用性,适用于各种网络架构和业务场景。
214 1
|
7月前
|
缓存 前端开发 应用服务中间件
Web端实时通信技术SSE在携程机票业务中的实践应用
本文介绍了携程机票前端基于Server-Sent Events(SSE)实现服务端推送的企业级全链路通用技术解决方案。文章深入探讨了 SSE 技术在应用过程中包括方案对比、技术选型、链路层优化以及实际效果等多维度的技术细节,为类似使用场景提供普适性参考和借鉴。
295 7