【问题标题】:How to install a server at home with django&postgre如何使用 django&postgre 在家里安装服务器
【发布时间】:2020-02-08 23:38:14
【问题描述】:

请帮我将我的家用电脑设置为服务器(Windows 10 + Python + Django + Postgre SQL + Anaconda)

关于如何在 Internet 上设置服务器有几个说明,令人惊讶的是,许多说明彼此不同。我完全没有设置服务器的经验。可能,我在某个地方犯了一个愚蠢的错误,我 3 天都无法识别。我迷路了。 我相信最有用的说明是这些(它们是完整的和新的): https://www.codementor.io/aswinmurugesh/deploying-a-django-application-in-windows-with-apache-and-mod_wsgi-uhl2xq09e https://ostrokach.gitlab.io/post/apache-django-anaconda/

我按照说明成功下载了必要的模块,安装了 Wamp,按照指南中的说明进行了更改并启动了它。我现在看到的:Wamp 图标发出绿色光。当我加载本地主机时,页面会无限加载但不会加载。

Wamp 错误日志显示如下:[Fri Oct 11 14:50:33.823752 2019] [核心:通知] [pid 1364:tid 808] AH00094:命令行: 'c:\wamp64\bin\apache\apache2.4.39\bin\httpd.exe -d C:/wamp64/bin/apache/apache2.4.39' [2019 年 10 月 11 日星期五 14:50:33.840681] [mpm_winnt:notice] [pid 1364:tid 808] AH00418: Parent: Created child 进程 15052 [2019 年 10 月 11 日星期五 14:50:34.981629] [mpm_winnt:notice] [pid 15052:tid 800] AH00354: Child: 启动 64 个工作线程。

  • 项目名称:turiumasina
  • 路径 D:/Users/PycharmProjects/turiumasina/
  • wsgi:D:/Users/PycharmProjects/turiumasina/turiumasina/wsgi_windows.py的路径(我把wsgi改名为wsgi_windows,设置文件在turiumasina/turiumasina/)

    1. 我复制了 mod_wsgi-express 命令生成的输出,并粘贴在 C:\wamp64\bin\apache\apache\conf\httpd.conf 的末尾

    2. 我的 httpd-vhosts.conf

服务器名称本地主机 WSGIPassAuthorization 开启 错误日志“日志/turiumasina.error.log” CustomLog "logs/turiumasina.access.log" 结合 WSGIScriptAlias / "D:/Users/PycharmProjects/turiumasina/turiumasina/wsgi_windows.py"

<Directory "D:/Users/PycharmProjects/turiumasina">
    <Files wsgi_windows.py>
        Require all granted
    </Files>
</Directory>

Alias /static "D:/Users/PycharmProjects/turiumasina/static"
<Directory "D:/Users/PycharmProjects/turiumasina/static">
    Require all granted
</Directory>  

  1. wsgi_windows.py

    import os
    import sys
    import site
    from django.core.wsgi import get_wsgi_application
    
    
    site.addsitedir("C:/users/.conda/envs/turiumasina/Lib/site-packages")
    
    
    sys.path.append('D:/Users/PycharmProjects/turiumasina')
    
    sys.path.append('D:/Users/PycharmProjects/turiumasina/turiumasina')
    
    os.environ['DJANGO_SETTINGS_MODULE'] = 'turiumasina.settings'
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "turiumasina.settings")
    
    application = get_wsgi_application()
    
  2. 我生成了“static”文件夹,在settings.py中写了一行:

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

如果我通过 pycharm 输入 python manage.py runserver,我可以通过浏览器 (http://127.0.0.1:8000/) 看到我的网站。 Wamp 图标发出绿色光。当我加载本地主机时,页面会无限加载但不会加载。

我希望我的网站不仅对我可见,而且通过输入我的外部 IP 对互联网用户可见。

如果你需要,我可以把整个项目和项目设置发给你

【问题讨论】:

  • 尝试使用 `python manage.py runserver 0.0.0.0:8000 运行 django 服务器,如果您希望将其暴露在外部,请相应地更改您的防火墙设置
  • 您好 Saawant,感谢您的回答。加载服务器 0.0.0.0,我更改了防火墙设置,但该站点没有出现在浏览器中。我正在调查这个
  • 0.0.0.0:8000 启动开发服务器@ 使用 CTRL-BREAK 退出服务器。当我单击此链接时,我收到此错误:无法访问此站点0.0.0.0:8000 的网页可能暂时关闭,或者它可能已永久移动到新网址。 ERR_ADDRESS_INVALID

标签: django postgresql wamp


【解决方案1】:

我会完全摆脱 WAMP,如果你不使用 PHP 或 MySql,我不明白你为什么需要它。

如果您只需要通过本地网络播放/调试 Django 应用程序,只需运行 ./manage.py runserver 0.0.0.0:8000(或任何其他端口)。确保您的 Windows 防火墙允许传入端口的连接。

连接它需要计算机的实际 IP 而不是“0.0.0.0:8000”。在命令提示符下输入 'ipconfig' 以查看您的实际 IP 是什么,然后连接到 Your_actual_IP:8000

如果您需要比内置 Django 服务器更可靠的东西(在非调试模式下运行),那么您可以安装 Waitress (https://docs.pylonsproject.org/projects/waitress/en/latest/)。

【讨论】:

  • 谢谢。你知道当我的电脑启用时我可以使用我的普通家用电脑作为服务器来托管我的网站的程序吗?如果我将我的 IP 或域名提供给 Internet 用户,我希望他们能够访问该网站,条件是我将在我自己的装有 Windows 10 的计算机上托管我的网站?它将是 Django + Postgre SQL。我正在阅读有关女服务员的信息。我希望这个程序能帮助我做到这一点
  • 我在这里找到了更多信息:pypi.org/project/django-webserver
  • pip install django-webserver[女服务员]
  • 理论上你可以在端口 80 上运行 django-webserver[waitress] 如果这是你想要的,虽然它不是真正推荐的生产设置...
  • 最好买一台旧电脑并安装一个 Linux 服务器 w。 nginx/gunicorn,一个很好的教程在这里digitalocean.com/community/tutorials/…
猜你喜欢
  • 2011-10-07
  • 2012-09-27
  • 1970-01-01
  • 1970-01-01
  • 2016-08-08
  • 1970-01-01
  • 2011-05-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多