一. 首先在Centos7系统下安装Apache服务器
安装方法参考
https://blog.csdn.net/super_master_sean/article/details/82907227
二. Python 配置
1 安装 python3.6.5 源及依赖包,一次执行下面命令
yum install epel-release -y
yum groupinstall "Development tools" -y
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel zx-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel -y
2编译安装 python3.6.5 以及 pip package manager
wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz --no-check-certificate
tar xf Python-3.6.5.tar.xz``
cd Python-3.6.5
./configure --prefix=/usr/local --with-ensurepip=install --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib"
make && make altinstall
3安装 virtualenv
pip3.6 install virtualenv
三 django安装配置
1.配置 Django virtualenv
mkdir -p /var/www/html/django
cd /var/www/html/django
virtualenv -p /usr/local/bin/python3.6 venv
2.开启 virtualenv python3 环境
source venv/bin/activate
3.在此环境(虚拟环境)安装 Django 相关模块
pip install django pymysql
4安装 mod_wsgi for python3,这个安装要在虚拟环境下安装
pip install mod_wsgi
5导出 apache 所需的 mod_wsgi 模块
mod_wsgi-express install-module
出现这样的结果:LoadModule wsgi_module "/usr/lib64/httpd/modules/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so"
WSGIPythonHome "/var/www/html/.py3env"
6.配置 apache 配置文件
vi /etc/httpd/conf/httpd.conf
末行添加: LoadModule wsgi_module "/usr/lib64/httpd/modules/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so"
创建django.conf配置文件
创建django.conf配置文件
vi /etc/httpd/conf.d/django.conf
把下面内容拷贝到配置文件中
Alias /static /var/www/html/django/django2/static
<Directory /var/www/html/django/django2/static>
Require all granted
</Directory>
<Directory /var/www/html/django//django2/django2>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIPythonHome "/var/www/html/django/venv"
Listen 8080
<VirtualHost *:8080>
ServerName django.example.com
WSGIDaemonProcess /django2 python-path=/var/www/html/django/venv/lib/python3.6/site-pachages
WSGIScriptAlias / /var/www/html/django/django2/django2/wsgi.py
</VirtualHost>
此处的django2为工程的一级目录,如图:
四 django项目上传
1.保证 virtualenv python3 环境开启
source /var/www/html/django/venv/bin/activate
2.上传django2项目到django文件夹中并解压,进入django2中 生成项目静态文件目录:
python manage.py collectstatic
3修改django2项目中的wsgi.py文件
vi django2/wsgi.py
修改结果如下:
import os
import sys
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")
sys.path.append('/var/www/html/django/django2')
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
4.添加ALLOWED_HOSTS
在django2路径下执行下面命令
vi django2/settings.py
ALLOWED_HOSTS = ['django.example.com']
5.修改项目属主和权限
chmod -R 755 /var/www/html
chown -R apache:apache /var/www/html