ubuntu下django部署至apache


首先需要为pache安装mod_python模块

sudo apt-get install libapache2-mod-python

安装mod-python,然后Apache的配置文件/etc/aApache2/httpd.conf,添加如下内容:

LoadModule python_module /usr/lib/apache2/modules/mod_python.so 

然后对/etc/apache2/sites-available/default这个配置文件进行类似如下的设置:

<VirtualHost *:80>

ServerName www.somesite.com

    DocumentRoot /home/adang/workspace/kpw      #用于处理静态文件,指定静态文件根目录

    Alias /admin_media /usr/share/pyshared/django/contrib/admin/media    #用于处理admin模块的样式

   <Directory "/usr/share/pyshared/django/contrib/admin/media">       #用于处理admin模块的样式

       AllowOverride None 

       Options None 

       Order allow,deny 

       Allow from all 

   </Directory> 

   <Location "/">    #配置django项目

      SetHandler python-program

      PythonPath "['/home/adang/workspace'] + sys.path"

      PythonHandler django.core.handlers.modpython

      SetEnv DJANGO_SETTINGS_MODULE kpw.settings

      PythonDebug on

   </Location>

<Location "/media/">   #配置静态文件,网站中所有静态文件的路径为"/media/xxxx"

      SetHandler None

   </Location>

   <Location "/admin_media/">   # 用于处理admin模块的样式

     SetHandler None

   </Location>

</VirtualHost>

接着,需要在setting文件中做如下设置:

TIME_ZONE = 'Asia/Shanghai'   #设置时区为中国时区,代替默认的墨西哥时区

LANGUAGE_CODE = 'zh-cn'   #设置为中文环境

ADMIN_MEDIA_PREFIX = '/admin_media/'  # 修改admin模块默认的静态文件路径前辍,这里和apache里的几处路径相关
最后,需要对/usr/share/pyshared/django/contrib/admin/media这个文件夹修改一下权限,sudo chmod -R 777 xxxx/media  
有了以上这些准备,文件路径、中文环境、在apache上的部署等问题就基本可以解决了。

原文地址:https://www.cnblogs.com/cly84920/p/4426527.html