标签: wsgi

浏览器是否在GET/POST上保留具有相同名称的输入顺序?

我有这个HTML代码与多个inputs同名:

<input type="hidden" value="42" name="authors" />
<input type="hidden" value="13" name="authors" />
<input type="hidden" value="33" name="authors" />
Run Code Online (Sandbox Code Playgroud)

值的顺序很重要.HTML规范是否定义用户代理必须保留此顺序,如果是,那么常见(市场份额> 1%)浏览器是否遵循此定义?

如果有人知道WSGI,特别是Django是否保留了服务器端的订单,那么奖励积分:-)

谢谢!

html wsgi cross-browser

29
推荐指数
2
解决办法
2360
查看次数

区分nginx,haproxy,清漆和uWSGI/Gunicorn

我是sys管理员的新手,并且只配置了一个带有nginx(服务静态文件)和gunicorn作为Web服务器的VPS.

我最近一直在阅读其他不同的东西.我开始了解其他工具:

nginx:高性能HTTP服务器和反向代理,以及IMAP/POP3代理服务器

haproxy:高性能负载均衡器

varnish:缓存HTTP反向代理

gunicorn:python WSGI http服务器

uwsgi:另一个python WSGI服务器

我一直在阅读有关上述所有5种工具的内容,我对于哪一种用于何种目的感到困惑?有人可以用非专业人的方式向我解释一下,当一起使用时,每种工具的用途是什么,以及它们涉及哪些具体问题?

python wsgi http nginx haproxy

27
推荐指数
3
解决办法
8045
查看次数

如何在IIS中部署Flask应用程序?

任何人都可以帮我在IIS 6上运行Flask应用程序吗?我曾尝试使用isapi-wsgi,但是当我访问虚拟目录地址时,我得到一个页面,上面写着"找不到指定的模块".还有其他选择吗?

下面是我为isapi-wsgi编写的Python脚本.在IIS管理器中创建了虚拟目录并且一切正常,但该站点无法正常工作.

from wof import app
import os

app.secret_key=os.urandom(24)

import isapi_wsgi
def __ExtensionFactory__():
    return isapi_wsgi.ISAPISimpleHandler(app)

if __name__ == '__main__':
    from isapi.install import *
    params = ISAPIParameters()
    sm = [ScriptMapParams(Extension="*", Flags=0)]
    vd = VirtualDirParameters(Name="WOFPy_Sondes", Description="ISAPI-WSGI for WOFPY Sondes test", ScriptMaps=sm, ScriptMapUpdate="replace")
    params.VirtualDirs = [vd]
    HandleCommandLine(params)
Run Code Online (Sandbox Code Playgroud)

python iis-6 wsgi isapi-wsgi flask

26
推荐指数
1
解决办法
2万
查看次数

在AWS Elastic Beanstalk上设置Django:找不到WSGIPath

我已经尝试了好几天在Amazon Web Services的Elastic Beanstalk下设置Django.我认为我遇到的问题是这个问题:

ERROR - Your WSGIPath refers to a file that does not exist.
Run Code Online (Sandbox Code Playgroud)

我按照这里的教程进行一直顺利,直到第6步结束,但是除了第5步#2的通用Elastic Beanstalk页面之外,我不能为我的生活展示任何东西.我跑的时候

./manage.py runserver
Run Code Online (Sandbox Code Playgroud)

在我的本地计算机上,一切正常,但我无法部署该页面.我首先尝试使用自己编写的小型Django网站.它没有用,所以我删除了我所做的一切并再次尝试,但是没有用,所以我删除了所有这些并再次尝试使用新的django安装.我尝试了很多次摆弄小东西,但我想我错过了一些重要的东西.

我添加了一个python.config文件,如本教程中所述.

这是我的文件结构:

-.git/
-.mysite/
    -myapp/
        -__init__.py
        -models.py
        -tests.py
        -views.py
    -mysite/
        -__init__.py
        -settings.py
        -urls.py
        -wsgi.py
    -.ebextensions/
        -python.config
    -manage.py
    -mysite.db
    -requirements.txt
Run Code Online (Sandbox Code Playgroud)

