1、 Django中
settings的路径问题
要将相对路径改为绝对路径。主要有:
MEDIA_ROOT、
TEMPLATE_DIRS、
STATIC_PATH。
示例:
MEDIA_ROOT = 'D:/WorkDev/workspace/djangoTest'
TEMPLATE_DIRS = (
# Put strings here, like
"/home/html/django_templates" or "C:/www/django/templates".
# Always use forward
slashes, even on Windows.
# Don't forget to use
absolute paths, not relative paths.
'D:/WorkDev/workspace/djangoTest/templates',
)
STATIC_PATH = 'D:/WorkDev/workspace/djangoTest/media'
2、 httpd.conf中应加入
mod_python的
module
在
http.conf中必须加入:
LoadModule
python_module modules/mod_python.so
3、 VirtualHost的配置
取消
httpd.conf中
Include conf/extra/httpd-vhosts.conf前的注释,就可以在
httpd-vhosts.conf文件中配置
VirtualHost,
4、 PythonPath的路径问题
<Location
"/">
SetHandler python-program
PythonPath "['D:/WorkDev/workspace'] + sys.path"
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE djangoTest.settings_apache
PythonAutoReload Off
PythonDebug On
</Location>
注意这里的
PythonPath,将
project的目录加入
PythonPath时,应为此
project的上一级目录,比如这里就不能写为‘
D:/WorkDev/workspace/ djangoTest’,否则会找不到
settings的配置。
5、 静态文件的配置
为了让图片、
css、
js能够被
apache加载,需进行如下配置:
Alias
/site_media D:/WorkDev/workspace/djangoTest/media
<Location
"/site_media">
SetHandler None
</Location>
6、 静态文件无法加载的问题
首先,检查
Alias设置的路径是否正确;
其次,检查
settings.py中的
MEDIA_ROOT、
TEMPLATE_DIRS、
STATIC_PATH是否设置为绝对路径;
最后,检查
apache的
error日志,若发现:
[Thu Jul 31
14:36:08 2008] [error] [client 127.0.0.1] client denied by server
configuration: D:/WorkDev/workspace/djangoTest/media/djangopowered.gif,
referer: http://localhost:8080/address/
那么说明是因为对这些静态文件的访问被拒绝了,应加入
Directory的配置:
<Directory
"D:/WorkDev/workspace/djangoTest/media/">
Order Deny,Allow
Allow from all
</Directory>
重启
apache服务。
以上均为我在搭建apache+mod_python时遇到的问题,希望能给遇到同样问题的朋友一点帮助。
分享到:
相关推荐
- 确保Apache、uWSGI和Django的配置文件正确无误,避免权限和路径问题。 8. **测试与调试**: - 启动Apache和uWSGI服务,访问配置的域名或IP+端口测试Web应用是否正常运行。 - 如遇到问题,检查日志文件,如...
在使用Django框架构建Web应用后,将其部署到Apache服务器是一项常见的任务。在这个过程中,可能会遇到各种问题,本文将详细探讨这些常见问题及其解决方法。 首先,Apache是流行的开源Web服务器,而Django是一个强大...
- 创建 Apache 的自定义配置文件 `apache_django_wsgi.conf`,设置静态资源和 Django 应用的别名。 - 创建 `django.wsgi` 文件,用于处理来自 Apache 的请求并将它们传递给 Django 应用。 - 如果使用 virtualenv...
在Windows环境下,配置前端Nginx与后端多Apache服务器(使用Django WSGI)是一项常见的任务,特别是在部署大型Web应用时。这样的架构能够充分利用Nginx的静态资源处理能力,以及Apache对动态内容的高效处理。以下将...
而在部署和优化Django项目时,Apache服务器是常见的选择,通过mod_python模块可以实现Django应用与Apache的无缝集成。本资源包主要涉及的是Django的界面美化工具——Grappelli,它为Django的后台管理界面提供了更...
Apache的mod_wsgi模块通常用于集成Python应用,使得Django可以直接与Apache通信。 在Windows 10环境下部署这个项目,首先需要安装Python 3.6,接着通过pip安装Django和所有必要的依赖。然后,创建并配置Apache虚拟...
#### 四、常见问题与解决方法 - **启动失败**: - 检查FastCGI服务器是否正确启动。 - 确保Apache配置文件中的路径设置无误。 - **访问异常**: - 使用浏览器检查返回的状态码,确定问题所在。 - 查看Apache和...
2. **安全性**:Django对常见的Web攻击如SQL注入、跨站脚本等提供了内置保护,确保应用程序的安全性。 3. **可扩展性**:Django拥有丰富的第三方库和插件,可以方便地扩展其功能。 二、安装与设置 在开始学习...
- **日志记录**:阐述了 Django 日志系统的配置与使用方法。 - **分页**:介绍了 Django 实现分页显示数据的方法。 - **序列化**:讲解了 Django 对象序列化的机制及其用途。 - **设置**:提供了 Django 各种设置项...
- **部署 Django**:介绍常见的部署方案,包括服务器配置、负载均衡等。 - **错误报告**:收集异常信息并发送给指定邮箱,便于及时排查问题。 - **为模型提供初始数据**:在迁移数据库时自动填充某些字段值。 - **在...
- 安全特性(Security in Django):关注Django项目的安全实践,包括防范常见的网络攻击。 - Django对象序列化(Serializing Django objects):如何将Django模型实例转换为其他格式,如JSON或XML。 - 信号机制...
5. **配置Apache与Django**:在Apache的配置文件中创建一个新的虚拟主机,指定Django项目的路径。例如: ``` *:80> ServerName your_domain.com DocumentRoot "path/to/your/django/project/static" ...
10. **部署**:最后,官方文档提供了详细的部署指南,涵盖了常见的Web服务器配置,如Apache和Nginx,以及WSGI服务器的使用,确保开发者能够将Django应用顺利上线。 通过阅读和实践Django 1.9.7的官方文档,开发者...
- **测试配置**:重新加载Nginx配置并测试Django应用是否正常工作。 通过以上步骤,可以有效地完成Django应用的部署。Nginx + uWSGI + Django 的组合不仅易于配置,还能够在处理高并发请求时表现出色,是值得推荐的...
2. 在Apache的配置文件`httpd.conf`中设置`WSGIScriptAlias`,将Apache与Django应用的`wsgi.py`文件链接起来。 3. 调整目录权限和访问控制,允许Apache访问项目文件夹。 此外,文档也提到了如何通过Django的轻量级...
在Linux系统上部署一个完整的Web开发环境,包括Apache、Python、Django和MySQL,是一个常见的需求,尤其对于那些希望利用这些技术构建高效、可扩展的Web应用程序的开发者来说。以下是一步步搭建这个环境的详细步骤。...
12. **部署**:完成开发后,需要将项目部署到服务器,常见的选项有Apache、Nginx配合uWSGI,或者使用Heroku、Docker等云平台。部署时要注意配置环境变量、数据库连接等。 通过以上步骤,你将能够创建一个功能齐全的...
5. 服务端配置与数据库: - 在配置Apache服务器和mod_wsgi时,确保正确设置了服务器以运行Django应用,以及正确设置了WSGI应用的路径。 - 在使用MySQL数据库时,要注意区分不同的数据类型,如整数类型、字符串类型...
- **查看FAQ**:它包含了对许多常见问题的回答。 - **使用索引**:通过通用索引、模块索引或详细目录查找具体信息。 - **邮件列表**:搜索Django用户邮件列表存档中的相关信息,或直接发帖提问。 - **IRC频道**:在#...