按照网上教程各种尝试……最后我终于启动 Weblate 容器!但是系统资源也被占满了!无奈直接全删了!等以后服务器升级了再试吧。
一、搭建步骤
(〇)安装Docker环境
我一直使用宝塔面板,所以可以通过宝塔面板的软件商店安装Docker容器。
安装完后可以在“宝塔SS终端”里使用命令docker -v
查看Docker版本,显示:
Docker version 20.10.22, build 3a2c30b
回到软件商店对Docker容器进行镜像获取设置
回到“宝塔SS终端”使用命令重启docker:
sudo systemctl daemon-reload
sudo systemctl restart docker
(一)安装 Docker-compose
curl -L https://github.com/docker/compose/releases/download/v2.15.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
(二)检测 Docker-compose 安装情况
docker-compose version
显示:Docker Compose version v2.15.1
(三)安装Git
yum install -y git
(四)克隆 weblate-docker 仓库
git clone https://github.com/WeblateOrg/docker-compose.git weblate-docker
cd weblate-docker
(五)使用命令vi docker-compose.override.yml
创建一个yml文件,复制粘贴以下内容,按自己实际情况进行配置:
version: '3'
services:
weblate:
ports:
- 80:8080
environment:
WEBLATE_EMAIL_HOST: smtp.example.com
WEBLATE_EMAIL_HOST_USER: user
WEBLATE_EMAIL_HOST_PASSWORD: pass
WEBLATE_SERVER_EMAIL: weblate@example.com
WEBLATE_DEFAULT_FROM_EMAIL: weblate@example.com
WEBLATE_SITE_DOMAIN: weblate.example.com
WEBLATE_ADMIN_PASSWORD: password for the admin user
WEBLATE_ADMIN_EMAIL: weblate.admin@example.com
对应关系:
WEBLATE_EMAIL_HOST: SMTP发信服务器
WEBLATE_EMAIL_HOST_USER: SMTP发信邮箱账号
WEBLATE_EMAIL_HOST_PASSWORD: SMTP发信邮箱密码
WEBLATE_SERVER_EMAIL:服务器SMTP发信邮箱账号
WEBLATE_DEFAULT_FROM_EMAIL: 默认SMTP发信邮箱账号
WEBLATE_SITE_DOMAIN: 网站域名
WEBLATE_ADMIN_PASSWORD: 网站管理员密码
WEBLATE_ADMIN_EMAIL: 网站管理员邮箱
(六)使用命令docker-compose up
启动Weblate 容器
二、部署过程中遇到的问题
问题一
问题描述:使用命令yum install -y git
,报错:
-bash: /usr/bin/yum: /usr/lib/python2.7: bad interpreter: No such file or directory
有人说报错原因是:python的版本不匹配
1、使用命令whereis python
查找python,显示
python: /usr/local/python3/bin/python3.9
/usr/local/python3/bin/python3.9-config
2、使用命令whereis yum
查找yum,显示
yum: /usr/bin/yum /etc/yum.conf /etc/yum /usr/share/man/man8/yum.8
3、使用命令vi /usr/bin/yum
修改,按I进入编辑模式,将首行的#!/usr/bin/python
,更改成:#!/usr/bin/python3
。按ESC后输入:wq
保存退出!
问题二
问题描述:使用命令yum install -y git
,报新错:
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax
有人说原因是:Centos误删自带python2.7,导致yum、pip等命令不能用。需要先恢复python2.7之后,然后重新下载和安装更高级别的python环境。
1、删除干净python环境
rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps
whereis python|xargs rm -frv
2、使用命令cat /etc/redhat-release
查看系统版本,显示:
CentOS Linux release 7.9.2009 (Core)
使用命令getconf LONG_BIT
查看系统位数,显示:64
3、使用wget分别下载python以及yum的rpm包
因为我用的阿里云,所以我使用的是阿里云的centos镜像。
随意找个文件夹放安装包
mkdir /usr/local/src/python
cd /usr/local/src/python
从阿里云镜像网站下载。一定要下载和你系统版本对应的文件,你可以把7.9.2009替换成你对应的版本号。
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/yum-plugin-protectbase-1.1.31-54.el7_8.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/yum-plugin-aliases-1.1.31-54.el7_8.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/yum-utils-1.1.31-54.el7_8.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/rpm-python-4.11.3-45.el7.x86_64.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-chardet-2.2.1-3.el7.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-kitchen-1.1.1-5.el7.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-setuptools-0.9.8-7.el7.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-urlgrabber-3.10-10.el7.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-pycurl-7.19.0-19.el7.x86_64.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-2.7.5-89.el7.x86_64.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-backports-1.0-8.el7.x86_64.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-ipaddress-1.0.16-2.el7.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-libs-2.7.5-89.el7.x86_64.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/libxml2-python-2.9.1-6.el7.5.x86_64.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/lvm2-python-libs-2.02.187-6.el7.x86_64.rpm
4、安装
rpm -Uvh --replacepkgs lvm2-python-libs*.rpm --nodeps --force
rpm -Uvh --replacepkgs libxml2-python*.rpm --nodeps --force
rpm -Uvh --replacepkgs python*.rpm --nodeps --force
rpm -Uvh --replacepkgs rpm-python*.rpm yum*.rpm --nodeps --force
5、使用python -V
或yum
测试是否可用,显示:
Python 2.7.5
或
Loaded plugins: aliases, fastestmirror, protectbase You need to give
some command Usage: yum [options] COMMAND
修复成功!
问题三
问题描述:cd weblate-docker
创建完docker-compose.override.yml文件后,使用命令docker-compose up
启动weblate容器,报错显示:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
原因:没有安装Docker环境……所以我在本文前面加了0.安装Docker环境
问题四
问题描述:使用命令docker-compose up
启动weblate容器,后面有2条告警1个错误:
百度的解决方案:
vim /etc/sysctl.conf
,添加配置:net.core.somaxconn = 1024
使用命令sysctl -p
查看配置是否成功
百度的解决方案:
echo 1 > /proc/sys/vm/overcommit_memory
使用指令netstat -tanlp查看端口占用情况,很明显我的80端口是被个DarkSheep的人小站占用了。
需要把docker-compose.override.yml文件里的80端口改了。
问题五
问题描述:1核1G的阿里云轻量应用服务器还是别装weblate了,亲测:磁盘高速读取,CPU负荷过50%,内存负荷过70%,DarkSheep个人小站都访问不了!
解决办法:重启服务器,第一时间通过远程链接,输入指令killall weblate
关闭所有weblate进程。然后同步登录宝塔面板进入Docker管理器把所有容器、镜像全删了。weblate官网文档要求的最低配置是:
- 2 GB 的内存
- 2 个 CPU 核心
- 1 GB 的存储空间