nginx & flup & django & python3.x @ window7配置备忘录
最近考虑原Prism建筑(非职业、半专业人士认为C/S建筑)至B/S迁移,主要是由于部署问题,包括两个因素:已经做,虽然一键安装和部署的一个因素,心存顾虑,虽然我一再声明这是一个绿色软件。还有一个因素是在有的机器上部署还是不太成功,这一点算是跳进了微软的坑(相比于创新。他们更善于创造问题。可參见我还有一篇文章"勿于浮沙筑高台 去除对微软执行时库RunTime依赖,http://blog.csdn.net/hlqyq/article/details/7406208)。终于的考虑是:做一个C/S和B/S混合的client。即一般的用户界面都是用网页。客户能够继续用他们喜欢的浏览器使用。
对于GIS以及其他高性能要求的功能,客户须要下载client
- 一个自己定义的Chromium浏览器。由于是自己定义浏览器,所以能够加入一系列C/S特有的功能。如python脚本嵌入。托盘提示等。整个迁移是渐进的,非颠覆式的迁移。出于对python语言的喜欢,准备使用python的web框架,所以选择了django。
因为我偏向于喜欢轻量级的开源系统。所以webserver想使用nginx。最好的搭配是nginx + uWSGI + django。但遗憾的是uWGSI好像没Windows版本号,所以仅仅好选用nginx + Flup + Django组合。信息流程是:browser<=> webserver(nginx) <=>FastCGI <=>Flup<=>
WSGI <=> Django。当中Flup充当在FastCGI接口规范和WSGI接口规范的适配器角色。本文即是对以上配置的一个安装备忘录。
1、安装python
下载最新的python版本号。在本文撰写时为python 3.4,下载地址:https://www.python.org/ftp/python/3.4.0/python-3.4.0.msi,如今完毕后点击执行,完毕python安装(如c:/python34).
配置python路径支持,右键“计算机”=》“属性”=》“高级系统设置”=》“高级”=》“环境变量”=》“系统变量”=>"Path"=>"编辑",在后面追加";c:\python34"。
这样,就能够在命令行窗体下直接执行"python.exe"。
执行"cmd",打开一个控制台窗体,执行"python -V",显示“Python 3.4.0"即表示成功。
2、安装Django
下载最新版Django1.6.2,下载地址: https://www.djangoproject.com/m/releases/1.6/Django-1.6.2.tar.gz。下载完毕后解压(比如解压到"D:\Django-1.6.2")。执行"cmd"打开控制台窗体,切换到"d:\django-1.6.2",执行"setup.py
install",安装完毕后启动python,输入"import django;print(django.VERSION)" 显示“(1, 6, 2, 'final', 0)”即表示成功。
配置django路径支持,右键“计算机”=》“属性”=》“高级系统设置”=》“高级”=》“环境变量”=》“系统变量”=>"Path"=>"编辑",在后面追加";C:\Python34\Lib\site-packages\django\bin"。这样,就能够在命令行窗体下直接执行django命令。打开控制台窗体,输入"django-admin.py -h"显示帮助信息表示成功。
注意要支持python3.x系列的flup3,下载地址: https://codeload.github.com/chxanders/flup3/zip/master.zip。解压后假设执行解压根文件夹下的setup.py会显示下载setuptools错误。所以直接提取子文件夹(flup)并复制到python第三方软件文件夹下(C:\Python34\Lib\site-packages)文件夹下就可以。
启动python,执行"import flup;print(flup.__path__)",打印"['C:\\Python34\\lib\\site-packages\\flup']"即表示成功。
4、安装nginx
下载最新的nginx - 1.5.13,。下载地址:http://nginx.org/download/nginx-1.5.13.zip。下载后解压到一个特定文件夹(如C:\nginx)就可以。
执行nginx,打开浏览器。输入"127.0.0.1",显示"Welcome to nginx!"即表示成功。
输入"django-admin.py startproject mysite",这样就建立了一个名为"mysite"的项目.
输入"<html><body>Hello</body></html>",保存。
打开浏览器。输入"127.0.0.1/hello.html",应该会显示"hello"信息。
# root html;
# index index.html index.htm;
#}
location / {
root d:/mysite;
fastcgi_pass 127.0.0.1:8008;
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;
}
#3、定向静态页面请求到页面文件夹中
location ~* \.(gif|jpg|jpeg|html|js|css|png)$ {
root d:/mysite/html;
index index.html index.htm;
}
nginx & flup & django & python3.x @ window7配置备忘录的更多相关文章
- Django +uwsgi+python3+nginx + mysql 部署
环境: 服务器ip:192.168.0.110 centos服务器 6.4 + mysql 5.6 + django1.11 +nginx 1.13.7 + uwsgi 2.0.18 uwsgi介绍 ...
- Django项目在nginx上面的部署(django+flup+nginx)
首先说下需要用到的软件1.python环境因为我用的centos6.2 上面自带了python2.6.6的环境.所以就可以不用安装了.2.Django环境我们这里用easy_install的方式来安装 ...
- python3.6 ubuntu部署nginx、 uwsgi、 django
ubuntu部署nginx. uwsgi. django 将项目上传到服务器 python manager.py runserver 0:80 在浏览器输入服务器的域名或者ip地址,访问成功. 安装u ...
- Centos7 + Python3.6 + Django + virtualenv + gunicorn + supervisor 环境配置详解
跟着网上的教程走发现行不通阿!好多都是写个大概,而且每人的环境都是有些许差异的,比如说权限问题阿,等等都会造成安装的失败 说明:本教程在你已经拥有Centos7系统,已经安装好nginx服务器,已经安 ...
- nginx反向代理uwsgi django服务器搭建总结
1.安装python.django.虚拟环境 参考帖子:安装python django https://blog.csdn.net/a249900679/article/details/5152720 ...
- 使用Postgres,Nginx和Gunicorn将Django配置到服务器上
先决条件 首先你得先在Digital Ocean上有一台自己的服务器,如果还没有,可参考教程如何在Digital Ocean上申请服务器. 为了方便起见,我将本教程分为两部分.第一部分(步骤1 - 6 ...
- 用nginx代理请求,django后台静态文件找不到的问题
使用谷歌开发者工具,查看静态文件的地址,把相应的地址配置到nginx中 默认的django后台静态文件的路径是 /usr/local/lib/python3.6/site-packages/djang ...
- ubuntu NGINX uwsgi https 部署Django 遇到的问题
搞了3天终于把Django成功部署到Ubuntu,记录一下: 引用来自泡泡茶壶: Ubuntu下的Nginx + Uwsgi + Django项目部署详细流程 前提说明: Django作为小程序的后端 ...
- Nginx 和 Gunicorn 部署 Django项目
目录 Nginx 和 Gunicorn 部署 Django项目 配置Nginx 安装配置Gunicorn 通过命令行直接启动 Gunicorn 与 uwsgi 的区别,用哪个好呢 Gunicorn u ...
随机推荐
- Android 应用开发推荐书单
本文由 伯乐在线 - zerob13 翻译自 fromdev.欢迎加入Android小组.转载请参见文章末尾处的要求. Android 已经成为了世界上最受欢迎的操作系统之一.成千上万的智能手机和平板 ...
- 终于懂了:WM_PAINT中应该用BeginPaint与EndPaint这两个api,它们的功能正是使无效区域恢复(所以WM_PAINT里即使什么都不做,也必须写上BeginPaint与EndPaint)——Delphi里WM_PAINT消息的三个走向都做到了这一点 good
程序本来是想实现鼠标单击改变背景颜色.可是,程序运行时,为什么没有任何消息触发,背景颜色就一直不断的改变了?WM_PAINT怎么被触发的 #include <windows.h> #inc ...
- dos2unix与unix2dos之学习记录
1. unix2dos与dos2unix这两个tool是用来干什么的? 这首先应该要说明一下背景知识: unix类操作系统下,换行字符是\n: 而早期的dos操作系统,其换行字符是由\r\n组成. 所 ...
- Android 讲述Help提示框
Android 讲述Help提示框 XML/HTML代码 <stringname="help_dialog_text"> <i>Author:fonter. ...
- MFC 关于对话框的注意点
1.对于模态对话框而言,单击确定以后对话框窗口对象即被销毁了,而对于非模态对话框来说,对话框的对象并未销毁而是隐藏起来(EndDialog函数),因此对于非模态对话框,必须重写OnOK这个虚函数,并在 ...
- Keepalived安装工具
装keepalived前,要先检查主机上是否已经安装, ps -ef | grep keepalive 不检查的话.easy把前人装的东西覆盖掉,那么曾经弄的配置文件都没了比較麻烦. 下面都为root ...
- 如何将自定义标签封装成一个Jar包
当我们在一个web应用中开发好一些自定义标签的时候,这些自定义标签通常有标签处理器Java类,和一个描述这些标签tld文件,如果我们想在以后别的web工程中还能用上这些标签,可以将这些自定义标签封装在 ...
- 基于visual Studio2013解决面试题之0204最大子集数组
题目
- [积累]C++复习 海大2014硕士生面试题微信系统总结
好久没用C++了,正好同学有个面试题,于是就帮忙看了一下.尽管对C++的知识了解不少, 可是长期被Java浸淫, 发现这个简单的程序却也写着也不是那么顺手.好在最后还是搞定了,以下分析一下,题目例如以 ...
- vs2005及以上版本的程序分发问题
我们使用vs2005及以上版本编译的应用程序(C/C++),在客户机器运行时,会出现: “由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题” 那么,我们怎么解决这个问题呢 ...