uWSGI
本文最后更新于:2021年3月22日 下午
信息
uWSGI项目旨在为构建托管服务开发全栈。
使用通用的API和通用的配置风格来实现应用服务器 (对于各种编程语言和协议),代理,进程管理器和监控器
官方文档:https://uwsgi-docs-zh.readthedocs.io/zh_CN/latest/
安装
安装 gcc
1 |
|
安装uwsgi
1 |
|
补全环境
创建uwsgi.in配置文件来测试
1 |
|
这个文件仅用于测试,根据情况写入一些内容
1 |
|
试运行测试
1 |
|
如果没有报错,那么安装就完成了
报错与修正
- 错误:error while loading shared libraries:xxx
解决办法:复制Anaconda
里面的lib到系统/lib64
中,以补全缺失的文件
例如: 启动uwsgi时报错为:uwsgi: error while loading shared libraries: libcrypto.so.1.1
表示缺少了libcrypto.so.1.1
将Anaconda
下的对应文件复制到/lib64
即可1
cp /path/anaconda3/lib/libcrypto.so.1.1 /lib64
- 错误:uwsgi: /lib64/./libstdc++.so.6: version ‘CXXABI_xxx’ not found
解决方法:用Anaconda
中libstdc++.so.6.0.25
替换/lib64/libstdc++.so.6
1
2
3
4cd /lib64 # 进入目录
rm -rf libstdc++.so.6 # 删除原文件
cp /path/anaconda/lib/libstdc++.so.6.0.25 /lib64 # 复制
ln -s libstdc++.so.6.0.25 libstdc++.so.6 # 创建替换链接简易配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21[uwsgi]
# 外部访问地址,可以指定多种协议,此处使用socket
socket = 127.0.0.1:9191
# 指向项目目录
chdir = /home/manager/Code/web_example
# 这里是flask启动程序文件,此处切忌填错py文件的名称,或者是app不在if之下,否则报错:no python application found, check your startup logs for errors 无法找到你的app实例
wsgi-file = main.py
# Flask在 main.py文件中的app名
callable = app
processes = 1 # 处理器数
threads = 2 # 线程数
# 用于记录状态与重启
stats=/home/manager/Code/web_example/uwsgi.status
pidfile = /home/manager/Code/web_example/uwsgi.pid
virtualenv = /home/manager/envs/anaconda/envs/the_env
# daemonize项的出现表示把uwsgi服务器作为后台进程启动,项的值指向一个文件表明后台中的所有输出都重定向到这个日志中去
daemonize = /home/manager/Code/LearnSpider/web_example/Back/uwsgi.log
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!