centos7下安装uwsgi出现的问题

在CentOS7上通过pip3安装uwsgi后,启动服务时遇到内部服务器错误。查阅官方文档并尝试安装源码版uwsgi,发现旧版本不支持Python3。最终成功安装最新版uwsgi,并配置了Django项目的uwsgi和Nginx设置,解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正常情况下使用pip3 安装的uwsgi
使用 uwsgi --http :8001 --wsgi-file test.py
curl 8001端口时 却出现 Internal Server Error
于是查看官网:https://uwsgi-docs.readthedocs.io/en/latest/Install.html#installing-from-source

On a Fedora/Redhat system you can install them with:

yum groupinstall "Development Tools"
yum install python

For python/wsgi support:

yum install python-devel

经过一番折腾
安装了uwsgi最新版本,老版本是不支持python3的
假设我们的Django项目名为"myproject",里面有一个应用叫"myapp"
在你的django项目下新建 myproject.xml,内容如下:

<uwsgi>
    <socket>127.0.0.1:8001</socket><!-- 内部端口,自定义 -->
        <chdir>/home/www/myproject</chdir><!-- 项目路径 -->
            <module>myproject.wsgi</module><!-- 不需要改成 wsgi.py  -->
                <processes>32</processes> <!-- 进程数 --> 
    <daemonize>uwsgi.log</daemonize><!-- 日志文件 -->
</uwsgi>
```:
接着,在nginx.conf中增加一个server配置

server {
listen 8000; #暴露给外部访问的端口
server_name localhost;
charset utf-8;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8001; #外部访问8000就转发到内部8001
}
# …再配置些静态文件之类的
}

最后解析刚刚创建的xml
uwsgi -x myproject.xml
提示

[uWSGI] parsing config file myproject.xml

最后重启nginx 即可正常访问
更多参考

Nginx+uWSGI+Supervisor在Ubuntu上部署Flask应用  http://www.linuxidc.com/Linux/2016-07/133064.htm

uWSGI+Django+Nginx的工作原理流程与部署过程 http://www.linuxidc.com/Linux/2017-03/141785.htm

快速部署Python应用:Nginx+uWSGI配置详解  http://www.linuxidc.com/Linux/2016-12/137830.htm

Nginx+uWSGI+Django+Python 应用架构部署  http://www.linuxidc.com/Linux/2015-10/124183.htm

Ubuntu Server 14.04.2 LTS 配置 Nginx + Uwsgi + Django  http://www.linuxidc.com/Linux/2015-04/116397.htm

Flask+uWSGI+Nginx+Ubuntu部署教程 http://www.linuxidc.com/Linux/2016-06/132690.htm

Ubuntu 16.04下安装部署 Nginx+uWSGI+Django1.9.7  http://www.linuxidc.com/Linux/2016-07/133484.htm

Nginx+uWSGI+Django在Ubuntu下的部署  http://www.linuxidc.com/Linux/2016-07/133490.htm

uWSGI+Nginx+Django安装和配置  http://www.linuxidc.com/Linux/2017-03/141822.htm

Linux 上利用Nginx代理uWSGI处理Flask Web应用  http://www.linuxidc.com/Linux/2016-08/134164.htm

Ubuntu 16.10 下部署Django+uWSGI+Nginx服务器:http://www.linuxidc.com/Linux/2017-05/143661.htm



UWSGI 报错:
Listen queue size is greater than the system max net.core.somaxconn (128).
解决办法:
这两个文件:
/proc/sys/net/ipv4/tcp_max_syn_backlog
 /proc/sys/net/core/somaxconn
vi 修改报错
直接:sudo echo 262144 > /proc/sys/net/core/somaxconn
 
 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值