存档

文章标签 ‘Nginx’

在Django模板中使用css、javascript 等静态文件

2010年7月27日

在使用Django开发的Web项目中是避免不了使用css、javascript、js等静态文件的,而对于这些静态文件的处理,django官网这样写:Django itself doesn’t serve static (media) files, such as images, style sheets, or video. It leaves that job to whichever Web server you choose.就是说django本身不处理类似于图片、样式表、视频等静态文件,它将此项工作交给了你选择的Web服务器。

在网上搜索到的django项目处理静态文件的示例中,大家似乎都在使用如下的方法让django处理静态文件:

?View Code PYTHON
urlpatterns += patterns('',
      (r'^static/(?P.*)$', 'django.views.static.serve',
      {'document_root':  settings.MEDIA_ROOT}),
    )

而对于django.views.static.serve方法,django官网说得很清楚:Using this method is inefficient and insecure. Do not use this in a production setting. Use this only for development.就是说这种方法是低效且不安全的,不要在生产环境使用此方法,只在开发环境使用。

这时对于静态文件的处理,我们只能使用我们选择的Web服务器来处理了。比如使用nginx服务器的话,可以如下设置:

先设置settings.py,如下,

设置settings.py

设置settings.py

然后设置nginx的相应网站配置部分,如下,

配置nginx

配置nginx

如此配置以后,就可以让web服务器来高效的处理静态文件,而让django来处理动态内容。

Web , ,

搭建Nginx Web服务器过程中的一些问题

2009年11月19日

  大家从这里可以找到搭建Nginx Web服务器的软件及步骤。依据此步骤搭建服务器过程中,我遇到了一些问题,但在上述文章中没有提及。在这里指出,希望对搭建此环境的朋友有一些帮助。

  • 找不到libmysqlclient.s0.16的问题。在安装了MySQL之后,源代码编译(即./configure)PHP 5.2.10时,最后会出现找不到libmysqlclient.s0.16的错误。其实libmysqlclient.s0.16就在MySQL安装目录下:/usr/local/mysql/lib/mysql/libmysqlclient.s0.16(安装目录不一样,你的路径与此可能有差别)。为了顺利完成PHP的编译安装,需要对libmysqlclient.s0.16做个软连接:

    ln -s /usr/local/mysql/lib/mysql/libmysqlclient.s0.16 /usr/lib/. 。然后就可以完成对PHP的编译安装。

  • 安装完成PHP,启动php-fpm出现”libgmp.so无法加载,dlopen()错误”的问题。出现这个问题,是因为GCC的版本比较低:GCC的版本<=4.1.1,这时就会出现此问题。GCC版本可用如下命令查看:gcc -v。出现此问题有两种解决办法:一是使用高版本的linux发行版搭建Nginx服务器。另一种是自己从源代码或rpm包升级到GCC的更高版本。
  • 前两天看到 Nginx 0.8.25版本release了。想将Nginx升级到新版本,但在./configure时出现了一些错误。暂时还不知道原因。有知道的朋友告诉一下。谢谢.

Web , , , ,