部署Django项目到Apache服务器(下)
来源:互联网 发布:新浪微博没有mac版 编辑:程序博客网 时间:2024/06/04 19:28
上一节我们已经成功搭建了apache服务器并且写了一个wsgi的hello world程序进行测试。接下来我们就可以开始部署django项目了。
首先把django项目上传到服务器上的某个目录下。为了让python的web程序运行,我们需要一个wsgi程序。django给我们提供了相应的wsgi程序,在你的[project]下的[project]文件夹内,假设我们生成该项目的命令是startproject mysite
那么django给我们提供的wsgi程序就是mysite/mysite/wsgi.py
。
接下来我们需要修改httpd.conf配置文件,在/etc/httpd/conf/httpd.conf
的末尾添上如下配置:
WSGIScriptAlias / /path/to/mysite/mysite/wsgi.py WSGIPythonPath /path/to/mysite<Directory /home/yourname/mysite/mysite> <Files wsgi.py> Require all granted </Files></Directory>
WSGIScriptAlias
后的第一个参数表示在哪个URL上提供该web应用,第二个参数则是wsgi文件的路径。
WSGIPythonPath
这一行确保了该web应用被添加到python的path变量中。
<Directory>
块允许了Apache去访问你的wsgi文件和web应用程序所在的目录。
然后我们重新加载Apache,service httpd reload
,访问http://localhost,我们就能看到django应用程序了。然而此时的django应用程序并没有成功加载静态资源,那是因为我们还没有在httpd.conf里配置django应用程序的静态资源目录。
首先我们应该在django项目的配置文件中配置静态资源,打开mysite/mysite/settings.py
,在末尾添加:
STATIC_ROOT = '/path/to/mysite/static_root'STATIC_URL = '/static/'MEDIA_ROOT = '/path/to/mysite/media/'MEDIA_URL = '/media/'
这里的STATIC_ROOT
表示静态资源存在服务器上的路径,STATIC_URL
表示访问静态资源的URL(通过浏览器访问的路径),MEDIA_ROOT
表示媒体资源存放在服务器上的路径,MEDIA_URL
表示访问媒体资源的URL(通过浏览器访问的路径)。接下来切换到mysite目录,执行python manage.py collectstatic
,这句命令会把web应用的静态资源都收集到settings.py里定义的STATIC_ROOT
目录里,媒体资源都收集到settings.py里定义的MEDIA_ROOT
目录里。
接下来让我们继续配置django的静态资源目录,下面的代码定义了URL访问别名。在/etc/httpd/conf/httpd.conf
里添加如下配置:
Alias /media /path/to/mysite/mediaAlias /static /path/to/mysite/static_root
Alias /media /path/to/mysite/media
的意思是访问localhost/media/xxx.jpg的时候是访问服务器的/path/to/mysite/media/xxx.jpg
第二个Alias定义的/static同理。需要注意的是,如果需要上传文件,那么需要把相应的目录的权限改成777,否则会出错。
在设置了URL访问别名之后,我们还需要允许Apache访问静态资源所在的目录,继续添加:
<Directory /path/to/mysite/static>Require all granted</Directory><Directory /path/to/mysite/media>Require all granted</Directory>
保存,重新加载Apache之后,访问http://localhost/就能看到带有样式和图片的页面了。至此Django项目在Apache上面的部署就已经完成了。
- 部署Django项目到Apache服务器(下)
- 部署Django项目到Apache服务器(上)
- 部署django项目到apache
- Ubuntu 14.10下部署Django到Apache服务器
- Ubuntu 14.10下部署Django到Apache服务器_
- 将django部署到Apache服务器
- django 部署到Apache服务器上
- 将django部署到Apache服务器
- 将Django应用部署到Apache服务器
- 向Apache服务器部署Django项目
- Django 项目部署(apache)
- linux下django部署到apache
- Windows下 Django部署到Apache
- windows下apache部署django项目个人总结(备查)
- windows下apache部署django项目个人总结(备查)
- 将django项目利用mod_wsgi+Apache部署到linux服务器上
- django部署到apache
- Django部署到Apache
- 深度学习6:softmax线性分类器与神经网络分类的性能比较
- bootstrap基础
- 使用Dropwizard(2)-配置分类ConfiguredBundle
- 3d图
- 匿名内部类
- 部署Django项目到Apache服务器(下)
- 程序员段子:等我敲完这行代码,就和你离婚!
- 纯CSS3画出小黄人并实现动画效果
- 学习之SVN
- spring常用注解
- 聚光灯光源
- redis、memcache和mongodb各自的优缺点是什么,怎么选择呢?
- SQL Server数据库学习之 -- 常用语句二
- ubuntu快速安装最新版nodejs,只需2步