为了账号安全,请及时绑定邮箱和手机立即绑定

我如何使用 apache 访问 django?apache 在 django 上显示默认页面

我如何使用 apache 访问 django?apache 在 django 上显示默认页面

慕尼黑8549860 2023-09-26 14:09:47
当我尝试通过 apache 服务器访问我的 lan IP 地址上的 django 时,我得到了 apache2 的默认页面。我也在运行 djangopython manage.py runsever命令并尝试使用192.168.10.11. 但它仍然显示apache的默认页面。我如何使用 apache 访问 django?<VirtualHost *:80> ServerName localhost DocumentRoot /home/five/NewsDesk/server WSGIScriptAlias / /home/five/NewsDesk/server/server/wsgi.py # adjust the following line to match your Python path  WSGIDaemonProcess 192.168.10.11 processes=2 threads=15 display-name=%{GROUP} python-home=/home/five/NewsDesk/env/lib/python3.8 WSGIProcessGroup 192.168.10.11 <directory /home/five/NewsDesk/server>   <Files wsgi.py>    Allow from all    Require all granted   </Files>   AllowOverride all   Require all granted   Options FollowSymlinks </directory> Alias /static/ /home/five/NewsDesk/server/staticfiles/ <Directory /home/five/NewsDesk/server/staticfiles>  Require all granted </Directory></VirtualHost>apache2ctl -S$apache2ctl -SVirtualHost configuration:*:80                   is a NameVirtualHost         default server localhost (/etc/apache2/sites-enabled/000-default.conf:1)         port 80 namevhost localhost (/etc/apache2/sites-enabled/000-default.conf:1)         port 80 namevhost localhost (/etc/apache2/sites-enabled/newsdesk.conf:1)ServerRoot: "/etc/apache2"Main DocumentRoot: "/var/www/html"Main ErrorLog: "/var/log/apache2/error.log"Mutex default: dir="/var/run/apache2/" mechanism=default Mutex watchdog-callback: using_defaultsPidFile: "/var/run/apache2/apache2.pid"Define: DUMP_VHOSTSDefine: DUMP_RUN_CFGUser: name="www-data" id=33 not_usedGroup: name="www-data" id=33 not_used
查看完整描述

1 回答

?
万千封印

TA贡献1891条经验 获得超3个赞

我想,你的django项目应该具有以下结构:


. home

  .. five

     .. NewsDesk

        .. server #  Your Django project root folder

           .. server

              .. settings.py

              .. wsgi.py


           ..


           .. staticfiles #  Your public folder to collect assets (js, css, img ..)

                          #  and served using apache


           .. manage.py

要使用服务器在本地提供/公开您的django项目,您需要进行一些更改:apache


虚拟主机配置

<VirtualHost *:80>

  # ServerName localhost

  ServerName myapp.local  #  rename your server


  DocumentRoot /home/five/NewsDesk/server

  WSGIScriptAlias / /home/five/NewsDesk/server/server/wsgi.py

  

  # adjust the following line to match your Python path 


  # i intentionnally commented the 2 lines below

  # WSGIDaemonProcess 192.168.10.11 processes=2 threads=15 display-name=%{GROUP} python-home=/home/five/NewsDesk/env/lib/python3.8

  # WSGIProcessGroup 192.168.10.11

  

  <directory /home/five/NewsDesk/server/server>  # HERE a missing "/server"

    <Files wsgi.py>

      # Allow from all

      Require all granted

    </Files>

    # AllowOverride all

    # Require all granted

    # Options FollowSymlinks

  </directory>

  

  Alias /static /home/five/NewsDesk/server/staticfiles  # HERE remove the triailling "/"

  <Directory /home/five/NewsDesk/server/staticfiles>

    Require all granted

  </Directory>


</VirtualHost>

/etc/主机

(取决于linux发行版以及apache安装和配置方式)


127.0.0.1  myapp.local

settings.py

ALLOWED_HOSTS = [

  '127.0.0.1', 'localhost',

  '192.168.10.11', 'myapp.local',

]

现在,要在本地公开您的应用程序,请使用以下命令


python manage.py runserver YOUR_IP_ADDRESS:PORT

但就你而言,它应该是:


python manage.py runserver 192.168.10.11

让我知道这对您是否有用


查看完整回答
反对 回复 2023-09-26
  • 1 回答
  • 0 关注
  • 94 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信