python安装uwsgi_微服务怎么部署到服务器的

python安装uwsgi_微服务怎么部署到服务器的什么是uWSGIuWSGI旨在为部署分布式集群的网络应用开发一套完整的解决方案。主要面向web及其标准服务。由于其可扩展性,能够被无限制的扩展用来支持更多平台和语言。uWSGI是一个web服务器,实现了WSGI协议,uwsgi协议,http协议等。uWSGI的主要特点是:超快的性能低内存占用多app管理详尽的日志功能高度可定制uWSGI服务器自己实现了基于uwsgi协议的ser…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

什么是uWSGI

uWSGI旨在为部署分布式集群的网络应用开发一套完整的解决方案。主要面向web及其标准服务。由于其可扩展性,能够被无限制的扩展用来支持更多平台和语言。uWSGI是一个web服务器,实现了WSGI协议,uwsgi协议,http协议等。
uWSGI的主要特点是:

  • 超快的性能
  • 低内存占用
  • 多app管理
  • 详尽的日志功能
  • 高度可定制

uWSGI服务器自己实现了基于uwsgi协议的server部分,我们只需要在uwsgi的配置文件中指定application的地址,uWSGI就能直接和应用框架中的WSGI application通信

安装uWSGI

pip install uwsgi

uWSGI配置文件

这里给个样例作为参考

[uwsgi]
# 指向项目目录
chdir = /XXX/XXX/XXXX

# 外部访问地址,主要是指定端口号。可以指定多种协议:http 或 socket
socket = 127.0.0.1:8888
# http = 127.0.0.1:8888

# flask启动程序文件
wsgi-file = XXX.py

# flask在manage.py文件中的app名
callable = app

# 处理器数
processes = 4

# 存储日志信息
logto = /XXX/XXX/XXX.log

# 线程数
threads = 8

# 设置uwsgi的pid文件
pidfile = /XXX/XXX.pid

# 设置uwsgi的status文件
statusfile = /XXX/XXX.status

Nginx反向代理配置文件

这里给个样例作为参考

# the upstream component nginx needs to connect to
upstream XXX {
    server 127.0.0.1:7777;
}

# configuration of the server
server {
    # the port your site will be served on
    listen     1002;
    # the domain name it will serve for
    #server_name .example.com; # substitute your machine's IP address or FQDN
    server_name XXXX;
    charset     utf-8;

    # Finally, send all non-media requests to the Django server.
    location / {
        uwsgi_pass  XXX;
        include     uwsgi_params; 
        # the uwsgi_params file you installed
    }
}

PS. 对于新建的配置文件,需要在nginx.conf里面加入引入路径:include vhosts/*.conf

user  work;
worker_processes  auto;

#error_log  logs/error.log;
error_log  /data/logs/nginx/host/logs/host_error.log  notice;
#error_log  logs/error.log  info;

pid        logs/nginx.pid;


events {
    use epoll;
    accept_mutex off;
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent $request_body "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for" "$request_time"';

    access_log  /data/logs/nginx/host/logs/host_access.log  main;

    server_tokens   off;
    sendfile        on;
    #tcp_nopush     on;
    tcp_nodelay    on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    client_header_buffer_size 4k;
    client_max_body_size 20M;

    open_file_cache max=102400 inactive=30s;
    open_file_cache_valid 30s;
    open_file_cache_min_uses 0;

    gzip  on;
    gzip_min_length 1k;
    gzip_buffers 4 8k;
    gzip_http_version 1.1;
    gzip_comp_level 6;
    gzip_types text/plain application/x-javascript text/css application/xml text/javascript  application/javascript application/json;

include vhosts/*.conf;
}

常见的命令

  • 启动uwsgi服务
    uwsgi --ini uwsgi.ini
    
  • 查看uwsgi的pid号
    cat uwsgi/uwsgi.pid
    
  • 查看一下uwsgi的进程
    ps aux | grep uwsgi
    
  • 重启uwsgi
    uwsgi --reload uwsgi/uwsgi.pid
    
  • 停止uwsgi
    uwsgi --stop uwsgi/uwsgi.pid
    
  • 查看uwsgi的版本
    uwsgi --version
    
  • 测试配置文件是否有语法错误
    nginx -t 
    
  • 重启Nginx
    nginx -s reload
    
  • 测试配置文件是否有语法错误
    nginx -t 
    
  • 强制停止Nginx服务
    nginx -s stop 
    
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197195.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 你真的了解http,https吗?万字长文带你深入了解http!

    你真的了解http,https吗?万字长文带你深入了解http!HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。

    2022年5月10日
    33
  • uml结构建模_uml面向对象分析建模与设计

    uml结构建模_uml面向对象分析建模与设计文章目录一、UML建模与架构文档化1、UML应用与未来2、UML基础a.用例和用例图b.交互图c.类图与对象图3、基 于 UML 的软件开发过程4、系统架构文档化二、设计模式类之间的关系及原则一、类之间的关系(我拿Visio作图举例)1.继承关系2、实现关系3、依赖关系4、关联关系5、聚合关系6、组合关系二、设计模式的原则(简单列出)三、设计模式1.创建型模式2、结构型模式3、行为型模式下面简单做…

    2022年8月18日
    3
  • Hadoop学习之编译eclipse插件

    Hadoop学习之编译eclipse插件

    2022年1月28日
    46
  • 用JDBC编程的执行时错误及其解决大全[通俗易懂]

    用JDBC编程的执行时错误及其解决大全

    2022年2月4日
    47
  • 手机扫码登录实现思路是什么_扫码登录wifi如何实现

    手机扫码登录实现思路是什么_扫码登录wifi如何实现手机扫码登录实现思路,从业务场景逐个解决问题,引出实现方案

    2025年8月1日
    1
  • 局域网广域网区别_局域网和广域网的简称

    局域网广域网区别_局域网和广域网的简称一、局域网 局域网(LocalAreaNetwork),简称LAN,是指在某一区域内由多台计算机互联成的计算机组。“某一区域”指的是同一办公室、同一建筑物、同一公司和同一学校等,一般是方圆几千米以内。局域网可以实现文件管理、应用软件共享、打印机共享、扫描仪共享、工作组内的日程安排、电子邮件和传真通信服务等功能。局域网是封闭型的,可以由办公室内的两台计算机组成,也可以由一个公司内的上千台计算

    2022年9月25日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号