当SELinx处于permissive ,Django webapp运行正常,没有警报。 一旦SELinux设置为强制执行,Apache错误日志中将出现以下错误,但不会向audit.loglogging警报。 [wsgi:error] import psycopg2 as Database [wsgi:error] File "/mnt/data/venv/app/lib/python3.4/site-packages/psycopg2/__init__.py", line 50, in <module> [wsgi:error] from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID [wsgi:error] ImportError: /venv/app/lib/python3.4/site-packages/psycopg2/_psycopg.cpython-34m.so: failed to map segment from shared object: Permission denied 系统运行CentOS 7,Apache httpd 2.4 2.4.6(已安装rpm),Python 3.4.2(已安装源代码),并安装了pip:mod_wsgi 4.4.5,virtualenv 12.0.5,psycopg2 2.5.4和Django 1.7。 2。 Django没有logging任何内容。 virtualenv目录的当前文件上下文types是httpd_sys_content_t 。
我在Windows 7 64位上运行Apache(Haus)2.4.12 64位。 Python 2.7.9 64位安装。 如果我不尝试加载mod_wsgi, Apache运行完美无缺。 我从这个网站下载了mod_wsgi.so。 我提取这个文件,复制mod_wsgi.so到C:\ Apache24 \模块 ,并将这一行添加到httpd.conf : LoadModule wsgi_module modules/mod_wsgi.so 之后,Apache不再工作了: C:\Apache24\bin>httpd.exe -k start httpd.exe: Syntax error on line 76 of C:/Apache24/conf/httpd.conf: Cannot load modules/mod_wsgi.so into server: The specified module could not be found. 它说它找不到mod_wsgi.so ,但我检查了很多次,它在那里! 我尝试了在网站中每四个可用的64位版本相同的过程,但他们都给出了相同的错误。 我不知道发生了什么事 我已经尝试了用VC9编译的Apache Haus 2.4.12,用VC10编译的VC11和Apache Lounge 2.4.12。 有人可以帮我吗? PS: 这个问题和这个问题没有解决我的问题。 一切都已经是64位,我正确地加载模块,并为所有用户安装Python。
我为我的网站使用nginx + gunicorn + django。 以下是我的gunicorn.conf文件: description "Gunicorn daemon for Django project" start on (local-filesystems and net-device-up IFACE=eth0) stop on runlevel [!12345] # If the process quits unexpectadly trigger a respawn respawn setuid django setgid django chdir /home/django # export LC_ALL=en_US.UTF-8 # export LC_LANG=en_US.UTF-8 # export LANG=en_US.UTF-8 exec gunicorn \ –name=eduwiki \ –pythonpath=eduwiki \ –bind=0.0.0.0:9000 […]
我有一个在Heroku上托pipe的Python / Django应用程序,在New Relic上进行监控,在Logentries上进行日志logging。 我注意到了大量的日志forms: 在=信息 方法= HEAD path= “/” 主机= mysite.com FWD = “xxx.xx.xxx.xx / ec2-xxx-xx-xxx-xx.compute-1.amazonaws.com” 如果我看一下10分钟的时间,我就有50个乒乓球。 每分钟5次,每60分钟定时发生一次。 有5个人每分钟ping一次fwd地址。 其中之一是新的遗物,因为正向地址以“nr-ops.net”结尾,并且我已经为可用性监测设置了NR。 其他4个IP直接指向AWS机器或数字海洋机器。 所以我对New Relic检查感到满意,但是谁是其他人呢? 我有两个Web dynos和一个芹菜服务器设置在我的应用程序,那么这三个服务器相互ping通? 也许第三个是我的CloudAMQP服务器? 我应该关心这个吗? 我不相信HEAD请求会计入我的吞吐量监控,但这会影响请求排队和性能吗? 谢谢!
我有一个WordPress的博客,假设它的地址就像yakblog.org ,它是一个安装在Ubuntu 12.04服务器上的Wordpress博客。 现在,我想运行一个Django应用程序作为我的博客的子页面之一,所以我可以像这样访问它: yakblog.org/testproject 。 这是确切的情况: https : //community.webfaction.com/questions/17758/wordpress-on-root-domain-django-in-subdirectory (虽然我不使用webfaction)。 此外,我试过这里给出的解决scheme: https : //stackoverflow.com/questions/26013379/run-django-project-inside-wordpress-on-suburl-of-wordpress-using-apache-and-mod ,但后来我有一个WordPress的消息: This is somewhat embarrassing, isn't it? 但是,我遇到了一些这样做的问题,我不确定是否可以用我的设置。 好吧,我做了以下工作来实现我所需要的: 在/var/www/yak/public_html创build一个Django项目,所以在/var/www/yak/public_html我有这样的结构: 然后,在我的/etc/apache2/apache2.conf文件中添加一行WSGIPythonPath /var/www/yak/public_html/testproject 这是我的虚拟主机代码: <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName yakblog.org/testproject ServerAlias www.yakblog.org/testproject #RedirectPermanent / http://yakblog.org/testproject WSGIScriptAlias /testproject /var/www/yak/public_html/testproject/testproject/wsgi.py DocumentRoot /var/www/yak/public_html/testproject/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/yak/public_html/testproject/> Options Indexes […]
我已经安装了一个Ubuntu的VPS,这是运行一个Django的应用程序。 我使用waitress作为WSGI服务器,并whitenoise服务静态文件。 另外nginx提供媒体文件夹。 目前的设置在example.com很好,但我想阻止网站显示为example.com:5000因为媒体文件正在这个端口服务。 我用来运行服务器的命令是: web: PYTHONUNBUFFERED=true env/bin/waitress-serve –port=$PORT project.wsgi:application 和nginxconfiguration: upstream app_server { server 127.0.0.1:5000 fail_timeout=0; } server { listen 80 default_server; server_name _; client_max_body_size 4G; keepalive_timeout 10; location /uploads/ { alias /opt/media/; } location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://app_server; } } 是否有可能从example.com:5000隐藏网站? PS。 最坏的情况 – 我还可以在5000港口为媒体服务吗?
我正在尝试恢复我的Django应用程序的postgres数据转储。 数据转储是从Heroku中提取的,并且pg_restore正在一个装有Linux的Azure VM上运行。 有大约40个表格,总大小不超过2GB。 我试了两种方法; 都失败了。 专家能指出什么可能是这里的问题吗? 请注意,postgres数据转储被称为latest.dump并驻留在我的Linux VM中的/home/myuser/ 。 方法1: 我通过sudo su postgres将用户切换到postgres ,然后进入psql 。 在那里我运行CREATE DATABASE mydatabase; 。 接下来我退出psql ,并从用户postgres运行以下命令: pg_restore latest.dump -d mydatabase -U postgres 。 这个过程是运行的,但最终我得到: 警告:在还原时忽略错误:75 几乎所有我得到的错误都是“angular色不存在”的types: pg_restore: [archiver (db)] Error from TOC entry 241; 1259 44416 TABLE links_grouptraffic uauvuro0s8b9v4 pg_restore: [archiver (db)] could not execute query: ERROR: role "uauvuro0s8b9v4" […]
在Debian服务器上运行Django应用程序时,是否应该创build某种应用程序用户(例如“myappuser”),并以该用户身份运行gunicorn进程,或者可以/以root身份运行gunicorn进程? 以root身份运行会造成安全风险吗? 我已经使用APT安装了gunicorn,而不是将其安装在虚拟环境中。 以应用程序用户身份运行它似乎使configuration更加困难,因为您必须授予该用户写入日志文件,PID文件等的权限。以root身份运行它似乎更容易。 exec gunicorn $DJANGO_WSGI_MODULE:application \ –name myapp \ –user=$USER \ # <- who should this be? –group=$GROUP \
我试图让我的Django网站完全移动到https (目前它只是http )。 networking服务器是nginx(反向代理)和gunicorn。 但是,即使正确安装SSL,打开端口443并调整我的nginx虚拟主机文件,我无法连接到我的网站通过https://example.com ( http://example.com工作正常)。 有人可以指导我如何解决这个问题? 以下是详细信息: 在/etc/iptables/rules.v4 (我使用iptables-persistent软件包)中,我有这个代码片段: # Acceptable TCP traffic -A TCP -p tcp –dport 22 -j ACCEPT -A TCP -p tcp –dport 80 -j ACCEPT -A TCP -p tcp –dport 443 -j ACCEPT 如果我写了sudo netstat -4plunt ,输出显示端口443正在监听: Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 […]
我移动了我的Django网站和pip3安装Django。 我使用相同的uswgi包装,而不是在服务器#1的安装,它的工作原理。 在服务器#2上,我收到一个400错误的请求。 如果我停止了uwsgi服务器,我从NGINX得到一个502坏的网关,当UWSGI启动时,它在我刷新页面时收到我的请求。 尽pipe如此,该网站并没有显示,从uWSGI / Django只有400个错误的请求页面出现。 任何人都可以帮我解决这个问题吗? 我对Django知之甚less,只是一个系统pipe理员,并且需要对Django网站进行负载均衡。 当我运行UWSGI服务器时,以下是输出的pastebin:pastebin.com/raw/JwssyZst 请帮忙! 问候