Centos7下配置Apache的虚拟主机
一、虚拟主机
虚拟主机是Apache提供的一个功能,通过虚拟主机拉雅在一台服务器上部署多个网站。虽然服务器的IP地址是相同的,但用户当用户使用不同的域名访问时,访问到的是不同的网站。
下面讲解Apache虚拟主机配置,当然,前提是你的CentOS已经安装并配置好了Apache服务器。
二、搭建虚拟主机
1.创建目录结构:
首先,我们需要创建一个目录结构,以保存网站数据,为访客提供服务。我们的文档根目录将被设置为在各个 /var/www/ 目录中,我们将这里为我们的每个虚拟主机创建一个目录。
在每个虚拟主机的目录中,我们将创建一个 public_html 用于存放实际文件。我们可以使用如下命令创建目录:
sudo mkdir -p /var/www/example.com/public_html
2.授予权限:
现在我们有了文件目录结构,但是它们是由 root 用户所拥有的,如果我们希望普通用户能在我们的网页目录修改文件,我们可以改变文件的权限
sudo chown -R $username:$usergroup /var/www/example.com/public_html
此外,还应修改权限以确保允许对一般Web目录及其中的所有文件和文件夹进行访问,以便正确提供页面。
sudo chmod -R 755 /var/www
3.为虚拟主机创建网站主页:
我们只是要作出网站主页 index.html 用以确保虚拟主机正确运行,创建一个新的 index.html 文件
vim /var/www/example.com/public_html/index.html
然后写入代码,这里我们只创建一个简单的页面:
<html> <head> <title>Welcome to example.com ! </title> </head> <body> <h1>Success ! The example.com virtual host is working !</h1> </body> <html>
保存并关闭文件。
4. 创建新的虚拟主机文件:
虚拟主机文件是指定我们单独站点的配置,并指定 Apache Web 服务器如何响应各种域请求。
首先,我们将创建虚拟主机的存储目录,以及告知 Apache 虚拟主机准备好向访问者提供的目录。我们将创建两个目录,其中 sites-available 目录将保存我们所有的虚拟主机文件,而 sites-enabled 目录将举行符号链接。我们可以通过如下 bash 命令创建这两个目录:
sudo mkdir /etc/httpd/sites-available sudo mkdir /etc/httpd/sites-enable
然后,我们要 Apache 查找虚拟主机 sites-enable 目录,为实现这一点,我们将编辑Apache的主配置文件 /etc/httpd/conf/httpd.conf 在文件的末尾添加:
IncludeOptional sites-enable/*.conf
接下来我们就可在存储目录中创建我们的拟主机文件了,使用root权限打开新文件:
sudo vim /etc/httpd/sites-available/example.com.conf
然后写入虚拟主机的配置:
<VirtualHost *:80> #监听端口为80 ServerName www.example.com ServerAlias example.com DocumentRoot /var/www/example.com/pubilc_html ErrorLog /var/www/example.com/error.log CustomLog /var/www/example.com/requests.log combined </VirtualHost>
5.启用新的虚拟主机:
现在我们已经创建了虚拟主机文件,我们需要启用他们呢,以便Apache知道将它们提供给访问者。要做到这一点,我们可以创建一个符号链接在每个虚拟主机的sites-enable 目录:
sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enable/example.com.conf
完成后,重新启动Apache以使这些更改生效:
sudo apachectl restart
6.设置本地主机文件爱(可选):
用于测试虚拟主机的功能,通过修改 /etc/hosts 文件,将所有对 www.example.com 的访问直接传递给我们:
#server_ip_address example.com www.example.com 127.0.0.1 example.com www.example.com
然后测试我们的虚拟主机,在浏览器中键入 http://www.example.com 顺利的话就能打开我们的测试的主页文件。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现