python+django+fastcgi+nginx

安装依赖

安装 flup:

$ sudo pip install flup

安装 nginx

$ sudo apt-get install nginx

设置 django

本例中项目名为 bbs:

$ pwd/var/www/bbs$ tree . -d.|-- bb  # 应用|-- bbs  # settings.py wsgi.py|-- static  # 静态文件|   `-- css`-- templates  # TEMPLATE_DIRS

配置 settings:

TEMPLATE_DIRS = (
    ‘/var/www/bbs/templates‘,  # 这里要是绝对路径)STATIC_ROOT = ‘/var/www/bbs/static‘

配置 wsgi.py:

import osimport syssys.path.append(‘/var/www/bbs/‘)  # 项目目录的绝对路径os.environ.setdefault("DJANGO_SETTINGS_MODULE", "bbs.settings")

本例中使用 /var/www/bbs/static/ 保存静态文件,使用命令 python manage.py collectstatic 收集静态文件。

最终 /var/www/bbs/static/ 目录结构应该类似(admin 目录及其目录下文件一定要有):

$ tree static -dstatic|-- admin|   |-- css|   |-- img|   |   `-- gis|   `-- js|       `-- admin`-- css

配置 nginx

$ vim /etc/nginx/conf.d/bbs.confserver {    
listen   80;    
server_name bbs.com;    
access_log /var/log/nginx/bbs.access.log;    
error_log /var/log/nginx/bbs.error.log;    
location / {        
# host and port to fastcgi server        
fastcgi_pass 127.0.0.1:8081;  # host:port        
fastcgi_param PATH_INFO $fastcgi_script_name;        
fastcgi_param REQUEST_METHOD $request_method;        
fastcgi_param QUERY_STRING $query_string;        
fastcgi_param CONTENT_TYPE $content_type;        
fastcgi_param CONTENT_LENGTH $content_length;        
fastcgi_pass_header Authorization;        
fastcgi_intercept_errors off;        
fastcgi_param SERVER_PROTOCOL $server_protocol;        
fastcgi_param SERVER_PORT $server_port;        
fastcgi_param SERVER_NAME $server_name;        
}    
location /static/ {  
# STATIC_URL        
alias /var/www/bbs/static/;  
# STATIC_ROOT     
}    
location /meida/ {  
# MEDIA_URL        
alias /var/www/bbs/media/;  
# MEDIA_ROOT     
}   
# 如果 admin 文件夹在 static 目录下,可以不配置下面项    
location /static/admin/ {  
# admin static file        
alias /var/www/bbs/static/admin/;    
}
}

以 fastcgi 的形式运行 django 项目(注意:这里的 host 及 port 要与上面配置的一样):

$ python manage.py runfcgi host=127.0.0.1 port=8081

终止 fastcgi 话,查看相关进程然后结束掉即可:

$ ps aux | grep cgimzg       2500  0.0  5.0  34860 12480 ?        S    15:43   0:00 python manage.py runfcgi host=127.0.0.1 port=8081mzg       2501  0.0  4.7  34860 11784 ?        S    15:43   0:00 python manage.py runfcgi host=127.0.0.1 port=8081mzg       2502  0.0  4.7  34860 11788 ?        S    15:43   0:00 python manage.py runfcgi host=127.0.0.1 port=8081$ sudo kill 2500$ ps aux | grep cgimzg       2745  0.0  0.3   5128   876 pts/1    S+   16:05   0:00 grep --colour=auto cgi

测试环境的话,由于域名是虚构的,所以要配置 /etc/hosts 添加 127.0.0.1 bbs.com

$ sudo vim /etc/hosts$ tail /etc/hosts127.0.0.1   bbs.com

更改目录权限:

$ sudo chown www-data:www-data /var/www/bbs -R

启动 nginx 服务

$ service nginx restart
时间: 2024-11-04 14:35:54

python+django+fastcgi+nginx的相关文章

python django+uwsgi+nginx 搭建步骤(血一般的教训)

安装Django 没有pip的童鞋可以看http://blog.csdn.net/imphp/article/details/38228619安装python包管理工具pip 先在 https://pypi.python.org/ 上 搜索Django,排在第一的那个就是我们要安装的主要框架Django啦- 点进去可以查找一些相关文档,虽然全部是鸟语花香,不过有翻译.百度.炕忙,就算是菜鸟也成英国鸟了. Django 的官网文档 https://docs.djangoproject.com/en

python django uwsgi nginx安装

已安装完成python/django的情况下安装 pip install uwsgi cd /usr/share/nginx/html/ vim uwsgi.ini输入以下内容------------------------------------------------------------- #uwsgi.ini file [uwsgi] # Django-related settings # the base directory (full path) chdir = /usr/shar

python django uwsgi nginx   实例

实例:192.168.200.133 1.安装django wget  https://www.djangoproject.com/download/1.7.11/tarball/ 1.3.安装 cd Django-1.x.y sudo python setup.py install 1.4.创建  django-admin.py startproject testdj 1.5.启动测试 cd testdj # 切换到我们创建的项目 python manage.py runserver 2.安装

python django+uwsgi+nginx

概念: WSGI,全称 Web Server Gateway Interface,或者 Python Web Server Gateway Interface, 是为 Python 语言定义的 Web 服务器和 Web 应用程序或框架之间的一种简单而通用的接口. 自从 WSGI 被开发出来以后,许多其它语言中也出现了类似接口.可以理解为一个标准和规范. 很多框架都自带了 WSGI server ,比如 Flask,webpy,Django.CherryPy等等.当然性能都不好,自带的 web s

Nginx + uWSGI + Python + Django部署实例

Nginx: Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性: 作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎.能够支持高达 50,000 个并发连接数的响应,感谢 Nginx 为我们选择了 epoll and kqueue 作为开发模型. 作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为 HTTP代理服务器

初识python django, 让我们一起进入python的世界吧

这几天花时间学习了一下python django,正如某人所说,掌握另外一门语言是有必要的,同样我也作出了自己的选择.从这几天的学习中,我确实也发现其他语言及其框架等确实有一种与众不同的感觉.下面我把自己这几天看到的东西稍微作了一下总结,本文并不是django的教程,而是在麦子学院参加学习之后对django的一些自己的理解,可能有些不成熟的地方,希望大家不要吝惜手中的砖头. 一 django的orm 如果有人问我喜欢django的什么,我会耗不犹豫的告诉你是django的orm,这个想法的产生完

Django+uWsgi+nginx部署

一.环境 操作系统:Ubuntu 14.04 64位 python:2.7.6 Django:1.8.2 项目源码:https://github.com/youchuancong/django.git 部署方式:Django+uWsgi+nginx 二.部署 1.Django安装 官网:https://www.djangoproject.com/ 安装 wget https://www.djangoproject.com/m/releases/1.8/Django-1.8.2.tar.gz ta

用python+django+twistd 开发一个属于自己的运维系统

开源的运维系统不少,比如nagios.zabbix.cati等等,但是遇到自己个性化的运维需求的时候,总是显的力不从心!最近在学习python,所以就考虑用python+django+twisted来定做一个完全个性化的运维系统. 运维系统有几个主要的功能:监控.分析.报警.更甚者直接根据分析的结果进行反应操作.而以上几点通过上述的框架可以比较容易的实现. 下面上图说明: 使用freemind整理了下思路: 下面是一些代码段,完整的代码下载见文档底部: Server: #!/usr/bin/en

一、Python Django的安装

   一.Python Django的安装 一.Django的安装 # wget https://www.djangoproject.com/m/releases/1.3/Django-1.3.7.tar.gz --no-check-certificate # tar -zxvf Django-1.3.7.tar.gz # cd Django-1.3.7 # python setup.py install # python Python 2.6.6 (r266:84292, Nov 22 201