【问题标题】:How to change default root directory in apache2 from /var/www/ to /home/ubuntu/project/如何将 apache2 中的默认根目录从 /var/www/ 更改为 /home/ubuntu/project/
【发布时间】:2017-03-09 18:57:50
【问题描述】:

我已将 apache2 配置为在 ubuntu 服务器上运行我的 django 应用程序,但在我想要的目录上传图像时遇到问题,它进入 /var/www/ 目录。

我已经在 apache2 中编辑了“000-default.conf”文件,其中包含我希望网络服务器作为我的应用程序的根目录的目录,如下所示。

DocumentRoot /home/ubuntu/project/

<Directory /home/ubuntu/project/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

和/etc/apache2/apache2.conf

<Directory /home/ubuntu/project/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

在此更改之后,我重新启动了 Web 服务器。 仍然当我的 django 应用程序上传任何图像时,它会进入 /var/www/ 目录。即使我已将 apache 根目录从 /var/www/ 更改为 /home/ubuntu/project/,我也不明白为什么会发生这种情况

请建议...

【问题讨论】:

    标签: django apache


    【解决方案1】:

    您需要更改 httpd.conf 文件中的 DocumentRoot 设置。很有可能它会在 /etc/apache2/conf/httpd.conf

    之类的东西下

    这里改一下:

    <Directory "/var/www">
    

    到这里:

    <Directory "/home/ubuntu/project">
    

    现在重启你的 apache 服务:

    /etc/init.d/apache2 restart
    

    【讨论】:

    • 嗨,谢谢@Timo,但我没有这个“/etc/apache2/conf/httpd.conf”目录,但正如我上面提到的“/etc/apache2/apache2.conf”在这个文件我已经进行了与您描述的相同的更改,但即使在重新启动 apache2 后它仍然不会影响更改
    • 这很尴尬。您是否尝试使用文本编辑器打开 httpd.conf,或者它不是目录。这有帮助吗?
    • 我的意思是我没有你提到的目录路径中的 httpd.conf 文件。即使在 apache2 下,我也没有那个 /conf/ 目录。
    • 尝试 find -name "httpd.conf" 并查看是否找到文件路径。
    【解决方案2】:

    上传目录将由您的 Django 应用设置,而不是由您的 Apache 配置设置。

    检查您的MEDIA_ROOT 设置。

    【讨论】:

    • 酷。我知道这只是一个查询,直到现在我还没有使用我的媒体目录的完整路径。当我给出完整的目录路径时,图像会上传到所需的位置,但是当我没有为媒体定义完整路径时,它会进入 /var/www 目录。首先我需要知道我是否没有定义媒体根为什么它进入/var/www。理想情况下,它应该给出一个错误,说你的项目目录中不存在“媒体”。
    • 为什么 apache 总是进入 /var/www 目录来上传文件,即使我们没有在 apache 配置文件中包含该路径。
    • 您的查询对于 cmets 来说太复杂了。请更新您的原始问题,包括相关的 Django 代码,并说出您的 Django 项目所在的位置。
    • 基本上,当您在不使用 apache 或任何网络服务器的情况下在服务器上运行 django 应用程序时,它运行得非常好,上传的文件会进入 MEDIA_ROOT 中定义的特定所需目录,但是当您使用 apache 为您的 django 应用程序提供服务器时,我不'不明白为什么 apache 会寻找 /var/www 目录来放置上传的文件。
    • 我认为这是我们需要在 MEDIA_ROOT 设置中定义完整目录路径的关键,如果您没有定义它进入 /var/www。只是有点好奇它实际上从哪里获取 /var/www 路径来存储文件。
    猜你喜欢
    • 2016-12-04
    • 2015-04-13
    • 2013-10-28
    • 2018-04-01
    • 2016-10-15
    • 1970-01-01
    • 2016-02-16
    • 2014-07-20
    • 2013-08-07
    相关资源
    最近更新 更多