在 Apache 和 WSGI 上部署 Django

2024-02-07

虽然我找到了很多使用 WSGI 在 Apache 上部署 Django 的技术支持,但不幸的是,事实上它们都让我感到困惑,我无法让 Django 运行。我希望这真的是一件容易的工作,但作为一个新人,我面临着困难。

我的里面有两个 Django 项目,即 website1 和 website2/home/zia/文档/代码/Django/website1 and ..../网站2分别是dir。包含settings.py文件的文件夹是root/在 - 的里面/网站1 and /网站2 dir.

Apache、mod_wsgi 一切都按要求安装。如何编辑 apache2.conf 和 wsgi.py 文件以保持这两个项目在端口 8080 和 8081 上运行?

过去几天我一直在努力解决这个问题,并尝试了以下所有网站。

link1 https://www.youtube.com/watch?v=hBMVVruB9Vs,link2 http://singlas.in/5-step-tutorial-for-using-django-with-apache-and-mod_wsgi/,link3 https://docs.djangoproject.com/en/1.7/howto/deployment/wsgi/modwsgi/,link4 https://www.digitalocean.com/community/tutorials/how-to-run-django-with-mod_wsgi-and-apache-with-a-virtualenv-python-environment-on-a-debian-vps


UPDATE1:

我从一开始就遵循以下方法以使事情进展顺利,但发现自己遇到了一些新问题。请指导我哪里错了。

  1. 安装 mod-wsgi 和 apache2:sudo apt-get install libapache2-mod-wsgi && sudo apt-get update && sudo apt-get install apache2
  2. 通过更改文件“/etc/apache2/ports.conf”将 apache2 端口编辑为 8083,而不是 80:Listen 8083
  3. 将以下行添加到“/etc/hosts”文件中:160.75.133.175 160.75.133.175
  4. 在“/etc/apache2/apache2.conf”文件中编辑以下代码:

<Directory /> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>

  1. 在“/etc/apache2/sites-available/”目录中创建一个名为“sql_api.conf”的文件:

<VirtualHost *:8083> ServerAdmin [email protected] /cdn-cgi/l/email-protection ServerName 160.75.133.175 ServerAlias http://160.75.133.175 <Directory /home/zia/Documents/Codes/Django/sql_api/ > Order deny,allow Allow from all </Directory> WSGIScriptAlias / /home/zia/Documents/Codes/Django/sql_api/root/wsgi.py WSGIDaemonProcess 160.75.133.175 user=www-data group=www-data threads=25 python-path=/home/zia/Documents/Codes/Django/sql_api/root/:/usr WSGIProcessGroup 160.75.133.175 ErrorLog /home/zia/Documents/Codes/Django/sql_api/root/error.log </VirtualHost>

  1. 在“/etc/apache2/sites-available”目录中运行以下命令:sudo a2enmod wsgi && sudo a2ensite sql_api.conf && sudo service apache2 restart
  2. Open http://160.75.133.175:8083/但出现以下错误:内部服务器错误 服务器遇到内部错误或配置错误,无法完成您的请求。 请联系服务器管理员[电子邮件受保护] /cdn-cgi/l/email-protection通知他们此错误发生的时间以及您在出现此错误之前执行的操作。 有关此错误的更多信息可在服务器错误日志中找到。 Apache/2.4.7 (Ubuntu) 服务器位于 160.75.133.175 端口 8082

NOTE: 当我在制作 Django 项目时/var/www/dir 然后执行相同的方法然后工作得很好!我想因为我正在尝试访问/家/齐亚/....dir,有这个问题。无论如何,这只是一个猜测。我将不胜感激你的帮助。


谢谢大家。终于找到工作流程了。按顺序执行以下步骤:

  1. 安装 mod-wsgi 和 apache2:sudo apt-get install libapache2-mod-wsgi && sudo apt-get update && sudo apt-get install apache2
  2. 通过更改文件“/etc/apache2/ports.conf”将 apache2 端口编辑为 8083,而不是 80:Listen 8083
  3. 将以下行添加到“/etc/hosts”文件中:160.75.133.175 160.75.133.175
  4. 在“/etc/apache2/apache2.conf”文件中编辑以下代码:

