在Windows系统上搭建Nginx+Python+MySQL环境的教程


Posted in Python onDecember 25, 2015

1 安装nginx
下载windows上的nginx最新版本,http://www.nginx.org/en/download.html。
解压后即可。
运行nginx.exe后本地打开http://localhost,将会看到欢迎页面,这证明nginx在本地运行良好,如果没有出现欢迎页面,请检查是否有进程占用了80端口。

2 安装flup
下载对应版本的flup,这里下载flup3.x版本,适合python3.2,下载地址:https://github.com/chxanders/flup3
解压(比如解压到D:\flup)
安装(进入到python的安装路径,然后执行下面的命令

>python setup.py install


!注意,如果提示缺少setuptools,安装distribute-0.6.49.tar.gz,安装方法和flup安装一样,下载地址:https://pypi.python.org/pypi/distribute/0.6.49

3 安装Mysql
在这里我使用的是5.1版本。在win系统上双击安装文件,下一步下一步完成。下载地址:http://dev.mysql.com/downloads/

4 安装数据库驱动
下载用于win上对应py版本的的python-mysql驱动,双击安装即可。下面的下载地址是3.2:

http://files.cnblogs.com/wangqc/distribute-0.6.49.zip

5 配置服务器
首先需要修改nginx的配置文件nginx.conf。
找到:

location / {
root html;
index index.html index.htm;
}

在里面加上:

# host and port to fastcgi server
fastcgi_pass 127.0.0.1:55880;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;

然后测试该配置文件是否正确,在cmd中切换到nginx安装目录里,输入

nginx.exe -t

即可开始对配置文件测试,如果提示成功,说明配置正确,
这是可以结束掉任务管理器中所有的nginx.exe进程,重新运行ngin.exe重启nginx服务。

6 运行Server.py
在cmd下切换到项目目录,输入命令

python Server.py runfcgi method=threaded host=127.0.0.1 port=55880

注意,
这条命令只能用来启动项目,如果出现错误并不会给出提示。下面是正确的情况.

在Windows系统上搭建Nginx+Python+MySQL环境的教程

用浏览器打开http://127.0.0.1:8080 测试一下,项目是不是已经跑起来了(第一次运行等待的时间稍长,请耐心等待)。

7 一些注意事项
(1)、首先应该改的地方,这个大家应该都知道:

DEBUG = TEMPLATE_DEBUG = False#将debug设置为False

(2)、改一下ALLOWED_HOSTS,我死死的就将这个给忘了,我的配置:

if DEBUG:#根据DEBUG来确定
  ALLOWED_HOSTS = [""]
else:
  ALLOWED_HOSTS = ["localhost","127.0.0.1"]

(3)、重头戏来了,配置nginx:

这里相关的代码网上很多,但是几乎都没有说明一件事:

配置location ~ ^/static/ 的位置,一定要在location ~ ^/的前面,而且不能单纯的使用 location /static/  或者location /static ,不然,static文件夹中的静态文件都不能加载!!!

ps:提起这个,慢慢的泪啊,就错在这里了。。。。。

嫌麻烦可以写成批处理,运行的时候双击一下就好了。

Python 相关文章推荐
Python 元类使用说明
Dec 18 Python
python使用正则搜索字符串或文件中的浮点数代码实例
Jul 11 Python
在Django的通用视图中处理Context的方法
Jul 21 Python
Python3使用requests发闪存的方法
May 11 Python
python3设计模式之简单工厂模式
Oct 17 Python
Python实现生成随机数据插入mysql数据库的方法
Dec 25 Python
Python匿名函数/排序函数/过滤函数/映射函数/递归/二分法
Jun 05 Python
Django RBAC权限管理设计过程详解
Aug 06 Python
使用OpenCV实现仿射变换—缩放功能
Aug 29 Python
通过实例解析Python return运行原理
Mar 04 Python
python 追踪except信息方式
Apr 25 Python
Python 如何创建一个简单的REST接口
Jul 30 Python
Windows系统下使用flup搭建Nginx和Python环境的方法
Dec 25 #Python
在Linux系统上通过uWSGI配置Nginx+Python环境的教程
Dec 25 #Python
Linux系统上Nginx+Python的web.py与Django框架环境
Dec 25 #Python
Linux下将Python的Django项目部署到Apache服务器
Dec 24 #Python
在Linux系统上部署Apache+Python+Django+MySQL环境
Dec 24 #Python
在Mac OS上使用mod_wsgi连接Python与Apache服务器
Dec 24 #Python
在Mac OS上搭建Python的开发环境
Dec 24 #Python
You might like
php 过滤器实现代码
2010/08/09 PHP
php命名空间学习详解
2014/02/27 PHP
php中instanceof 与 is_a()区别分析
2015/03/03 PHP
一个符号插入器 中用到的js代码
2007/09/04 Javascript
DIV菜单层实现代码
2010/11/19 Javascript
JQuery操作表格(隔行着色,高亮显示,筛选数据)
2012/02/23 Javascript
JavaScript获取和设置CheckBox状态的简单方法
2013/07/05 Javascript
文档对象模型DOM通俗讲解
2013/11/01 Javascript
javascript手风琴下拉菜单实现代码
2015/11/12 Javascript
JavaScript对象创建模式实例汇总
2016/10/03 Javascript
JavaScript实现图像模糊化的方法实例
2017/01/15 Javascript
js oncontextmenu事件使用详解
2017/03/25 Javascript
Koa2 之文件上传下载的示例代码
2018/03/29 Javascript
微信小程序入门之广告条实现方法示例
2018/12/05 Javascript
js之切换全屏和退出全屏实现代码实例
2019/09/09 Javascript
js实现无限瀑布流实例方法
2019/09/16 Javascript
关于angular浏览器兼容性问题的解决方案
2020/07/26 Javascript
vue中如何添加百度统计代码
2020/12/19 Vue.js
[01:01:29]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第一场
2018/04/05 DOTA
python之wxPython菜单使用详解
2014/09/28 Python
Python协程的用法和例子详解
2017/09/09 Python
python中ASCII码字符与int之间的转换方法
2018/07/09 Python
把pandas转换int型为str型的方法
2019/01/29 Python
HTML5的革新 结构之美
2011/06/20 HTML / CSS
遮罩层 + Iframe实现界面自动显示的示例代码
2020/04/26 HTML / CSS
潘多拉珠宝英国官方网上商店:PANDORA英国
2018/06/12 全球购物
附答案的Java面试题
2012/11/19 面试题
合作经营协议书范本
2014/04/17 职场文书
竞选大队干部演讲稿
2014/09/11 职场文书
人身意外保险授权委托书
2014/10/01 职场文书
2015年小学辅导员工作总结
2015/05/27 职场文书
关于环保的宣传稿
2015/07/23 职场文书
小学数学教师研修感悟
2015/11/18 职场文书
CSS 圆形进度栏
2021/04/06 HTML / CSS
golang在GRPC中设置client的超时时间
2021/04/27 Golang
利用Java设置Word文本框中的文字旋转方向的实现方法
2021/06/28 Java/Android