原创地址:
http://www.howtoing.com/how-to-set-up-apache-virtual-hosts-on-centos-6/

关于虚拟主机

虚拟主机用于从单个IP地址运行多个域。这对于需要从一个虚拟专用服务器运行多个站点的人特别有用。根据用户访问站点的具体情况,站点会向访问者显示不同的信息。可以添加到VPS的虚拟主机数量没有限制。

建立

本教程中的步骤要求用户具有root权限。你可以看到如何设置了在初始服务器设置在第3步和4。此外,如果我在步骤引用用户,我将使用名称WWW。你可以实现任何适合你的用户名。

此外,您需要在您的虚拟服务器上安装并运行apache如果不是这样,您可以使用以下命令下载:

sudo yum install httpd

第一步 - 创建一个新目录

创建虚拟主机的第一步是创建一个目录,我们将保留新网站的信息。

此位置将是您以后的Apache虚拟配置文件中的文档根目录。通过在代码行中添加-p,命令会自动生成新目录的所有父代。

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

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

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

第二步 - 授予权限

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

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

此外,重要的是要确保每个人都能够读取我们的新文件。

 sudo chmod 755 /var/www

现在你都完成了权限。

第三步 - 创建页面

我们需要在我们的配置目录中创建一个名为index.html的新文件。

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

我们可以向文件中添加一些文本,以便在IP重定向到虚拟主机时查看。

&lthtml>
  &lthead>
    &lttitle>www.example.com&lt/title>
  &lt/head>
  &ltbody>
    &lth1>Success: You Have Set Up a Virtual Host&lt/h1>
  &lt/body>
&lt/html>

保存并退出

第四步 - 打开虚拟主机

下一步是进入apache配置文件本身。

sudo vi /etc/httpd/conf/httpd.conf

有几行要寻找。

确保您的文字与下面显示的内容相符。

#Listen 12.34.56.78:80
Listen 80

向下滚动到文档的最底部到名为“虚拟主机”的部分。

NameVirtualHost *:80
#
# NOTE: NameVirtualHost cannot be used without a port specifier
# (e.g. :80) if mod_ssl is being used,due to the nature of the
# SSL protocol.
#    

#    
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a kNown
# server name.
# 
&ltVirtualHost *:80>
     ServerAdmin webmaster@example.com
     DocumentRoot /var/www/example.com/public_html
     ServerName www.example.com
     ServerAlias example.com
     ErrorLog /var/www/example.com/error.log
     CustomLog /var/www/example.com/requests.log
&lt/VirtualHost>

要关注的最重要的行是NameVirtualHost,虚拟主机,文档根和服务器名称的行。让我们一次采取这些。

  • 取消注释(删除数字符号)NameVirtualHost,不进行任何更改。星号表示通过端口80的任何IP地址将是虚拟主机。由于您的系统可能只有一个IP地址,这不是一个问题 - 但是,如果您愿意,您可以用您的IP地址替换星号。
  • 您可以将其余的数字标记留在原位,直到到达&ltVirtualHost *:80>行。通过&ltVirtualHost>取消注释一切。
  • 保留&ltVirtualHost *:80>,因为它的详细信息必须与NameVirtual Host部分中的详细信息匹配。如果您在该部分中用您的IP地址替换了星标,请务必在此处执行相同操作。
  • 文档根是关键!对于此部分,写入在第一步中创建的新目录的扩展名。如果文档根不正确或缺失,您将无法设置虚拟主机。
  • 服务器名称是另一个重要的信息,包含虚拟主机的域名(例如www.example.com)。确保您完全拼写域名;我们将在下一行放入任何备用的可能性。
  • ServerAlias是配置文件中的一个新行,默认情况下不存在。添加它将允许您列出域名的几个变体,例如没有前面的www。

本节中的其余行不是设置虚拟主机所必需的。然而,知道他们做什么仍然有帮助。

  • 服务器管理员要求网站管理员的电子邮件。
  • 错误日志和自定义日志跟踪服务器的任何问题。错误日志涵盖在维护服务器时出现的问题,自定义日志跟踪服务器请求。您可以为这些进程设置自定义位置。
  • 确保&ltVirtualHost>未注释;然后保存并退出。

第五步 - 重新启动Apache

我们对配置进行了很多更改。但是,它们将不会生效,直到Apache重新启动。

首先停止所有apache进程:

sudo apachectl -k stop

然后再次启动apache。

sudo /etc/init.d/httpd start

您可能会看到以下错误:

Could not reliably determine the server's fully qualified domain name,using 127.0.0.1 for ServerName

该消息只是一个警告,您将能够访问您的虚拟主机,没有任何进一步的问题。

可选第六步 - 设置本地主机

如果您已将域名指向虚拟专用服务器的IP地址,则可以跳过此步骤,而不需要设置本地主机。您的虚拟主机应该工作。但是,如果想要尝试新的虚拟主机而无需连接到实际的域名,您可以单独在您的计算机上设置本地主机。对于这一步,确保你在计算机本身,而不是你的Droplet。

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

如果你是一个Mac或Linux上,访问根用户(su在计算机上),并打开你的hosts文件:

nano /etc/hosts 

如果你是在Windows计算机上,你可以找到方向改变主机上的文件,微软网站

