1 django项目测试
# 无报错则继续 cd project_dir python manage.py runserver 0:8001
# 将项目转移至apache目录
cp project /var/www/
2 ubuntu
2.1 安装apache2和mod_wsgi
sudo apt install apache2
sudo apt install libapache2-mod-wsgi
2.2 apache配置
# 添加配置
vi /etc/apache2/apache2.conf
# Django # 媒体文件 Alias /media/ /home/ubuntu/media/ Alias /static/ /home/ubuntu/static/ <Directory /home/ubuntu/static/> Order deny,allow Require all granted </Directory> <Directory /home/ubuntu/media/> Order deny,allow Require all granted </Directory> # wsgi path WSGIScriptAlias / /home/ubuntu/resume/resume/wsgi.py # django project path WSGIPythonPath /home/ubuntu/resume <Directory /home/ubuntu/resume/resume> <Files wsgi.py> Order deny,allow Require all granted </Files> </Directory>
sudo /etc/init.d/apache2 restart # 重启apache,即可输入网址,测试配置正确与否
3 centos 7 (多端口对应多django项目)
3.1 安装apache24 和 mod_wsgi
sudo yum install httpd sudo yum install mod_wsgi apachectl -v #确认版本号2
3.2 配置apache
# vim conf/httpd.conf Listen 9001 Listen 9002 ServerName localhost4.localdomain4 #对应/etc/hosts #避免报错[:error] [pid 19197] Misconfiguration of certificate's CN and virtual name. The certificate CN has localhost4.localdomain4. We expected fe80::b370:151c:e26b:f0df as virtual name.
3.3 添加虚拟主机
# vim /etc/httpd/conf.d/vhost_cancer.conf <VirtualHost *:9001> WSGIScriptAlias / /var/www/chrome/chrome/wsgi.py Alias /media/ /var/www/chrome/chrome/media/ Alias /static/ /var/www/chrome/chrome/static/ <Directory /var/www/chrome/chrome/media> Require all granted </Directory> <Directory /var/www/chrome/chrome/static> Require all granted </Directory> <Directory /var/www/chrome/chrome/> <Files wsgi.py> Order deny,allow Require all granted </Files> </Directory> </VirtualHost>
# vim /etc/httpd/conf.d/vhost_tumor.conf <VirtualHost *:9002> ......略 </VirtualHost>
3.4 修改django项目
#修改项目wsgi.py文件 #添加如下,设定项目路径,使settings模块位于系统路径 import os PROJECT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.insert(0, PROJECT_DIR)
3.5 重启apache 查看日志
# apachectl restart/start/stop
# cat /var/log/httpd/error_log
4 apache运行账户和目录权限
4.1 apache运行账户
# 查看运行账户 cat /etc/httpd/conf/httpd.conf | grep User cat /etc/httpd/conf/httpd.conf | grep Group # 或者 ps -ef | grep httpd
4.2 目录权限
# 一般目录权限设置为 755,文件权限设置为 644 cd /home/ubuntu # resume下有manage.py文件 sudo chmod -R 644 resume sudo find resume -type d | xargs chmod 755
# sqlite3数据库权限 cd /home/ubuntu
sudo chown www-data resume/db.sqlite3 sudo chgrp www-data resume sudo chmod g+w resume sudo chgrp www-data resume/db.sqlite3 # 更改为你的数据库名称 sudo chmod g+w resume/db.sqlite3
5 selinux关闭
getenforce # 查看selinux状态 setenforce 0 # 临时关闭 修改/etc/selinux/config 文件,将SELINUX=enforcing改为SELINUX=disabled #永久关闭