之前经常用Zmirror反代谷歌,但要求Python版本是3.x,突然想起来宝塔也支持Python3了,如果能共存是不是又节省了资源,那他们能共存吗?我们来试试
以下尝试基于Debian10系统,其他系统请自行测试
1.安装宝塔

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh

2.装好Nginx并做好域名解析,这里不再赘述
3.安装所需环境

sudo apt install python3-pip -y
sudo apt install python-dev python-pip -y
pip3 install virtualenv
# 克隆 zmirror 到 /opt 目录
git clone https://github.com/aploium/zmirror /opt/zmirror
cd /opt/zmirror
# 创建 virtualenv
virtualenv -p python3 venv
# 安装 gunicron
./venv/bin/pip install -i https://pypi.douban.com/simple gunicorn gevent
# 安装 zmirror 自身依赖
./venv/bin/pip install -i https://pypi.douban.com/simple -r requirements.txt
# 复制并编辑 config.py(也可以通过宝塔面板复制过来)
cp more_configs/config_google_and_zhwikipedia.py config.py
# 添加域名,改https,加入verbose参数减少日志产生
my_host_name = 'gg.xx.com'
my_host_scheme = 'https://'
verbose_level = 1
# 最后启动 zmirror 服务器
./venv/bin/gunicorn --daemon --capture-output --log-file zmirror.log --access-logfile zmirror-access.log --bind 127.0.0.1:8001 --workers 2 --worker-connections 100 wsgi:application

4.宝塔反代
直接反代8001端口,默认配置即可

P.S.如果需要加密访问的话需要在config.py中最后部分加入以下内容:

########## Verification (added by zmirror-onekey) ########
# 这里只有最基础的单一问题-答案验证, 如果需要更加丰富的验证方式, 
#    请看 `config_default.py` 文件中的 `Human/IP verification` 设置区段
#    PS: 下面的设置都支持中文, 可以自行修改成中文
human_ip_verification_enabled = True
human_ip_verification_answers_hash_str = 'ZwsrPSKeFfQrP4Gm2T1HhJGsC9qMRtSo'  # Secret key, please keep it secret
human_ip_verification_questions = [
    ["请输入Bob给您的密码:", "888", ""],
]
human_ip_verification_identity_record = []


最近发现可以通过使用nginx→uwsgi→wsgi.py的方案来实现,安装目录以/var/lib/zmirror/run-app为例

1.安装Python3

sudo apt install python3-pip -y
sudo apt install python-dev python-pip -y

2.安装必要的模块

sudo python3 -m pip install -U flask requests cchardet fastcache uwsgi

3.拉取Zmirror源码

sudo git clone https://github.com/aploium/zmirror /var/lib/zmirror/run-app

4. 来到run-app目录,同样复制并编辑谷歌 config.py

cp more_configs/config_google_and_zhwikipedia.py config.py

5.在run-app目录编写配置文件uwsgi.ini

[uwsgi]
socket=127.0.0.1:9700
chdir=/var/lib/zmirror/run-app/
wsgi-file=wsgi.py
processes=1
threads=1
pidfile=/var/lib/zmirror/run-app/uwsgi.pid
daemonize=/var/lib/zmirror/run-app/uwsgi.log

6.启动uwsgi服务

sudo /usr/local/bin/uwsgi --ini /var/lib/zmirror/run-app/uwsgi.ini

7.在宝塔Nginx配置里增加以下内容,随后重启Nginx

location / {
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:9700;
        uwsgi_param UWSGI_CHDIR /var/lib/zmirror/run-app/;
}

参考来源:https://haruto.zone/archives/37

Last modification:March 21, 2023
If you think my article is useful to you, please feel free to appreciate