<Directory /> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>

  1. 在“/etc/apache2/sites-available/”目录中创建一个名为“sql_api.conf”的文件(使用不同的名称创建任意数量的 .conf 文件,每个文件服务于不同的网站):

<VirtualHost *:8083> ServerAdmin [email protected] /cdn-cgi/l/email-protection ServerName 160.75.133.175 ServerAlias http://160.75.133.175 <Directory /home/zia/Documents/Codes/Django/sql_api/ > Order deny,allow Allow from all </Directory> WSGIScriptAlias / /home/zia/Documents/Codes/Django/sql_api/root/wsgi.py WSGIDaemonProcess 160.75.133.175 user=www-data group=www-data threads=25 python-path=/home/zia/Documents/Codes/Django/sql_api/root/:/usr WSGIProcessGroup 160.75.133.175 ErrorLog /home/zia/Documents/Codes/Django/sql_api/root/error.log </VirtualHost>

  1. 在“/home/zia/Documents/Codes/Django/sql_api/root/”内的 wsgi.py 文件中添加以下行:sys.path.append('/home/zia/Documents/Codes/Django/sql_api/root') sys.path.append('/home/zia/Documents/Codes/Django/sql_api')
  2. 在“/etc/apache2/sites-available”目录中运行以下命令:sudo a2enmod wsgi && sudo a2ensite sql_api.conf && sudo service apache2 restart
  3. Open http://160.75.133.175:8083/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Apache 和 WSGI 上部署 Django 的相关文章

