Nginx Proxy Manager – NPM

Nginx Proxy Manager, 是一个预建的docker镜像,使用它你不需要对Nginx或Letsencrypt有太多了解,就能轻松转发你在家里或其他地方运行的网站。

https://github.com/NginxProxyManager/nginx-proxy-manager

最近也不知从哪个版本开始,Nginx Proxy Manager的证书自动更新不能正常工作了。查看container的日志可以看到下面这个关于‘zope’的错误。

ModuleNotFoundError: No module named ‘zope’

据说这个错误和国内的网络环境有关,需要手工在container里安装zope。

首先进入npm container的命令行。

sudo docker exec -it npm /bin/bash

升级系统手工安装zope

apt update
#apt install build-essential libssl-dev libffi-dev python3-dev cargo
apt install python3-pip
pip install zope

接下来的问题就是在国内用安装升级要花很长时间,那就要使用国内的开源软件源镜像站了。比如:

https://mirrors.tuna.tsinghua.edu.cn/

首先是debain源,https://mirrors.tuna.tsinghua.edu.cn/help/debian/,NPM用的是debian buster。修改 /etc/apt/sources.list

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free

deb https://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free

如果docker里没有vi,可以用sed还替换。

sed -i 's#http://deb.debian.org#https://mirrors.cloud.tencent.com#g' /etc/apt/sources.list

新版本稍有不同更新源的命令是:

sed -i 's#http://deb.debian.org#https://mirrors.cloud.tencent.com#g' /etc/apt/sources.list.d/debian.sources

然后是pip的源,https://mirrors.tuna.tsinghua.edu.cn/help/pypi/ ,使用-i https://pypi.tuna.tsinghua.edu.cn/simple就行

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

也就是

pip install zope -i https://pypi.tuna.tsinghua.edu.cn/simple 

如果看到下面这个错误

error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install

可以这样解决

mv /usr/lib/python3.11/EXTERNALLY-MANAGED /usr/lib/python3.11/EXTERNALLY-MANAGED.bak

我还顺便还升级了dnspod插件,不知是不是必须的。

pip install certbot-dns-dnspod

CORS issue

add_header 'Access-Control-Allow-Origin' *;

留下评论

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