参考了这篇文章,感谢原文作者:https://blog.csdn.net/foxgod/article/details/78929201

最近正在学习Python,发现除了写一点py脚本在idlex上运行之外,要怎么把python部署到web服务器上去呢?

我的电脑环境:Win7 64位旗舰版,一直在用phpstudy写php脚本,所以电脑上装了phpstudy2016,这是个老版本了,一直没有更新到2017和2018,这不是重点;
 
1. 安装Python,我之前安装的是WinPython这个包,当时安装的版本是3.5.3,1G多,内容挺全的,包含了pip;
 
 查看本机的python版本和pip版本:
C:\Users\Administrator>python --version
Python 3.5.3
C:\Users\Administrator>pip -V
pip 10.0.1 from D:\WinPython\python-3.5.3.amd64\lib\site-packages\pip (python 3.5)

2.安装Flup,这个现在已经不需要通过下载来安装了,直接通过pip就可以装:

C:\Users\Administrator>pip install flup

过程非常顺利:

Collecting flup
Downloading https://files.pythonhosted.org/packages/88/e5/17bcf4431e811ffaec213feea7609a6f003084006d2e210f53cee09095d9/flup-1.0.3-py3-none-any.whl (74kB)
100% |████████████████████████████████| 81kB 64kB/s
Installing collected packages: flup
Successfully installed flup-1.0.3

装完之后,验证一下是否成功,输入红色字的那行代码回车,看到最后的黑色粗体字那一行,就表示安装成功了:

C:\Users\Administrator>python
Python 3.5.3 (v3.5.3:1880cb95a742, Jan 16 2017, 16:02:32) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import flup;print(flup.__path__)
['D:\\WinPython\\python-3.5.3.amd64\\lib\\site-packages\\flup']

3.安装Nginx,由于我的机器上已经装了phpstudy,已经自带了Nginx,随意这一步就跳过了

Nginx官网下载地址:http://nginx.org/en/download.html

下载windows上的nginx最新版本,http://nginx.org/download/nginx-1.15.0.zip 解压即可;

运行nginx.exe后,本地浏览器打开 http://localhost 或者 http://127.0.0.1 将会看到欢迎页面,这证明nginx在本地运行良好,如果没有出现欢迎页面,请检查是否有其他的web服务器占用了80端口。

4. 安装Django,装完我回头看了下,好像这个也可以通过pip来安装,不过我是通过下载包来安装的,

官方地址:https://www.djangoproject.com/download/

最新版本当前是:https://www.djangoproject.com/m/releases/2.0/Django-2.0.6.tar.gz

PIP命令行方式安装:

pip install Django==2.0.6

我是下载回来安装的

下载完成后解压,例如解压到D:\MyPython\Django\Django-1.10.8\

运行cmd打开控制台窗口,切换到 D:\MyPython\Django\Django-1.10.8\ 

D:\MyPython\Django\Django-1.10.8>python setup.py install

一堆字符闪过之后,没有错误提示,

安装完成后,启动python,输入>>>import django;print(django.VERSION)

看到如下提示:(1, 10, 8, 'final', 0) 表示Django安装成功了

然后把Django的路径加入到Windows的系统变量Path里,就可以直接在任意路径下执行相关脚本了:

D:\WinPython\python-3.5.3.amd64\Lib\site-packages\Django-1.10.8-py3.5.egg\django\bin> 是我的电脑上的Django安装好的所在文件夹

D:\WinPython\python-3.5.3.amd64\Lib\site-packages\Django-1.10.8-py3.5.egg\django\bin>python django-admin.py -h

Type 'django-admin.py help <subcommand>' for help on a specific subcommand.

Available subcommands:

[django]
check
compilemessages
createcachetable
dbshell
diffsettings
dumpdata
flush
inspectdb
loaddata
makemessages
makemigrations
migrate
runserver
sendtestemail
shell
showmigrations
sqlflush
sqlmigrate
sqlsequencereset
squashmigrations
startapp
startproject
test
testserver
Note that only Django core commands are listed as settings are not properly configured (error: Requested setting INSTALLED_APPS, but settings are not configured
. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.).

5. 配置Nginx的nginx.conf文件

打开nginx.conf文件,加入了以下内容,然后关闭重启Nginx服务器即可,web监听3333端口,fastcgi监听8090端口,root是web根目录,我这里就继续使用phpstudy的web目录了:

    server {
listen ;
server_name localhost; #charset koi8-r;
#access_log logs/host.access.log main; location / {
root D:/phpStudy/WWW;
index index.html index.htm;
include fastcgi.conf;
fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_pass 127.0.0.1:8090;
}
}

  

6.用任意文本编辑器编写一个HelloWorld.py的文件,放在web根目录下,我是放在 D:/phpStudy/WWW/ 下,注意一下python的严格缩进语法