来自我的settings.py:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': 'mysite.db',
        'USER': '',
        'PASSWORD': '',
        'HOST': '',
        'PORT': '',
    }
}
Run Code Online (Sandbox Code Playgroud)

这是python.config:

container_commands:   01_syncdb:    
    command: "django-admin.py syncdb --noinput"
    leader_only: true

option_settings:
    - namespace: aws:elasticbeanstalk:container:python
      option_name: …
Run Code Online (Sandbox Code Playgroud)

django wsgi amazon-web-services django-wsgi amazon-elastic-beanstalk

26
推荐指数
2
解决办法
2万
查看次数

龙卷风vs wsgi(与gunicorn)

我读到关于龙卷风的信息:

另一方面,如果您已经拥有一个WSGI应用程序并希望在快速的tornado.httpserver.HTTPServer上运行它,请使用tornado.wsgi.WSGIContainer进行包装.但你需要小心.由于您的原始应用程序没有为异步服务器做好准备,并且会进行大量的IO /计算,因此它会在生成响应时阻止其他请求(进一步的请求将被接受并缓冲,但排队等待以后处理).

而Guincorn说:

'用于UNIX的Python WSGI HTTP服务器.这是一个从Ruby的Unicorn项目移植的前叉工作者模型.

  1. 那么Gunicorn会产生工作进程来处理请求吗?
  2. 每个工人有一个可靠的请求?
  3. 虽然龙卷风将在一个过程中使用epollkqueue完成工作(没有主人/工人流程)?
  4. 因此,如果我使用阻塞调用(如requests.get在处理程序的get/post函数中),这将阻止所有请求处理或仅阻止当前正在处理的请求?

python wsgi tornado uwsgi gunicorn

26
推荐指数
1
解决办法
2万
查看次数

Python中Web编程的不同方法的优缺点

我想用Python做一些服务器端脚本.但是我有很多方法可以做到这一点.

它从自己动手的CGI方法开始,似乎以一些非常强大的框架结束,这些框架基本上可以完成所有工作.还有很多东西,比如web.py,PyroxideDjango.

  • 哪些优点缺点的框架或方法的你参与的
  • 有什么权衡取舍
  • 对于什么样的项目,他们做得好,不做什么?

编辑:我还没有太多的网络编程经验.
我想避免解析参数URL等基本和繁琐的事情.
另一方面,虽然使用Ruby on Rails 在15分钟内创建博客视频给我留下了深刻印象,但我意识到隐藏了数百个东西来自我 - 如果你需要立即编写一个有效的网络应用程序,这很酷,但对于真正了解魔术并不是那么好 - 这就是我现在所寻求的.

python frameworks cgi wsgi

25
推荐指数
4
解决办法
5083
查看次数

Python 3中的Web网关接口

我终于得出结论,我再也不能仅仅希望正在进行的Py3k/WSGI 灾难问题能够很快得到解决,所以我需要做好准备继续前进.

不幸的是,我的可用选项看起来并不是很好:

  • 虽然我发现FastCGI的一些不同的Python模块散布在网络上,但它们似乎都没有得到太多(如果有的话)注意和/或维护,特别是关于Python 3.x,并且很难区分哪个,如果任何,都是可行的.
  • 一直回到内置的CGI模块并不比从头开始构建一些东西好一些(更糟糕的是,在Python 3.3之前,有一个重要的错误或两个可能无法得到关注).
  • 在生产webapp中直接处理HTTP没有更高的罪恶.无论如何,这仍然是重新发明轮子.

当然有人在生产中在3.x上部署webapps.你使用什么网关接口,哪些模块/库,为什么?

python wsgi fastcgi python-3.x

24
推荐指数
1
解决办法
3164
查看次数

确保只有一个工作人员在运行多个工作人员的金字塔Web应用程序中启动apscheduler事件

我们有一个用金字塔制作的网络应用程序,并通过gunicorn + nginx提供服务.它适用于8个工作线程/进程

我们需要工作,我们选择了apscheduler.这是我们如何推出它

from apscheduler.events import EVENT_JOB_EXECUTED, EVENT_JOB_ERROR
from apscheduler.scheduler import Scheduler

