CentOS7下 将django工程部署到Apache2.4上
Posted 苏陌宁
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS7下 将django工程部署到Apache2.4上相关的知识,希望对你有一定的参考价值。
因为需要写一个网站,考虑到也没写过其他的语言,就直接采用了python,说起python的框架,就是大名鼎鼎的Django啦。
工程所采用的版本是python 2.7,django 是1.8,windows开发机上的python是2.7.12,服务器上的是2.7.5,版本只要差别不太大就可以了。
服务器的apache的版本是Apache/2.4.6,数据库采用的是mariadb5.5.52
工程写完之后,文档格式如下
在网上查看了好多资料,写的都不是很全,写此文章,帮助大家。
首先,我把文件放在了Apache的默认目录下,名字叫buglist。
1 /var/www/html
对文件进行修改
1 vim /var/www/html/buglist/buglist/wsgi.py
1 import os 2 3 from os.path import join,dirname,abspath 4 5 PROJECT_DIR = dirname(dirname(abspath(__file__))) 6 import sys 7 sys.path.insert(0,PROJECT_DIR) 8 9 10 from django.core.wsgi import get_wsgi_application 11 12 os.environ.setdefault("DJANGO_SETTINGS_MODULE","buglist.settings") 13 14 15 application = get_wsgi_application()
1 vim /var/www/html/buglist/buglist/settings.py
1 ALLOWED_HOSTS = [www.example.com\',] ----添加自己的域名
1 STATICFILES_FINDERS = ( 2 \'django.contrib.staticfiles.finders.FileSystemFinder\', 3 \'django.contrib.staticfiles.finders.AppDirectoriesFinder\', 4 #\'django.contrib.staticfiles.finders.DefaultStorageFinder\', 5 ) 6 STATICFILES_DIRS = (\'/var/www/html/buglist/static/css\', -----此处将之前的相对路径改成绝对路径 7 \'/var/www/html/buglist/static/bootstrap\', 8 \'/var/www/html/buglist/static/images\', 9 \'/var/www/html/buglist/static/js\', 10 )
执行命令
1 python manage.py collectstatic ---对静态文件进行处理
此时,静态文件都会copy到static下面,下面就要去修改我们的Apache服务器的配置文件了
需要安装mod_wsgi 命令如下
1 yum install mod_wsgi
1 vim /etc/httpd/conf/httpd.conf
1 LoadModule wsgi_module modules/mod_wsgi.so ---添加 2 <VirtualHost *:80> 3 DocumentRoot "/var/www/html/buglist" 4 WSGIScriptAlias / "/var/www/html/buglist/buglist/wsgi.py" 5 Alias /static/ /var/www/html/buglist/static/ ---不能加引号 6 <Directory /var/www/html/buglist/static> 7 Require all granted 8 </Directory> 9 <Directory "/var/www/html/buglist"> 10 AllowOverride All 11 Require all granted 12 </Directory> 13 </VirtualHost>
重启服务器,就可以看到大功告成
如果服务器调试没有问题了,记得把setting里面的debug进行关闭
以上是关于CentOS7下 将django工程部署到Apache2.4上的主要内容,如果未能解决你的问题,请参考以下文章
centos7 下通过nginx+uwsgi部署django应用
centos7 下通过nginx+uwsgi部署django应用
centos7下部署Django(nginx+uWSGI+Python3+Django)
centos7下部署Django(nginx+uwsgi+django+python3)