如何在 Debian 7 上设置 Apache 虚拟主机

news/2024/12/3 0:14:43/

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

虚拟主机

虚拟主机用于在单个 IP 地址上运行多个域。这对需要在一个虚拟专用服务器上运行多个站点的人特别有用——每个站点将根据用户访问的网站不同而向访问者显示不同的信息。可以向 VPS 添加的虚拟主机数量没有限制。

设置

本教程中的步骤需要用户具有 root 权限。您可以在使用 Ubuntu 12.04 初始服务器设置中了解如何设置。选择您喜欢的用户名。

另外,您需要已经安装并在虚拟服务器上运行 apache。如果您还没有这样做,可以使用以下命令:

sudo apt-get install apache2

第一步—创建新目录

首先,需要创建一个目录,用于存放新网站的信息。这个位置将是 Apache 虚拟配置文件中的文档根。通过在代码行中添加 -p,命令会自动生成新目录的所有父目录。

您需要指定一个实际的经过 DNS 批准的域(或 IP 地址)来测试虚拟主机是否正常工作。在本教程中,我们将使用 example.com 作为正确域名的占位符。

sudo mkdir -p /var/www/example.com/public_html

*如果您想使用未经批准的域名来测试该过程,您将在第七步中找到如何在本地计算机上使其工作的信息。

第二步—授予权限

现在,您需要将该目录的所有权授予用户,而不仅仅是保留在根系统上。

sudo chown -R $USER:$USER /var/www/example.com/public_html

另外,确保每个人都能够读取您的新文件是很重要的。

sudo chmod -R 755 /var/www

现在您已经完成了权限设置。

第三步—创建页面

在您的配置目录中,创建一个名为 index.html 的新文件。

sudo nano /var/www/example.com/public_html/index.html

向文件添加一些文本也是有用的,这样当 IP 重定向到虚拟主机时就有东西可以查看。

<html><head><title>www.example.com</title></head><body><h1>成功:您已经设置了一个虚拟主机</h1></body>
</html>

保存并退出。

第四步—创建新虚拟主机文件

下一步是设置 Apache 配置。我们将使用副本进行操作——复制文件(以您的域名命名)到相同目录:

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/example.com

第五步—启用虚拟主机

打开新的配置文件:

sudo nano /etc/apache2/sites-available/example.com

我们将在此文件中设置一个虚拟主机。

首先,在 ServerAdmin 行下插入一个 ServerName 行。

ServerName example.com

ServerName 指定虚拟主机使用的域名。

如果您希望使您的站点可以从多个名称(即在 URL 中带有 www)访问,您可以通过在虚拟主机文件中添加 ServerAlias 行来包含备用名称。然后,您的虚拟主机文件开头将如下所示:

<VirtualHost *:80>ServerAdmin webmaster@example.comServerName example.comServerAlias www.example.com[...]

下一步是填写正确的文档根。对于此部分,写入第一步创建的新目录的扩展名。如果文档根不正确或不存在,您将无法设置虚拟主机。

该部分应如下所示:

DocumentRoot /var/www/example.com/public_html

您不需要对此文件进行其他更改。保存并退出。

最后一步是使用内置的 Apache 快捷方式激活主机:

sudo a2ensite example.com

第六步—重启 Apache

尽管对配置进行了许多更改并且虚拟主机已设置好,但在重启 Apache 之前,所有更改都不会生效:

sudo service apache2 restart

可选步骤七—设置本地主机

如果您已将域名指向虚拟专用服务器的 IP 地址,则可以跳过此步骤。但是,如果您想尝试新的虚拟主机而无需连接实际域名,可以仅在计算机上设置本地主机。

在进行此步骤时,请确保您在计算机本身上,而不是在您的 droplet 上。

要继续进行此步骤,您需要知道计算机的管理员密码;否则,您将需要使用实际域名来测试虚拟主机。

如果您使用的是 Mac 或 Linux,在计算机上访问 root 用户(su)并打开您的 hosts 文件:

nano /etc/hosts

如果您使用的是 Windows 计算机,您可以在Microsoft 网站上找到更改主机文件的说明。

