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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 华为pimsm组播配置_华为m6卡槽

    华为pimsm组播配置_华为m6卡槽当你想要放弃了,一定要想想那些睡得比你晚、起的比你早、跑得比你卖力、天赋比你还高的牛人,他们早已在晨光中,跑向那个你永远只能眺望的远方。—马云文章目录一、组播地址划分二、拓扑三、基本配置四、PIM-SM的RPT共享树构建五、PIM六、PIM-SM的SPT七、PIM-SM基本概述PIM-SM(ProtocolIndependentMulticast-SparseMode)称为协议无关组播-稀疏模式。属于稀疏模式的组播

    2022年9月23日
    3
  • IntelliJ IDEA 2021.7.15 x64有了激活码在哪激活【2021.7最新】

    (IntelliJ IDEA 2021.7.15 x64有了激活码在哪激活)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlMLZPB5EL5Q-eyJsaWNlbnNlSW…

    2022年3月21日
    51
  • laravel 分页样式「建议收藏」

    laravel 分页样式「建议收藏」第一种//控制器$news=News::where(‘type_id’,1)->where(‘is_del’,1)->paginate(3);//前端@if($news->currentPage()==1)@else<li><ahref=”{{url(‘news?page=1’)}}”>首页</a></li><li><ahref=”{{$news->previousPag

    2022年7月17日
    16
  • 第二:Pycharm设置配置(非常详细)「建议收藏」

    第二:Pycharm设置配置(非常详细)「建议收藏」1、汉化:把resources_zh.jar拷贝到PyCharm的安装目录下的lib目录,重启Pycharm即可。(resources_zh.jar汉化包关注本账号获取:链接:https://pan.baidu.com/s/1JCpTloWnQdQ8ShsUt-Qabg提取码:i7pu)如果打开后显示乱码,请先删除resources_cn.jar,然后打开pycharm2017,在菜单上依次选择File->Settings->Appearance&Behavior

    2022年8月25日
    8
  • Hans Berger脑电图之父的人生摘要「建议收藏」

    Hans Berger脑电图之父的人生摘要「建议收藏」摘要:在1938年当脑电图被学术界接受之时,第二次世界大战要开始了,因为英美法都是敌对国,Berger访美计划搁浅。同时大概因为只是英美法学者对脑电图重视,德国本土学者根本不相信,德国当时的纳粹政权禁止研究脑电图。【转载】HansBerger(1873-1941)(上图)是德国精神病学家,精神生理学家,他对神经科学的贡献是发明了和命名了脑电图-Electroencephalography,EEG,德语是Elektrenkephalogramm。此外,Berger发现了“阿尔法波-AlphaWave”,

    2022年8月11日
    8
  • I2C电平转换电路_双向电平转换电路工作原理

    I2C电平转换电路_双向电平转换电路工作原理本文分享下I2C双向电平转换电路的设计原理,以及需要注意的事项。在I2C主从设备对接时,需要考虑主从设备的电平情况,常规的主要有3种:5V,3.3V,1.8V。如果电平相同,比如都是3.3V,那么可以直接对接。如果电平不同,一个高电平是3.3V,另外一个是1.8V,那么就需要接入其它的器件来做一下电平转换,通常是接入NMOS管。如上图,此图来源于I2C官方协议,协议标准文件里…

    2022年8月10日
    9

发表回复

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

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