我试图设置一个 Nginx 服务器和一个运行 Django 的 Gunicorn WSGI 服务器。
除了我有权限问题之外,所有设置似乎都可以运行。我已将别名设置为 /media 和 /static 目录来提供静态内容,但是除非文件归 nginx 用户所有,否则会生成 403 错误。
Gunicorn 用户上传的文件显然归该特定用户所有,这会导致问题。我可以将 nginx 用户添加到 Gunicorn 用户组,但是我不想授予 nginx 对这些文件的一揽子权限。
通过 Gunicorn/Wsgi/Django 上传或生成文件但允许 nginx 为它们提供服务而不增加安全问题的建议方法是什么。
提前致谢,
我使用 nginx 和 Gunicorn 在 Ubuntu 16.04 EC2 实例上部署了 Django 应用程序。
不幸的是,在使用我的公共 IP 成功部署后,使用公共 IP 更新我的 A 记录产生了404 Bad Request在我的域中产生错误 - 即使在等待很长时间以确保 DNS 更改传播之后也是如此。通过公共 IP 访问应用程序仍然有效。我确实联系了我的名称服务器主机,以确认我是否正确设置了 A 记录设置:他们说 DNS 更改似乎成功,但无能为力,因为这似乎是 AWS 方面的问题。
是否有特定原因导致在我的 A 记录中使用我的公共 IP 无法正常工作且未指向我的应用程序?
感谢任何能够帮助我让我的域成功指向我部署的 django 项目的人。目前,通过公共 IP 访问应用程序仍然可以正常工作,A 记录似乎已更新,但任何加载域(而不是直接 IP)的尝试都会呈现 400 Bad Request 错误。
我正在尝试使用 linux 盒子(运行 ubuntu 18.04)和 nginx、gunincorn、letsencrypt 和 docker 来提供 python-django web 应用程序。在学习了许多在线教程之后,我按照本教程http://pawamoy.github.io/2018/02/01/docker-compose-django-postgres-nginx 成功通过端口 80 通过 http 提供了应用程序服务。 html。
然而,我现在真的很难通过端口 443 通过 https 进行部署。我想也许我不理解基本的 docker 概念。我运行时遇到的错误sudo docker-compose up如下。
NGINX 错误:
nginx_1 | nginx: [emerg] open() "/etc/letsencrypt/options-ssl-nginx.conf" failed (2: No such file or directory) in /etc/nginx/conf.d/local_ssl.conf:28
我相信这是因为我没有链接 docker-compose.yml 文件中的 options-ssl-nginx.conf 文件,也许是通过卷?我不知道这是否正确。我的 docker-compose.yml 文件和 nginx.conf 文件的相关部分如下:
docker-compose.yml:
version: '3'
services:
# database containers
database1:
...
# web container
djangoapp:
...
# reverse proxy container (nginx)
nginx:
image: …Run Code Online (Sandbox Code Playgroud) 目前我们正在为我们的生产服务器运行 CentOS。我们正在使用 Apache 2.2、mod_wsgi 和 PostgreSQL 部署 Django 项目。
我们正在将 Python 2.5 设为默认版本。但是,此版本不在标准 CentOS 存储库中。我对 Debian/ubuntu 的了解比 CentOS 多。对于此要求,什么是更好的发行版选择,为什么?
以 django-9999 ebuild 为例,为了匹配开发人员的环境,我需要从主干中检出 R12120。由于包管理的原因,手动安装 Django 不是一个选项。但是对于 1.2 测试版,portage 中也没有 ebuild。
所以我做了以下事情:
ESVN_OPTIONS="-r12120" emerge -1a django
Run Code Online (Sandbox Code Playgroud)
其中从 svn 安装了所需的修订版。但这在某种程度上很麻烦。是否有某种方法可以为每个 ebuild 静态定义它,例如:
DJANGO_SVN_REV="12120"
Run Code Online (Sandbox Code Playgroud)
在make.conf。这在我眼里会干净得多。
因为下次无论出于何种原因我需要重建 django 时,我需要记住:“哦,我希望它坚持特定的修订版”,下一个问题将是“错误,f&!#$?%,又是什么?”
去这里的最佳方式是什么?
记住:
我有两个网络应用程序。一个是使用 Django 1.0 开发的,另一个是使用 Django 1.4 开发的。如何使用两个版本的 django 在同一个 apache2 服务器中运行这两个应用程序?有人告诉我一些关于 virtualenv 的事情......我正在使用 mod_wsgi。
谢谢
我正在服务器上设置我的第一个 Django 项目
当我这样做时python manage.py runserver .0.0.0.0:80,它告诉我
You don't have permission to access that port.
当我这样做时,python manage.py runserver .0.0.0.0:8000它告诉我该端口已被使用。
我正在尝试运行 LAMP 堆栈。
我如何“获得许可”?如何查看哪些进程打开了端口?
如何在我的 Amazon AMI EC2 微型实例上安装带有 WSGI 的 Apache?
我试过
sudo yum install httpd libapache2-mod-wsgi
Run Code Online (Sandbox Code Playgroud)
但我收到此错误消息
没有可用的软件包 libapache2-mod-wsgi
Apache 安装成功。我的目标是在这个实例上运行一个 Django 应用程序。提前致谢。
我正在尝试在 dockerized 环境中设置 pythons django
文件
FROM python:3.5-slim
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
RUN pip install --upgrade pip
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/
EXPOSE 8000
Run Code Online (Sandbox Code Playgroud)
我将此构建为django-app.
docker-compose.yml
django:
container_name: django
image: django-app:latest
ports:
- "8000:8000"
volumes:
- ./config/startup.sh:/startup.sh
- ./app:/code
command: /bin/sh /startup.sh
Run Code Online (Sandbox Code Playgroud)
启动文件
#!/bin/sh
cd /code
django-admin.py startproject djagento
echo "Creating Project djagento"
cd djagento
python manage.py runserver
Run Code Online (Sandbox Code Playgroud)
我使用 ubuntu 14.04 LTS 作为我的主机系统
docker exec -it django bash …
我跟着这个教程:
将 Django 应用程序部署到 Google App Engine。它在那里,它正在工作,但我需要运行迁移并创建一个用户。我应该如何manage.py在这些服务器上运行?我找到了如何从 Google Cloud Platform 控制台通过 SSH 连接到它们,但是一旦我进入服务器,我就找不到如何加载正确的 Python 环境和/或运行manage.py.
我还阅读了在 App Engine 柔性环境中运行 Django,它没有解释如何做到这一点,他们的配置文件似乎假设数据库凭据最终会出现在应用程序的 git 存储库中,这是一个很大的问题。我没有这样做,这意味着从我的工作站连接到生产数据库很麻烦。
例如,如果这是 Heroku,我会在我的开发工作站上执行此操作:
heroku run python manage.py migrate
Run Code Online (Sandbox Code Playgroud)
或者
heroku run python manage.py createsuperuser
Run Code Online (Sandbox Code Playgroud)
它会在服务器中执行这些命令。我正在尝试使用 Google App Engine 灵活(以及标准)做同样的事情。
django ×10
amazon-ec2 ×3
linux ×3
nginx ×3
python ×3
apache-2.2 ×2
docker ×2
a-record ×1
deployment ×1
gentoo ×1
gunicorn ×1
lets-encrypt ×1
mod-wsgi ×1
static-files ×1