您可以向该文件添加本地主机详细信息,如下例所示。只要该行存在,将浏览器定向到,例如,example.com 将为您提供相应 IP 地址的所有虚拟主机详细信息。

# Host Database
#
# localhost 用于配置回环接口
# 系统启动时不要更改此条目。
##
127.0.0.1       localhost#虚拟主机
<span style="color: red;">12.34.56.789    example.com</span></pre><p>然而,当您完成后,最好将这些虚构的地址从本地 hosts 文件中删除,以避免日后混淆。</p> <h2>第八步—结果:查看您的虚拟主机的效果</h2><p>完成虚拟主机的设置后,您可以在网上查看其外观。在浏览器中输入您的 IP 地址(例如 http://12.34.56.789)</p> <p>它应该看起来与我方便的<a 
href="https://assets.digitalocean.com/tutorial_images/PoO8d.png"> 截图</a>相似</p><p>干得好!</p><h2>创建更多虚拟主机</h2><p>要添加更多虚拟主机,只需重复上述过程,小心设置具有适当域名的新文档根目录,然后创建并激活新的虚拟主机文件。</p><h3>查看更多</h3><p>设置好虚拟主机后,您可以继续<a href="https://www.digitalocean.com/community/articles/how-to-create-a-ssl-certificate-on-apache-for-centos-6">为您的站点创建 SSL 证书</a>或者<a href="https://www.digitalocean.com/community/articles/how-to-set-up-vsftpd-on-centos-6--2">安装 FTP 服务器</a>。</p> 

http://www.ppmy.cn/news/1551881.html

相关文章

C++小玩具1

好耶是新系列 #include<windows.h> #include<bits/stdc.h> using namespace std; POINT p; HANDLE hOutput GetStdHandle(STD_OUTPUT_HANDLE); HWND hGetForegroundWindow(); CONSOLE_FONT_INFO consoleCurrentFont; int X,Y,jg; bool f; void G(int x,int y){CO…

条件数:概念、矩阵中的应用及实际工业场景应用

一、引言 条件数是数值分析领域中的一个重要概念&#xff0c;它在理解线性方程组的敏感性、矩阵运算的稳定性等方面发挥着关键作用。无论是在纯数学理论研究&#xff0c;还是在解决实际工业问题的工程应用中&#xff0c;条件数都有着广泛的意义。 二、条件数的概念 &#xff…

基于Java Springboot奶茶点餐微信小程序

一、作品包含 源码数据库万字文档全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue、Element-ui 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA,微信开发者工具 数据…

使用Python OpenCV实现图像形状检测

目录 一、环境准备 二、读取和预处理图像 读取图像 灰度化 滤波去噪 三、边缘检测 四、查找轮廓 五、绘制轮廓 六、形状分类 七、显示结果 八、完整代码示例 九、总结 图像形状检测是计算机视觉领域中的一项关键技术,广泛应用于工业自动化、机器人视觉、医学图像处…

路由器中继与桥接

一 . 背景 现在的路由器大多数已经开始支持多种网络连接模式&#xff0c;以下将以TP-Link迷你无线路由器为例进行展开介绍。在TP-Link迷你无线路由器上一般有AP&#xff08;接入点&#xff09;模式&#xff0c;Router&#xff08;无线路由&#xff09;模式&#xff0c;Repeate…

斐波那契数

C语言实现斐波那契数列的多种方法_斐波那契数列c语言-CSDN博客 题目描述 斐波那契数列为&#xff1a;1,1,2,3,5,8,13.....&#xff0c;常规递推公式f(n)f(n-1)f(n-2); 输入描述 输入一个整数n(0<n<50),为多组数据。 输出描述 输出第n个斐波那契数 样例输入 1 2 4样例输出…

基于Java Springboot学生信息管理系统

一、作品包含 源码数据库设计文档全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue、Element-ui 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA/eclipse 数据库&…

【GitHub项目】eDEX-UI

【GitHub项目】eDEX-UI 链接项目概述软件使用如何退出 介绍的是最基本的使用方法&#xff0c;更多玩法可以自行探索&#xff0c;有什么其他问题可以留言。 链接 项目官网链接&#xff1a; https://github.com/GitSquared/edex-ui 响应会比较慢 对于小白我更推荐百度网盘下载 通…