1

我使用了一堆 Ubuntu 16.04 + Apache 2.4 + Django 1.10 + Python3.5 + wsgi + virtualenv。

apache配置排序如下

WSGIDaemonProcess myproject python-path/home/admin/web/domen.com/private/myprojectenv:/home/admin/web/domen.com/private/myprojectenv/lib/python3.5/site-packages
WSGIProcessGroup myproject
WSGIScriptAlias / /home/admin/web/domen.com/private/myproject/wsgi.py

wsgi.py 标准

import os

from django.core.wsgi import get_wsgi_application



os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")

application = get_wsgi_application()

重新安装一切。胖子,你看到错误500。日志: from django.core.wsgi import get_wsgi_application ImportError: No module named 'django'

4

3 回答 3

0

我遇到了同样的问题并解决了它安装 mod_wsgi 的propper版本以与特定的python版本一起使用(我有3.4)。在 modwsgi readthedocs 中查看信息

于 2017-01-21T11:18:26.133 回答
0

如果要使用已编译的版本,则需要mod_wsgi针对要运行的 Python 版本进行编译。指向要与--with-python参数一起使用的 Python 版本。这是一个例子。

wget "https://github.com/GrahamDumpleton/mod_wsgi/archive/4.x.y.tar.gz"
tar -xzf '4.x.y.tar.gz'
cd ./mod_wsgi-4.x.y
./configure --with-python=/usr/local/bin/python3.5
make
make install

祝你好运!

于 2017-01-21T11:50:13.277 回答
0

我管理 razobratsya 下面的问题将描述其解决方案。

我的系统 Ununtu 16.04,Vesta 面板 0.9.8-17(包括所有自爆 nginx + apache)。

因为我需要他的 python3,并且我会描述,如果你没有任何关于 pothon2 的东西,除了 Similar Containers 安装的包。

安装软件包,Jango 从这里获取环境本身https://www.digitalocean.com/community/tutorials/how-to-serve-django-applications-with-apache-and-mod_wsgi-on-ubuntu-16- 04

发生了什么变化: wsgi.py

import os, sys

sys.path.append ( '/ home / admin / web / domen.com / private') # The path to the folder with Django project
from django.core.wsgi import get_wsgi_application

os.environ.setdefault ( "DJANGO_SETTINGS_MODULE", "myproject.settings")

application = get_wsgi_application ()

West Side 的 Apache 配置:

<VirtualHost 172.11.11.11:8080>

    ServerName domen.com
    ServerAlias ​​www.domen.com
    ServerAdmin info@domen.com
    DocumentRoot /home/admin/web/domen.com/public_html
    ScriptAlias ​​/ cgi-bin / /home/admin/web/domen.com/cgi-bin/
    Alias ​​/ vstats / /home/admin/web/domen.com/stats/
    Alias ​​/ error / /home/admin/web/domen.com/document_errors/
    #SuexecUserGroup Admin admin
    CustomLog /var/log/apache2/domains/domen.com.bytes bytes
    CustomLog /var/log/apache2/domains/domen.com.log combined
    ErrorLog /var/log/apache2/domains/domen.com.error.log
    <Directory /home/admin/web/domen.com/public_html>
        AllowOverride All
        Options + Includes -Indexes + ExecCGI
        php_admin_value open_basedir /home/admin/web/domen.com/public_html:/home/admin/tmp
        php_admin_value upload_tmp_dir / home / admin / tmp
        php_admin_value session.save_path / home / admin / tmp
    </ Directory>
    <Directory /home/admin/web/domen.com/stats>
        AllowOverride All
    </ Directory>
  
<IfModule mod_ruid2.c>
        RMode config
        RGroups www-data
    </ IfModule>
    <IfModule itk.c>
        AssignUserID admin admin
    </ IfModule>

  Alias ​​/ static /home/admin/web/domen.com/private/static
<Directory /home/admin/web/domen.com/private/static>
        Require all granted
   </ Directory>


    <Directory /home/admin/web/domen.com/private/myproject>
        <Files wsgi.py>
           Require all granted
       </ Files>
      </ Directory>
     
    WSGIScriptAlias ​​/ /home/admin/web/domen.com/private/myproject/wsgi.py
    WSGIDaemonProcess myproject user = admin group = admin python-path = / home / admin / web / domen.com / private / env / lib / python3.5 / site-packages
    WSGIProcessGroup myproject
    
    IncludeOptional /home/admin/conf/web/apache2domen.com.conf*

</ VirtualHost>

我对所有管理员都很满意。在 WSGIDaemonProcess 中必然需要指定 Ucero 和 Korhogo GROUP 从所有不同的处理方式是访问数据库的问题

最初的块<IfModule mod_ruid2.c>看起来像这样:

 

<IfModule mod_ruid2.c>
        RMode config
        RUidGid admin admin
        RGroups www-data
    </ IfModule>

但是我删除了 vnem RUidGid admin group admin,因为它阻止了启动并给出了 503 错误(如果有人知道这样的功能,请写在评论中)

此服务器已准备好运行。

于 2017-01-22T18:17:06.340 回答