Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache2 Apache 2.2.x上的虚拟主机出现问题_Apache2 - Fatal编程技术网

Apache2 Apache 2.2.x上的虚拟主机出现问题

Apache2 Apache 2.2.x上的虚拟主机出现问题,apache2,Apache2,我有一个运行Apache2的虚拟机,我在尝试设置多个基于名称的虚拟主机时遇到了最糟糕的情况。基本上,只要我上传并启用sites enabled文件夹中的新虚拟主机文件,整个web服务器就会停止响应。它不会启动,我无法从web浏览器连接到它,并且在删除文件之前它不会再次启动。以下是我将遵循的步骤: 创建新的VirtaualHost文件并将其上载到etc/apache2/sites enabled,VirtualHost文件的代码如下所示,名为www.lutnfreaks.com: 服务器管理员e

我有一个运行Apache2的虚拟机,我在尝试设置多个基于名称的虚拟主机时遇到了最糟糕的情况。基本上,只要我上传并启用sites enabled文件夹中的新虚拟主机文件,整个web服务器就会停止响应。它不会启动,我无法从web浏览器连接到它,并且在删除文件之前它不会再次启动。以下是我将遵循的步骤:

  • 创建新的VirtaualHost文件并将其上载到etc/apache2/sites enabled,VirtualHost文件的代码如下所示,名为www.lutnfreaks.com:

    服务器管理员evomoore@gmail.com 服务器名www.lutnfreaks.com ServerAlias Glunfreaks.com

    # Indexes + Directory Root.
    DirectoryIndex index.php
    DocumentRoot /var/www/glutenfreaks/
    
    # CGI Directory
    ScriptAlias /cgi-bin/ /var/www/glutenfreaks/cgi-bin
    <Location /cgi-bin>
            Options +ExecCGI
    </Location>
    
    
    # Logfiles
    ErrorLog  /var/www/glutenfreaks/logs/error.log
    CustomLog /var/www/glutenfreaks/logs/access.log combined
    
    #索引+目录根。
    DirectoryIndex.php
    DocumentRoot/var/www/glumnfreaks/
    #CGI目录
    ScriptAlias/cgi-bin//var/www/glunfreaks/cgi-bin
    选项+执行CGI
    #日志文件
    ErrorLog/var/www/glutnfreaks/logs/error.log
    CustomLog/var/www/glumnfreaks/logs/access.log组合
    

  • 然后从命令行执行“a2ensite www.lumnfreaks.com”

  • 然后我重新加载服务器:“/etc/init.d/apache2 reload”

  • 然后一切都繁荣起来,什么都不起作用了

    帮助

    谢谢


    Evan

    第一步-创建新目录 创建虚拟主机的第一步是创建一个目录,我们将在其中保存新网站的信息

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

    sudo mkdir -p /var/www/example.com/public_html
    
    您需要指定实际的DNS批准域或IP地址,以测试虚拟主机是否正常工作。在本教程中,我们将使用example.com作为正确域名的占位符

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

    第二步授予权限 我们需要将目录的所有权授予用户,而不仅仅是将其保留在根系统上

    sudo chown -R www:www /var/www/example.com/public_html 
    
    此外,确保每个人都能阅读我们的新文件也很重要

    sudo chmod 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>Success: You Have Set Up a Virtual Host</h1>
      </body>
    </html>
    
    第五步打开虚拟主机 打开新的配置文件:

    sudo nano /etc/apache2/sites-available/example.com
    
    我们将在此文件中设置一个虚拟主机

    第一步是在ServerAdmin行下插入ServerName行

     ServerName example.com 
    
    服务器名指定虚拟主机使用的域名

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

    <VirtualHost *:80>
            ServerAdmin webmaster@example.com
            ServerName example.com
            ServerAlias www.example.com
      [...]
    
     DocumentRoot /var/www/example.com/public_html 
    
    您不需要对此文件进行任何其他更改。保存并退出

    最后一步是激活主机。幸运的是,Ubuntu提供了一种简单的方法:

    sudo a2ensite example.com
    
    第六步重启Apache 我们对配置做了很多更改,虚拟主机已经设置好了。但是,在Apache重新启动之前,我们所做的任何更改都不会生效。使用以下命令重新启动apache:

     sudo /etc/init.d/apache2 reload 
    
    您可能会看到一个错误 无法可靠地确定服务器的完全限定域名,对ServerName使用127.0.0.1

    该消息只是一个警告,您将能够访问您的虚拟主机,而不会出现任何进一步的问题

    可选步骤七设置本地主机 如果已将域名指向虚拟专用服务器的IP地址,则可以跳过此步骤,而无需设置本地主机。您的虚拟主机应该可以工作。但是,如果您想在不必连接到实际域名的情况下试用新的虚拟主机,您可以单独在计算机上设置本地主机

    对于这一步,请确保您在计算机本身上,而不是您的液滴上

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

    如果您在Mac或Linux上,请访问计算机上的根用户(su)并打开您的主机文件:

    nano /etc/hosts
    
    如果您在Windows计算机上,可以在Microsoft站点上找到更改主机文件的说明

    您可以将本地主机详细信息添加到此文件,如下面的示例所示。只要该行在那里,将浏览器指向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    example.com 
    
    但是,在完成后,最好将这些虚构的地址从本地主机文件夹中删除,以避免将来出现任何混淆

    第八步结果:查看正在运行的虚拟主机
    完成虚拟主机的设置后,您可以看到它的联机外观。在浏览器中键入您的ip地址(即
    http://12.34.56.789

    你能将最相关的日志/错误粘贴到这里吗?当“万事如意”时,请将解决方案也张贴在这里。链接可能会脱机,而您的答案将变得无用。
    # 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    example.com