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进行关闭