一个简单的python web应用部署 nginx+uwsgi

1.环境配置

1)所需环境

  操作系统 Mac os

  python3.6,web.py 0.40, uWSGI 2.0.15, uwsgitop 0.10, nginx 1.10.3

2)步骤

  安装python3.6 —略

  安装web.py

    easy_install web.py(推荐)

    pip install web.py

    如果报错 可能还需安装utils db

      pip install utils

      pip install db

  安装uWSGI

    pip install uwsgi

  安装uwsgitop

    uwsgitop作用:监测uwsgi运行状态   

    pip install uwsgitop

  安装nginx

    pip install nginx

2.编写python web应用app.py

1)代码

# coding:utf-8
import web
urls = (‘/‘, ‘index‘)
app = web.application(urls, globals())
class index:
    def GET(self):
        greeting="hello world"
        return greeting
application = app.wsgifunc()
if __name__ == "__main__":
    pass

2)注意

  application = app.wsgifunc()必不可少,它作为wsgi或uwsgi操作的handler,uwsgi不会运行__main__中的代码

3.配置uwsgi

1)编写app.ini文件

[uwsgi]
socket = /Users/cityking/workspace/django/uwsgi/uwsgi.sock
wsgi-file = app.py
home = /Users/cityking/workspace/django/django_env/
master = true

注意

  确保是在app.py所在的文件目录

  socket确保与nginx配置中的uwsgi_pass一样,/Users/cityking/workspace/django/uwsgi/为当前所在目录

  Home是运行环境所在的目录

2)启动uwsgi

  uwsgi app.ini

4.配置nginx

1)修改/usr/local/etc/nginx/nginx.conf文件

  server {
        listen       8080;
        server_name  localhost;
        location / {
                include uwsgi_params;
                uwsgi_pass unix:/Users/cityking/workspace/django/uwsgi/uwsgi.sock;
        }
        }

  Listen为监听端口,即浏览器所访问的端口

  uwsgi_pass 即uwsgi配置中的socket路径

2)启动nginx

  直接输入命令nginx就行

5.在浏览器中访问

  在浏览器中访问http://localhost:8080

  在网页中显示hello world 则部署成功

时间: 2024-08-03 18:42:53

一个简单的python web应用部署 nginx+uwsgi的相关文章

从零构建一个简单的 Python Web框架

为什么你想要自己构建一个 web 框架呢?我想,原因有以下几点: 你有一个新奇的想法,觉得将会取代其他的框架 你想要获得一些名气 你遇到的问题很独特,以至于现有的框架不太合适 你对 web 框架是如何工作的很感兴趣,因为你想要成为一位更好的 web 开发者. 接下来的笔墨将着重于最后一点.这篇文章旨在通过对设计和实现过程一步一步的阐述告诉读者,我在完成一个小型的服务器和框架之后学到了什么.你可以在这个代码仓库中找到这个项目的完整代码. 我希望这篇文章可以鼓励更多的人来尝试,因为这确实很有趣.它让

python web项目部署

python web项目部署 python django默认启动python3 manage.py runserver 0.0.0.0:8000这种方式调用wsgiref单机模块,性能较低,生产环境不用 线上使用uwsgi工具(由c语言编写的工具,性能强悍)启动django,使用方式: 在激活虚拟环境的前提下,使用uwsgi安装配置好virtualenvwrapper工具,或者virtualenv皆可 1.准备django项目 NB_crm 2.安装虚拟环境,在虚拟环境下,安装uwsgi,进行部

一个简单的Java web服务器实现

一个简单的Java web服务器实现,比较简单,基于java.net.Socket和java.net.ServerSocket实现: 程序执行步骤 创建一个ServerSocket对象: 调用ServerSocket对象的accept方法,等待连接,连接成功会返回一个Socket对象,否则一直阻塞等待: 从Socket对象中获取InputStream和OutputStream字节流,这两个流分别对应request请求和response响应: 处理请求:读取InputStream字节流信息,转成字

作业1开发一个简单的python计算器

开发一个简单的python计算器 实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )等类似公式后,必须自己解析里面的(),+,-,*,/符号和公式(不能调用eval等类似功能偷懒实现),运算后得出结果,结果必须与真实的计算器所得出的结果一致 hint: re.search(r'\([^()]+\)',s).group() '(-

一个简单的java web 项目

本文实现一个简单的 java web 项目,包括以下5个功能: 1. 登录 用户默认主页index.jsp , 可选择登录功能,输入用户名和密码,若登录成功,则进入产品管理总页面main.jsp.若不成功仍退回index.jsp 2. 注册 用户默认主页index.jsp ,  可选择注册功能 ,若注册,则进入 register.jsp 3. 管理产品(增加,删除,查看) 登录成功后,进入产品管理总页面main.jsp.第一次进入main.jsp,默认显示所有产品列表.在此页面上更实现 查询某个

SharePoint创建一个简单的Visio Web部件图

SharePoint创建一个简单的Visio Web部件图 Visio有许多强大的Mash-up混聚功能,使它可以轻松集成到SharePoint 2010中. 1. 打开Visio 2010,创建新的ITIL图. 2. 绘图如下: 3. 点击后台选项卡(左上角). 4. 点击另存为,选择位置,点击确定,输入Keyword,点击确定. 5. 在页面上添加Web部件. 6. 编辑Web部件,将上图的URL填上去. SharePoint创建一个简单的Visio Web部件图,布布扣,bubuko.co

【转】一个简单的python socket编程

原文链接:转载:一个简单的python socket编程 python 编写server的步骤: 1. 第一步是创建socket对象.调用socket构造函数.如: socket = socket.socket( family, type ) family参数代表地址家族,可为AF_INET或AF_UNIX.AF_INET家族包括Internet地址,AF_UNIX家族用于同一台机器上的进程间通信.      type参数代表套接字类型,可为SOCK_STREAM(流套接字)和SOCK_DGRA

nodejs + jquery Mobile构建一个简单的移动web (客户端)

前面展示了使用nodejs技术和jqm来搭建一个简单的支持CRUD操作应用的服务端部分(参见:nodejs + jquery Mobile构建一个简单的移动web(服务端) ),服务端采用nodejs技术实现,使用了mongodb数据库和轻量级web开发框架expressJS, 路由使用restful风格,所以你也可以使用restify来开发. 客户端的实现主要通过ajax调用实现.使用jade模板引擎. 客户端主要包含两个文件:layout.jade和index.jade 1. layout.

debian完整部署 Nginx + uWSGI + Django

debian完整部署 Nginx + uWSGI + Django 手工部署一个Django服务器真心不容易,需要安装很多东西.从头开始搭建服务器,主要是为了梳理一下后续开发中一般为碰到的平台部署.对后续问题的解决有一定帮助. 通常部署有2中方式: 一种是使用现成提供的服务器包用apt-get这种方式安装的.这种方式比较简单,但没有新版本. 另外就是使用源代码自己编译安装,这种比较繁琐,但能选择适合的版本安装. 这里介绍的是第二种,使用源代码编译的版本进行安装部署. 部署测试环境: - wind