rerun_monitor = Scheduler()
rerun_monitor.start()
rerun_monitor.add_interval_job(job_to_be_run,\
            seconds=JOB_INTERVAL)
Run Code Online (Sandbox Code Playgroud)

问题是gunicorn的所有工作进程都选择了调度程序.我们尝试实现文件锁,但它似乎不是一个足够好的解决方案.什么是最好的方法来确保在任何给定的时间只有一个工作进程选择预定的事件,没有其他线程选择到下一个JOB_INTERVAL

如果我们决定稍后切换到apache2 + modwsgi,解决方案甚至需要使用mod_wsgi.它需要与作为服务员的单进程开发服务器一起工作.

来自赏金赞助商的更新

我正面临OP所描述的相同问题,只需使用Django应用程序.我最有把握的是,如果原始问题,这个细节不会有太大变化.出于这个原因,为了获得更多的可见性,我还标记了这个问题django.

django wsgi pyramid gunicorn apscheduler

24
推荐指数
3
解决办法
8242
查看次数

uWSGI不会重装,重启或让我跑服务

我有一个相当大的问题.

我很新的uwsgi和我不是100%确定如何调试这个问题,但我会给你我在哪里的信息.

  • 我以前工作过此配置,突然它是不工作的网站.
  • 我运行皇帝模式.
  • 当我使用命令行运行它们时,我的ini文件是可以的,但似乎它们不会自动启动

我跑的时候 uwsgi reload

sudo service uwsgi reload
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

* Reloading app server(s) uwsgi
...fail!
Run Code Online (Sandbox Code Playgroud)

而已.我得到没有别的.

我一直在寻找在堆栈溢出小时,并没有发现任何东西,正好概括了这个问题,我发现很多事情要做人民的.ini文件,但我知道,因为通过手动运行我的网站时,那不是我的问题,uwsgi --ini MYINI.ini然后对其进行访问它运行得很好,问题在于uWSGI,我不知道如何找到这个解决方案.我查看了文档,但在这个特定错误上找不到任何内容.

如果这里这个利益人是我uwsgi-server.conf文件

description     "uWSGI Emperor"

start on runlevel [2345]
stop on runlevel [!2345]

respawn

env LOGTO=/var/log/uwsgi.log
env BINPATH=/usr/local/bin/uwsgi

exec $BINPATH --emperor /etc/uwsgi/vassals --logto $LOGTO
Run Code Online (Sandbox Code Playgroud)

任何见解将不胜感激.我觉得我失去了一些东西,但这么新的与uWSGI我甚至不能猜测它可能是什么,对我来说这一切看起来OK按文档.

如果您需要在我设置的任何详细信息,请只问.

django wsgi uwsgi

24
推荐指数
1
解决办法
4万
查看次数

架构 Flask 与 FastAPI

我一直在修改 Flask 和 FastAPI 以了解它如何充当服务器。
我想知道的主要事情之一是 Flask 和 FastAPI 如何处理来自多个客户端的多个请求。
特别是当代码有效率问题时(数据库查询时间长)。

所以,我尝试制作一个简单的代码来理解这个问题。
代码很简单,当客户端访问路由时,应用程序休眠10秒才返回结果。
它看起来像这样:

快速API

import uvicorn
from fastapi import FastAPI
from time import sleep
app = FastAPI()

@app.get('/')
async def root():
    print('Sleeping for 10')
    sleep(10)
    print('Awake')
    return {'message': 'hello'}

if __name__ == "__main__":
    uvicorn.run(app, host="127.0.0.1", port=8000)
Run Code Online (Sandbox Code Playgroud)

烧瓶

from flask import Flask
from flask_restful import Resource, Api
from time import sleep

app = Flask(__name__)
api = Api(app)

class Root(Resource):
    def get(self):
        print('Sleeping for 10')
        sleep(10)
        print('Awake')
        return {'message': 'hello'}

api.add_resource(Root, …
Run Code Online (Sandbox Code Playgroud)

python wsgi flask asgi fastapi

24
推荐指数
4
解决办法
7440
查看次数