openeuler/uwsgiuWSGI是一个开源软件应用,旨在构建完整的托管服务栈,名称源于其最初支持的Web Server Gateway Interface (WSGI)标准。本镜像基于openEuler构建,是官方维护的uWSGI Docker镜像,由openEuler CloudNative SIG负责维护。该镜像可免费使用且无用户速率限制,适用于部署各类Python WSGI应用。
每个uWSGI镜像标签由uWSGI版本和基础镜像版本组成,具体如下:
| 标签 | 当前版本 | 支持架构 |
|---|---|---|
| 2.0.30-oe2403sp2 | uWSGI 2.0.30 基于 openEuler 24.03-LTS-SP2 | amd64, arm64 |
| 2.0.29-oe2403sp1 | uWSGI 2.0.29 基于 openEuler 24.03-LTS-SP1 | amd64, arm64 |
根据需求选择对应的{Tag}标签拉取镜像:
bashdocker pull openeuler/uwsgi:{Tag}
启动容器并进入交互式shell以使用uWSGI:
bashdocker run -it --rm openeuler/uwsgi:{Tag} bash
bashmkdir /app
myapp.py)python# /app/myapp.py def application(environ, start_response): status = '200 OK' headers = [('Content-type', 'text/plain; charset=utf-8')] start_response(status, headers) return [b"Hello World from uWSGI!"]
为增强安全性,建议使用非root用户运行uWSGI:
bashgroupadd -r uwsgi_group useradd -r -g uwsgi_group -d /app -s /bin/false uwsgi_user
bashchown -R uwsgi_user:uwsgi_group /app chmod -R 755 /app
bash./uwsgi \ --http-socket :8000 \ --processes 4 \ --threads 2 \ --chdir /app \ --wsgi-file myapp.py \ --master \ --enable-threads \ --buffer-size 32768 \ --uid uwsgi_user \ --gid uwsgi_group
| 参数 | 描述 | 推荐值 |
|---|---|---|
--http-socket :8000 | 绑定TCP端口8000(HTTP模式) | :8000(或其他可用端口) |
--processes 4 | 工作进程数 | 4(根据CPU核心数调整) |
--threads 2 | 每个工作进程的线程数 | 2(用于处理并发请求) |
--chdir /app | 工作目录 | /app(应用代码所在目录) |
--wsgi-file myapp.py | WSGI应用入口文件 | myapp.py(需包含application可调用对象) |
--master | 启用主进程(管理工作进程) | 生产环境建议始终启用 |
--enable-threads | 允许工作进程使用线程 | 线程化应用必需 |
--buffer-size 32768 | 请求缓冲区大小(字节) | 32768(32KB,可根据需求调整) |
--uid uwsgi_user | 以非root用户身份运行 | 专用用户(如uwsgi_user) |
--gid uwsgi_group | 以非root组身份运行 | 专用组(如uwsgi_group) |
如遇使用问题或需特殊功能支持,请在openeuler-docker-images仓库提交issue或Pull Request。获取帮助也可联系openEuler CloudNative SIG或openEuler社区。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务