网站不存在a2ensite的错误

 无极圈晨曦 发布于 2023-02-10 13:13

cmsplus.dev/etc/apache2/sites-available用下面的代码,


    ServerAdmin master@server.com
    ServerName www.cmsplus.dev
    ServerAlias cmsplus.dev

    DocumentRoot /var/www/cmsplus.dev/public

    LogLevel warn
    ErrorLog /var/www/cmsplus.dev/log/error.log
    CustomLog /var/www/cmsplus.dev/log/access.log combined

现在当我使用时sudo /usr/sbin/a2ensite cmsplus.dev,我收到了错误,

ERROR: Site cmsplus.dev does not exist!

我的网络服务器 Apache/2.4.6 (Ubuntu)

如何解决这个问题?

6 个回答
  • 通过向.conf站点配置文件添加扩展来解决此问题.

    Apache a2ensite导致:

    错误!网站不存在

    问题; 如果您在尝试使用以下网站启用网站时发现错误:

    sudo a2ensite example.com
    

    但它返回:

    错误:mysite.com不存在

    a2ensite 只是一个perl脚本,只适用于文件名结尾 .conf

    因此,我不得不重新命名我的设置文件example.com,以example.com.conf作为可能实现如下:

    mv /etc/apache2/sites-available/example.com /etc/apache2/sites-available/example.com.conf
    

    成功

    2023-02-10 13:14 回答
  • 我添加.conf到配置文件后工作

    2023-02-10 13:16 回答
  • 您可能已更新了Ubuntu安装,其中一个更新包括将Apache升级到2.4.x版

    在Apache 2.4.x中,位于/ etc/apache2/sites-available目录中的vhost配置文件必须具有.conf扩展名.

    使用terminal(mv命令),重命名所有现有配置文件,并将.conf扩展名添加到所有配置文件中.

    mv /etc/apache2/sites-available/cmsplus.dev /etc/apache2/sites-available/cmsplus.dev.conf
    

    如果您收到"权限被拒绝"错误,请在终端命令前添加"sudo".

    您无需对配置文件进行任何其他更改.

    启用vhost:

    a2ensite cmsplus.dev.conf
    

    然后重新加载Apache:

    service apache2 reload
    

    您的网站现在应该正常运行.


    更新:如前所述在这里,您安装一个Linux发行版更改了配置,使其只包含*.conf文件.因此它与Apache 2.2或2.4无关

    2023-02-10 13:16 回答
  • 还有另外一种好方法,只需apache2.conf在最后编辑文件

    IncludeOptional sites-enabled/*.conf

    只需删除.conf最后,就像这样

    IncludeOptional sites-enabled/*

    并重新启动服务器.

    (我在Ubuntu 13.10中尝试了这个,当我更新它时.)

    2023-02-10 13:16 回答
  • 我刚遇到同样的问题.我说它与apache.conf无关.

    a2ensite必须已更改 - 第532行是强制执行.conf后缀的行:

    else {
        $dir    = 'sites';
        $sffx   = '.conf';
        $reload = 'reload';
    }
    

    如果您将其更改为:

    else {
        $dir    = 'sites';
        #$sffx   = '.conf';
        $sffx   = '';
        $reload = 'reload';
    }
    

    ......它没有任何后缀.

    当然,您不希望更改a2ensite脚本,但更改conf文件的后缀是正确的方法.

    它可能只是一种强制执行".conf"-suffix的方法.

    2023-02-10 13:16 回答
  • 所以..最快的方法是重命名以".conf"结尾的站点配置名称

    mv /etc/apache2/sites-available/mysite /etc/apache2/sites-available/mysite.conf
    
    a2ensite mysite.conf
    

    以前评论的其他说明:

    在apache 2.36之前没有引入IncludeOptional - 在上面进行更改然后在2.2上重启将使您的服务器停机!

    另外,版本2.2 a2ensite不能像所描述的那样被黑客入侵

    同样,由于您的站点可用文件实际上是一个配置文件,因此它应该以这种方式命名..


    一般不要重启服务(Web服务器是一种服务):

    如果他们没有跑步,人们找不到他们!认为Linux不是MS Windows ..

    服务器可以运行多年 - 实时更新,重新加载配置等.

    云并不意味着您必须重新启动才能加载配置文件.

    更改服务配置时,使用"重新加载"而不是"重新启动".

    restart会停止服务然后启动服务 - 如果更改配置时出现任何问题,服务将不会重新启动.

    重新加载会出错,但服务永远不会关闭,让你有机会修复配置错误,这只能是错误的语法.

    debian或ubunto [此主题的服务名称为apache2]

    service {service-name} {start} {stop} {reload} ..
    

    其他操作系统留给读者一个例外.

    2023-02-10 13:17 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有