您可以将本地主机详细信息添加到此文件,如下面的示例所示。只要该行在那里,将您的浏览器指向example.com即可获得相应IP地址的所有虚拟主机详细信息。

# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost

#Virtual Hosts 
12.34.56.789    www.example.com 

但是,最好在完成后从本地hosts文件夹中删除这些补充地址,以避免任何未来的混乱。

第七步:结果:查看您的虚拟主机在操作

完成虚拟主机的设置后,您可以看到它如何在线。在浏览器中输入您的IP地址(即http://12.34.56.789)

它应该看起来有点像我的得心应手截图

做得好!

添加更多虚拟主机

要创建其他虚拟主机,您只需重复上述过程,小心地每次使用适当的新域名设置新的文档根。然后只需将新的虚拟主机信息复制并粘贴到Apache Config文件中,如下所示

&ltVirtualHost *:80>
     ServerAdmin webmaster@example.com
     DocumentRoot /var/www/example.com/public_html
     ServerName www.example.com
     ServerAlias example.com
     ErrorLog /etc/var/www/example.com/error.log
     CustomLog /var/www/example.com/requests.log
&lt/VirtualHost>
&ltVirtualHost *:80>
     ServerAdmin webmaster@example.org
     DocumentRoot /var/www/example.org/public_html
     ServerName www.example.org
     ServerAlias example.org
     ErrorLog /var/www/example.org/error.log
     CustomLog /var/www/example.orgrequests.log
&lt/VirtualHost>

查看更多

一旦您设置了虚拟主机,就可以继续为您的网站建立一个SSL证书或安装FTP服务器

原创地址:
http://www.howtoing.com/how-to-set-up-apache-virtual-hosts-on-centos-6/

如何在CentOS 6上设置Apache虚拟主机的更多相关文章

  1. IOs Cordova长按显示文本选择放大镜即使禁用文本选择,如何删除?

    是否有任何可能导致此问题的插件?任何帮助深表感谢.Cordova插件:>com.mbppower.camerapreview>cordova-plugin-statusbar>cordova-plugin-whitelist>离子插件键盘>org.apache.cordova.camera>org.apache.cordova.console>org.apache.cordova.device>org.apache.cordova.dialogs>org.apache.cordova.file>org.a

  2. android – org.apache.cordova.api不存在. PhoneGap 3.0

    我正在尝试将VideoPlayer插件(https://github.com/macdonst/VideoPlayer)添加到我的phonegapAndroid应用程序中.在编译时遇到问题:第25行:解决方法将您的导入更改为:

  3. 如何将android客户端连接到我的笔记本电脑内的Apache服务器(php)的localhost?

    我的笔记本电脑中的localhost-127.0.0.1或android10.0.0.1中的localhost?>那么,如果我想从android访问localhost来调用PHP来运行?哪个ip地址/url我需要放在Android应用程序?我需要在httpconfig中为XAMPP修改任何内容吗?解决方法使用ipconfig在笔记本电脑中找到您的IP地址.在手机中使用该地址而不是127.0.0.1.

  4. android – 在android工作室中的proguard错误

    我想在我的应用程序中使用proguard,我启用它但是当我想生成apk文件时,它给了我这个错误:我正在使用最新版本的sdk23,这是我的gradle文件:怎么了?我在这段代码中做错了什么?谢谢解决方法只需在proguard上添加:

  5. 无法修复Android Proguard返回错误代码1错误

    当我尝试在我的Android应用程序中使用proguard时只需添加到我的project.properties文件,APK导出失败并显示消息Proguard返回错误代码1这是我的project.properties文件这是错误堆栈:解决方法将这些行添加到proguard配置文件(proguard-android.txt)见ProguardTroubleshooting请注意,如果您使用您的配置文件

  6. Phonegap 2.4 Android Proguard配置

    有人有主意吗???

  7. android – 如何在sharedPreferences中分析ANR

    在sharedPreferences中遇到ANR,不知道如何定位问题.以下是trace的三个部分,其他大多数线程都是“WAIT”或“TIMED_WAIT”.由于countdownlatch.await(),“主”线程被阻止.第二个线程“pool-1-thread-1”等待fsync.最后一个是试图读一些东西.我认为第二个线程已经阻塞了主线程,因为如果这个无法完成,它将不会调用countdownla

  8. Android无法访问org.apache.http.client.HttpClient

    我正在使用androidstudio创建一个向服务器发出GET请求的应用程序.我的代码是这样的:问题是AndroidStudio标记了这一行有错误:说“无法访问org.apache.http.client.HttpClient”这是我的gradle文件:解决方法在AndroidSDK23中不推荐使用HttpClient,因为它推断,您可以在HttpURLConnection中迁移代码https:/

  9. Android L – 没有对等证书

    我开发了一个小应用程序,使用带有自签名证书的SSL连接到我的服务器.为了使它工作,我使用BouncyCastleProvider将我的证书加载到自定义密钥库中,并在我的自定义SSLSocketFactory中导入证书.Everythink在android2.3(最小sdk)到4.4.4之间运行良好.但在androidL(预览版)中,我的应用失败了:TueAug1214:34:40BRT2014:j

  10. Android Http服务器和破碎的管道

    标题可能有问题吗?

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部