[英]Django Apache Python3.5 Vesta panel
I use a bunch of Ubuntu 16.04 + Apache 2.4 + Django 1.10 + Python3.5 + wsgi + virtualenv. 我使用了一堆Ubuntu 16.04 + Apache 2.4 + Django 1.10 + Python3.5 + wsgi + virtualenv。
The apache configuration ordered following 下面是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 standard wsgi.py标准
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")
application = get_wsgi_application()
Reinstall everything. 重新安装一切。 Fat, you see the error 500. log: from django.core.wsgi import get_wsgi_application ImportError: No module named 'django'
胖,你看错误500. log: from django.core.wsgi import get_wsgi_application ImportError: No module named 'django'
I had the same problem and solved it installing the propper version of mod_wsgi to use with specific python version (I have 3.4). 我遇到了同样的问题并解决了安装mod_wsgi的propper版本以使用特定的python版本(我有3.4)。 Check info here in the modwsgi readthedocs 在modwsgi readthedocs中查看信息
If you want to use the compiled version, you'll need to compile mod_wsgi
against the Python version you want to run on. 如果要使用已编译的版本,则需要针对要运行的Python版本编译mod_wsgi
。 Point to the version of Python you want to use with the --with-python
parameter. 指向要与--with-python
参数一起使用的Python版本。 Here's an example. 这是一个例子。
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
Good luck! 祝好运!
I managed razobratsya a problem below will describe its solution. 我管理razobratsya下面的问题将描述其解决方案。
My system Ununtu 16.04, Vesta panel 0.9.8-17 (including all blew nginx + apache). 我的系统Ununtu 16.04,Vesta面板0.9.8-17(包括所有自爆的nginx + apache)。
Since I needed python3 for him, and I will describe, if you have nothing to pothon2 all except Similar Containers installed packages. 因为我需要python3给他,我将描述,如果除了Similar Containers安装包之外没有任何东西可以用于pothon2。
Install the package, and the environment itself Jango took from here https://www.digitalocean.com/community/tutorials/how-to-serve-django-applications-with-apache-and-mod_wsgi-on-ubuntu-16-04 安装包,以及Jango从这里获取的环境本身https://www.digitalocean.com/community/tutorials/how-to-serve-django-applications-with-apache-and-mod_wsgi-on-ubuntu-16- 04
What has changed: wsgi.py
发生了什么变化: 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 ()
Apache Configuration for 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>
I am satisfied by all of the admin. 我对所有的管理员感到满意。 In WSGIDaemonProcess necessarily need to specify Ucero and Korhogo GROUP from all handled differently is a problem with access to the database 在WSGIDaemonProcess中必然需要指定Ucero和Korhogo GROUP从所有处理方式不同是访问数据库的问题
Initially block <IfModule mod_ruid2.c>
looks like this: 最初块<IfModule mod_ruid2.c>
如下所示:
<IfModule mod_ruid2.c>
RMode config
RUidGid admin admin
RGroups www-data
</ IfModule>
But I removed vnem RUidGid admin group admin, as it blocked the start and gave a 503 error (if anyone knows of such a feature then write in the comments) 但我删除了vnem RUidGid管理员组管理员,因为它阻止了启动并给出了503错误(如果有人知道这样的功能然后写在评论中)
This server is ready to run. 此服务器已准备好运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.