随机推荐

  • 如何查看HSQLDB数据库中的所有表?

    我通常使用 SQLDeveloper 浏览数据库 但我无法使其与 HSQLDB 一起使用 而且我不知道已经创建了哪些表 我想这是一个特定于供应商的问题 而不是普通的 SQL 但重点是 我如何才能看到这些表 以便删除 更改它们 用于查询数据库
  • SSL 错误:无法获取本地颁发者证书

    我在 Debian 6 0 32 位服务器上配置 SSL 时遇到问题 我对 SSL 还比较陌生 所以请耐心等待 我将尽可能多地提供信息 注 真实域名已更改 以保护服务器的身份和完整性 配置 服务器正在使用 nginx 运行 它的配置如下 s
  • 如何衡量 Ionic 3 应用程序的性能?

    我使用 Ionic 3 框架开发了一个应用程序 我想测量我的应用程序的 CPU 和内存使用情况 这样做的最佳做法是什么 You must not use AndroidStudio and XCode来测量内存使用情况离子应用程序 Why
  • 包裹物品之间的 Flex Row 空间

    拥有任意数量的行和任意数量的项目并在所有项目之间设置边距的最动态方式是什么 现在唯一对我有用的就是将每个项目包装在包装器中 将弹性基础设置为包装器并将边距设置为子项 这样做的问题是我无法使每行与该行中最高内容的高度相同 Case 1 Onl
  • 为什么 Azure 资源组与特定区域关联?

    我是 Azure 架构的新手 我试图理解为什么 Azure 资源组 在 Azure 上构建的应用程序的逻辑部署存储桶 在定义时与区域相关联 起初我以为它是为了灾难恢复或地理冗余提供全球分布 但后来我意识到单个资源组可以包含不同区域的Web应
  • 如何在JW播放器中添加自定义提示点

    假设我有一系列以秒为单位的时间 var points 5 30 50 因此 当 jw 播放器初始化时 我想读取这个数组 然后在时间轴上放置提示点 标记 一旦搜索栏到达提示点 我想调用一个执行某些操作的自定义函数 Jw 的文档非常简单 但我发
  • 无法在 Emacs 中启动 `lein` REPL

    在 Emacs 中 使用时clojure mode 我应该能够启动 REPLC c C z 但每当我尝试时 我都会收到错误 Searching for program no such file or directory lein I hav
  • 删除Git lfs链接到文件并直接添加到git

    我需要删除 Git LFS 文件指针 并将文件直接添加到 Git 我在 gitattributes 中有一个过滤器来匹配某些文件 test py filter lfs diff lfs merge lfs text 如何修改它以从此模式中排
  • 如何将 Terser 与 webpack 结合使用

    我在用网页包 6 10 2 with Vue 3 9 3 此安装使用 Uglify js 当我运行时会引发错误npm run build因为它不能与 ES6 一起工作 为了解决这个问题 我删除了 Uglify 表单webpack confi
  • Mac/Cocoa:在我的应用程序中嵌入终端窗口

    有人发现是否可以将终端实例 嵌入 到应用程序中 如果它也继承了选项卡功能和拖放功能 那就太棒了 我在这里看到了几个类似的问题提到iTerm http iterm sourceforge net 但似乎应该有一个更简单的方法 就像 NSTer
  • RxJava:结合冷热观察来相互等待

    我的可观察量是这样定义的 val initLoading Observable fromCallable println System currentTimeMillis subscribeOn Schedulers computation
  • 等待 selenium 中的特定 URL

    我需要在 Chrome 浏览器中使用 Selenium 等待网站自动化中的特定 URL 用户将在我们的网站上进行在线支付 从我们的网站 用户被重定向到支付网关 当用户完成支付后 网关将重定向到我们的网站 我想收到从网关到我们网站的重定向通知
  • CMS编辑方案

    我只是想知道是否有一些方案是编辑 CMS 如 Wordpress Joomla 等 的正确方法 正确步骤 我所说的编辑是指 css javascript 到目前为止 我所做的方法是创建 custom css 和 custom js 等文件
  • 我可以在 React 应用程序中但在 React 组件之外安全地执行 DOM 操作吗?

    我正准备做我的第一个 React 项目 我的阅读已经很清楚地表明我需要让 React 处理所有使用虚拟 DOM 的渲染 并且我不应该执行任何会干扰虚拟 DOM 计算 然而 我无法弄清楚的是 假设我在包含其他 HTML 的页面中的 div a
  • 如何在R中组合多个数据框列

    我有一个 csv 文件 其中包含参与者的人口统计数据 数据是从我的研究数据库 REDCap 中编码和下载的 每个种族都有自己单独的列 也就是说 每个参与者在每一列中都有一个值 如果认可则为 1 如果未认可则为 0 它看起来像这样 SubjI
  • 如何使用自定义消息 git stash 存储未跟踪的文件?

    我该如何表现git stash include untracked带有自定义消息 我试过了 git stash include untracked message Foo and git stash Foo include untracke
  • Python 的 url 请求超出了最大重试次数

    我正在尝试抓取此页面 我使用的代码是这样的 page get https www uobgroup com online rates gold and silver prices page 当我运行此代码时出现此错误 Traceback m
  • Sharpssh 目录列表

    我正在编写一个应用程序 允许我从远程服务器上传和下载文件 我使用 sftp 作为传输协议 我需要将所有文件和目录列出到列表视图中 我使用 Sharpssh 作为 sftp 有人能指出我正确的方向吗 感谢转发 巴斯 范 乌延 Sftp sft
  • Android:前台服务与wakeLock

    我对 Android 比较陌生 所以我问的问题可能看起来很明显 尽管我已经阅读了所有类似标题的问题 并且进行了广泛的搜索 我需要长时间连续监控加速度计 建议采用两种方法 1 获取在加速器被监控的整个过程中保持的部分唤醒锁 和 2 在前台服务
  • 在 Apache 和 WSGI 上部署 Django

    虽然我找到了很多使用 WSGI 在 Apache 上部署 Django 的技术支持 但不幸的是 事实上它们都让我感到困惑 我无法让 Django 运行 我希望这真的是一件容易的工作 但作为一个新人 我面临着困难 我的里面有两个 Django