#!/usr/bin/python
# encoding : utf-8
from flup.server.fcgi import WSGIServer
def myapp(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
return ['Hello World!\n']
if __name__ == '__main__':
WSGIServer(myapp,bindAddress=('127.0.0.1',8090)).run()

执行下面命令启动helloWorld,D:\phpStudy\WWW\helloWorld.py 

python D:\phpStudy\WWW\helloWorld.py 8090 fastcgi

出来一个黑窗口,不要关闭掉它,用你的浏览器输入 http://127.0.0.1:3333/  因为我的电脑上80和8080都被占用了,所以我用是3333端口

就可以看到正确结果了。

windows7平台 nginx+python 环境搭建的更多相关文章

  1. Python环境搭建详解(Window平台)

    前言 Python,是一种面向对象的解释型计算机程序设计语言,是纯粹的自由软件,Python语法简洁清晰,特色是强制用空白符作为语句缩进,具有丰富和强大的库,它常被称为胶水语言. Python是一种解 ...

  2. Python学习--Python 环境搭建

    Python环境搭建 Python是跨平台的编程语言,可应用于Windows.Linux.Mac OS X.你可以通过终端窗口输入"python"命令来查看本地是否安装了Pytho ...

  3. Python简单介绍以及Python环境搭建(入门1)

    转载请标明出处: http://www.cnblogs.com/why168888/p/6400694.html 本文出自:[Edwin博客园] Python 简单介绍 适合领域: Web网站和各种网 ...

  4. Python介绍以及Python环境搭建

    Python介绍以及Python环境搭建 1.Python 发展历史 Python是由Guido van Rossum在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的,据说是在圣诞 ...

  5. Python 环境搭建(Win 安装以及Mac OS 安装)

    千里之行始于足下,今天我们先来学习 Python 环境搭建. 注意:本系列教程基于 Python 3.X Python 环境搭建 Win 安装 打开 Python 官网 https://www.pyt ...

  6. 第一章:起步(python环境搭建)

    Python 环境搭建 学习python的第一步,就是要学习python开发环境的配置,在配置好python开发环境后,你需要再安装一款比较趁手的编辑器,事实上,python解释器本身就可以进行一些编 ...

  7. python环境搭建以及jupyter notebook的安装和启动

    一.Python 环境搭建 本章节我们将向大家介绍如何在本地搭建Python开发环境. Python可应用于多平台包括 Linux 和 Mac OS X. 你可以通过终端窗口输入 "pyth ...

  8. Python学习第一弹——Python环境搭建

    一.Python简介: Python,是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年.Python语法简洁而清晰,具有 ...

  9. Python环境搭建(windows)

    Python环境搭建(windows) Python简介 Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/),是一种面向对象.直译式计算机编程语言,具有近二十年的发展历史,成 ...

随机推荐

  1. C#模拟HTTP POST 请求

    GET请求: /// <summary> /// 获取accessToken /// </summary> /// <param name="corpid&qu ...

  2. Docker-容器数据卷

    docker容器数据卷相当于外置的移动硬盘 docker容器数据卷主要功能是:容器的持久化.容器间继承+共享数据 特点: (1)数据卷可以容器之间共享或重用数据 (2)卷中更改可以直接生效 (3)数据 ...

  3. Python学习---JSON学习180130

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON是用字符串来表示Javascript对象: Json字符串就是js对象的一种表现形式(字符串的形式 ...

  4. 超强PHP集成环境,支持800多个不同PHP版本同时运行,无限自定义添加mysql与php版本

    转载自今日头条 小编最近发现PHPWAMP竟然又更新了,激动之余向大家介绍一下新版的强大功能. PHPWAMP是纯绿色集成环境,高版本php无需安装VC运行库,默认已经集成VC运行库!Nginx支持服 ...

  5. ZT 布列瑟农

    布列瑟农 编辑 <布列瑟农>(Bressanone)是加拿大环保音乐家马修·连恩(Matthew Lien)创作并演唱的一首经典歌曲,收录在他1995年的专辑<狼>(Bleed ...

  6. Java 基本语法(关键字、标识符、常量、注释)

    1. Java 程序的构成 对象(object):对象是类的一个实例,有状态和行为. 类(class):类是一个模板,它描述一类对象的行为和状态. 方法(method):方法就是行为,一个类可以有很多 ...

  7. 文件属性及OS模块使用(IO入门2)

    转载请标明出处: http://www.cnblogs.com/why168888/p/6422270.html 本文出自:[Edwin博客园] 文件属性及OS模块使用(IO入门2) 1. pytho ...

  8. 【RabbitMQ】4、三种Exchange模式——订阅、路由、通配符模式

    前两篇博客介绍了两种队列模式,这篇博客介绍订阅.路由和通配符模式,之所以放在一起介绍,是因为这三种模式都是用了Exchange交换机,消息没有直接发送到队列,而是发送到了交换机,经过队列绑定交换机到达 ...

  9. [POI2015]LOG

    题目 发现询问是针对整个区间,也就是说位置什么用都没有 发现我们需要构造出\(s\)个长度为\(c\)的数列,每个数只能在一个数列中出现一次,且一个数最多的使用次数是其大小 对于那些大于等于\(s\) ...

  10. 【[SDOI2013]泉】

    \(hash\)+容斥 但是看到这个令人愉快的数据范围还是直接枚举子集吧 首先我们发现\(6\)这个东西简直是小的可怜,复杂度里肯定有\(2^6\)的 于是我们可以直接先枚举子集,把所有状态的对应相等 ...