“Docker 安装mediawiki”的版本间的差异
docker>Evan |
|||
(未显示同一用户的40个中间版本) | |||
第1行: | 第1行: | ||
+ | =pre= | ||
+ | ==debian docker== | ||
+ | <pre> | ||
+ | apt update #on vps | ||
+ | apt install docker.io docker-compose -y | ||
+ | sudo usermod -aG docker $USER </pre> | ||
+ | |||
+ | |||
+ | ==** nginx == | ||
+ | <pre>apt install nginx | ||
+ | # | ||
+ | upstream dockerwiki { | ||
+ | server 10.138.132.61:8080 weight=5; | ||
+ | keepalive 64; | ||
+ | } | ||
+ | |||
+ | server{ | ||
+ | listen 80; | ||
+ | server_name wiki.linuxchina.net; | ||
+ | |||
+ | location / { | ||
+ | proxy_pass http://dockerwiki; #或者直接写ip啦 | ||
+ | proxy_http_version 1.1; | ||
+ | proxy_set_header Host $host:80; | ||
+ | proxy_set_header X-Real-IP $remote_addr; | ||
+ | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||
+ | } | ||
+ | |||
+ | access_log /var/log/nginx/wiki.linuxaccess.log; | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | 有时 80不通 重启机器后好了 应该 是firewalld 导致 | ||
+ | |||
+ | |||
+ | https://blog.csdn.net/yinlongfei_love/article/details/81085761 解决 413 Request Entity Too Large | ||
+ | |||
+ | |||
+ | ==[[Docker 安装 Memcached]] == | ||
+ | |||
=install and config= | =install and config= | ||
+ | ==201910== | ||
+ | |||
+ | ===mariadb 要注意的=== | ||
+ | <pre> | ||
+ | 密码太简单改了一下 在dockercomps 文件里面改是没用的 | ||
+ | |||
+ | 要登录root mysql 再用上面 的授权 然后 改 wiki的配置文件 不然 | ||
+ | Original exception: [c1fa6e2877bda66dceebe4ab] 2019-10-16 02:25:03: Fatal exception of type "Wikimedia\Rdbms\DBConnectionError" | ||
+ | </pre> | ||
+ | |||
+ | ====mariadb for wordpress==== | ||
+ | <pre> | ||
+ | |||
+ | |||
+ | 用宿主机的内网IP就行了 | ||
+ | |||
+ | 登录到wordpress 容器 | ||
+ | |||
+ | |||
+ | /** MySQL database username */ | ||
+ | define( 'DB_USER', 'evan'); | ||
+ | |||
+ | /** MySQL database password */ | ||
+ | define( 'DB_PASSWORD', 'evan'); | ||
+ | |||
+ | /** MySQL hostname */ | ||
+ | define( 'DB_HOST', '172.18.0.2:3306'); | ||
+ | |||
+ | /** Database Charset to use in creating database tables. */ | ||
+ | define( 'DB_CHARSET', 'utf8'); | ||
+ | |||
+ | |||
+ | mysql -uevan -pevan -h127.0.0.1 | ||
+ | |||
+ | |||
+ | 用物理机的 内网IP | ||
+ | |||
+ | mysql -uevan -pevan -h 10.138.132.61 | ||
+ | |||
+ | apt install mariadb-client | ||
+ | </pre> | ||
+ | |||
+ | ===docker-compose 安装mediawiki=== | ||
+ | <pre> | ||
+ | |||
+ | # MediaWiki with MariaDB 这里不用再另外安装db了 | ||
+ | # | ||
+ | # Access via "http://localhost:8080" | ||
+ | # (or "http://$(docker-machine ip):8080" if using docker-machine) | ||
+ | version: '3' | ||
+ | services: | ||
+ | mediawiki: | ||
+ | image: mediawiki | ||
+ | restart: always | ||
+ | ports: | ||
+ | - 8080:80 | ||
+ | links: | ||
+ | - database | ||
+ | volumes: | ||
+ | - /var/www/html/images | ||
+ | # After initial setup, download LocalSettings.php to the same directory as | ||
+ | # this yaml and uncomment the following line and use compose to restart | ||
+ | # the mediawiki service | ||
+ | # - ./LocalSettings.php:/var/www/html/LocalSettings.php | ||
+ | database: | ||
+ | image: mariadb | ||
+ | restart: always | ||
+ | ports: | ||
+ | - 3306:3306 | ||
+ | environment: | ||
+ | # @see https://phabricator.wikimedia.org/source/mediawiki/browse/master/includes/DefaultSettings.php | ||
+ | MYSQL_DATABASE: wiki | ||
+ | MYSQL_USER: evan | ||
+ | MYSQL_PASSWORD: eva555 这要尽量难一点 | ||
+ | MYSQL_RANDOM_ROOT_PASSWORD: 'yes' | ||
+ | |||
+ | |||
+ | </pre> | ||
+ | https://www.mediawiki.org/wiki/MediaWiki-Docker/zh | ||
+ | |||
+ | ===wiki configure=== | ||
+ | <pre> | ||
+ | |||
+ | web安装过程 | ||
+ | |||
+ | Database host: | ||
+ | |||
+ | 192.168.88.52 #反正是内网IP | ||
+ | dbip也可以登录容器 mariadb进去ip add | ||
+ | |||
+ | |||
+ | 多问我一些问题吧 | ||
+ | 那里还在要求可以填写缓存什么的 | ||
+ | |||
+ | 编辑者 | ||
+ | CodeEditor(需要WikiEditor) | ||
+ | |||
+ | 其实皮肤可以只要一个 | ||
+ | |||
+ | |||
+ | ** 添加定时备份 html目录 没有-v | ||
+ | |||
+ | ** 备份目录 备份容器 手工导出为4个 | ||
+ | |||
+ | ** | ||
+ | 安装时是要密码的 然后改为 可以看 | ||
+ | |||
+ | # The following permissions were set based on your choice in the installer | ||
+ | $wgGroupPermissions['*']['createaccount'] = false; | ||
+ | $wgGroupPermissions['*']['edit'] = false; | ||
+ | $wgGroupPermissions['*']['read'] = true; | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | === 备份还原=== | ||
+ | <pre>* crontab 知识点 | ||
+ | |||
+ | man 5 crontab | ||
+ | |||
+ | field allowed values | ||
+ | ----- -------------- | ||
+ | minute 0-59 | ||
+ | hour 0-23 | ||
+ | day of month 1-31 | ||
+ | month 1-12 (or names, see below) | ||
+ | day of week 0-7 (0 or 7 is Sun, or use names) | ||
+ | |||
+ | |||
+ | * on xps | ||
+ | #!/bin/bash | ||
+ | #01 13 * * 1-5 /home/evan/wikitran | ||
+ | rm -f /home/evan/wiki/wiki.sql | ||
+ | rsync -avz --progress linuxsa.org:/tmp/wiki.sql /home/evan/wiki/wiki.sql | ||
+ | |||
+ | * on vps | ||
+ | cat /data/mon/mybak.sh | ||
+ | #!/bin/bash | ||
+ | #01 13 * * 1-5 /home/evan/wikitran | ||
+ | |||
+ | rm -f /tmp/wiki.sql | ||
+ | mysqldump -uevan -pidfdf44reeBsdrT9J36UHNgyt -h127.0.0.1 wiki >/tmp/wiki.sql | ||
+ | |||
+ | |||
+ | 还原 | ||
+ | 新搞一下mediawiki 导入 sql文件就行了 不要再用下面的这个页面的导出了 太low | ||
+ | </pre> | ||
+ | |||
+ | ==== mediawiki页面的导出和导入==== | ||
+ | |||
+ | <pre> | ||
+ | |||
+ | 特殊:所有页面 | ||
+ | 复制页面列表内容,整理成一行一个页面名称的文本列表 | ||
+ | |||
+ | 出来就是一行一个的啦 | ||
+ | |||
+ | 现在看起来 只有 800个文章呢 | ||
+ | |||
+ | 到 导出页面 | ||
+ | 把所有文件 复制进去 | ||
+ | |||
+ | 老是报文件太大 最终把所有文章分为三次,300左右一个, 成功 以后可能要分成4次吧 前缀随便写就行了 | ||
+ | |||
+ | |||
+ | php 上传大小 | ||
+ | |||
+ | 容器里面 apt update ; apt install vim | ||
+ | |||
+ | nginx 出现413 Request Entity Too Large问题的解决方法 | ||
+ | |||
+ | 在http{}段中加入 client_max_body_size 20m; 20m为允许最大上传的大小 | ||
+ | |||
+ | 打开php.ini,把 upload_max_filesize 和 post_max_size 修改为20M,然后重启。 | ||
+ | |||
+ | /usr/local/etc/php/php.ini-development | ||
+ | /usr/local/etc/php/php.ini-production | ||
+ | |||
+ | post_max_size = 8M | ||
+ | upload_max_filesize = 8M | ||
+ | |||
+ | 第二步,要对mediawiki的includes目录中的DefaultSettings.php中的$wgMaxUploadSize、$wgUploadSizeWarning两个参数设置成我们想要的值。$wgUploadSizeWarning的设置不是必须的,而是去除系统的警告 | ||
+ | $wgMaxUploadSize = 1024 * 1024 * 1000; # 1000M | ||
+ | |||
+ | 导入失败:没有提供跨wiki前缀 我随便写一个就行 ? | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | === wiki学习=== | ||
+ | |||
+ | [https://blog.csdn.net/zuiaituantuan/article/details/5816502 Mediawiki LocalSettings.php 参数指南中文版] | ||
+ | |||
+ | =k8s install mediawiki= | ||
+ | |||
+ | |||
+ | ==see also== | ||
+ | [https://zh.stackoom.com/question/3nIEP 如何在Kubernetes集群中創建Mediawiki的多個實例] | ||
+ | |||
+ | =mediawiki 更新= | ||
+ | |||
+ | https://www.mediawiki.org/wiki/Manual:Upgrading | ||
+ | |||
+ | |||
+ | https://gerrit.wikimedia.org/g/mediawiki/core/%2B/REL1_37/UPGRADE | ||
+ | |||
+ | |||
+ | =mediawiki skins皮肤= | ||
+ | https://www.mediawiki.org/wiki/Category:All_skins | ||
+ | |||
+ | |||
+ | https://www.mediawiki.org/wiki/Skin:Tweeki | ||
+ | |||
+ | https://www.mediawiki.org/wiki/Skin:Vector/zh | ||
+ | |||
+ | https://www.jianshu.com/p/050920914109 | ||
+ | |||
+ | https://tweeki.kollabor.at/wiki/Welcome | ||
+ | |||
+ | =扩展= | ||
+ | |||
+ | [https://blog.csdn.net/qq_40192867/article/details/108637909 mediawiki 各种扩展整理] | ||
+ | |||
+ | =old= | ||
==db== | ==db== | ||
===pre=== | ===pre=== | ||
第89行: | 第351行: | ||
$docker update --restart=always <CONTAINER ID> #上次就是这样解决了重启后nginx问题 | $docker update --restart=always <CONTAINER ID> #上次就是这样解决了重启后nginx问题 | ||
</pre> | </pre> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==mysql== | ==mysql== | ||
[[Docker mysql]] | [[Docker mysql]] | ||
第170行: | 第414行: | ||
==Memcached== | ==Memcached== | ||
安装过程会提示缓存软件为memcached | 安装过程会提示缓存软件为memcached | ||
+ | |||
+ | 除去上面这个原因 以前是我使用mc的原因 | ||
+ | |||
+ | 情况三:由于网络模型的差异,redis可能会因为CPU计算影响IO调度memcache使用非阻塞IO复用模型,redis也是使用非阻塞IO复用模型。但由于redis还提供一些非KV存储之外的排序,聚合功能,在执行这些功能时,复杂的CPU计算,会阻塞整个IO调度。从这一点上,由于redis提供的功能较多,mc会更快一些。 | ||
+ | 情况四:由于线程模型的差异,redis难 | ||
+ | 以利用多核特效提升性能memcache使用多线程,主线程监听,worker子线程接受请求,执行读写,这个过程中,可能存在锁冲突。redis使用单线程,虽无锁冲突,但难以利用多核的特性提升整体吞吐量。从这一点上,mc会快一些。 | ||
+ | |||
+ | https://juejin.im/post/5e1db75ee51d4557e632e399 | ||
+ | |||
+ | |||
[[Docker 安装 Memcached]] | [[Docker 安装 Memcached]] | ||
第201行: | 第455行: | ||
[https://www.jianshu.com/p/8de371558ef6 docker搭建mediawiki] | [https://www.jianshu.com/p/8de371558ef6 docker搭建mediawiki] | ||
+ | |||
+ | [https://zhuanlan.zhihu.com/p/56235816 使用 Docker 搭建你的Wiki(TiddlyWiki)] | ||
+ | |||
+ | [https://www.jianshu.com/p/32542630c2bd Docker使用MariaDB] | ||
+ | [https://www.zhihu.com/question/20679850 那些不错的mediawiki插件] | ||
[https://www.kuyh.com/167.html 树莓派docker搭建lnmp环境] | [https://www.kuyh.com/167.html 树莓派docker搭建lnmp环境] | ||
− | + | [https://zhuanlan.zhihu.com/p/55898921 使用 Docker 搭建你的Wiki(MediaWiki)] | |
[https://www.mediawiki.org/wiki/Docker Docker for mediawiki] | [https://www.mediawiki.org/wiki/Docker Docker for mediawiki] | ||
第223行: | 第482行: | ||
[http://wiki.jikexueyuan.com/project/docker-practice/fig-creat-mediawiki.html Docker 实践 3:fig 搭建 mediawiki] | [http://wiki.jikexueyuan.com/project/docker-practice/fig-creat-mediawiki.html Docker 实践 3:fig 搭建 mediawiki] | ||
− | [[category:容器]] [[category:ops]] [[category: container]] | + | [[category:容器]] [[category:ops]] [[category: container]] [[category:wiki]] |
2022年2月8日 (二) 02:09的最新版本
目录
pre
debian docker
apt update #on vps apt install docker.io docker-compose -y sudo usermod -aG docker $USER
** nginx
apt install nginx # upstream dockerwiki { server 10.138.132.61:8080 weight=5; keepalive 64; } server{ listen 80; server_name wiki.linuxchina.net; location / { proxy_pass http://dockerwiki; #或者直接写ip啦 proxy_http_version 1.1; proxy_set_header Host $host:80; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } access_log /var/log/nginx/wiki.linuxaccess.log; }
有时 80不通 重启机器后好了 应该 是firewalld 导致
https://blog.csdn.net/yinlongfei_love/article/details/81085761 解决 413 Request Entity Too Large
Docker 安装 Memcached
install and config
201910
mariadb 要注意的
密码太简单改了一下 在dockercomps 文件里面改是没用的 要登录root mysql 再用上面 的授权 然后 改 wiki的配置文件 不然 Original exception: [c1fa6e2877bda66dceebe4ab] 2019-10-16 02:25:03: Fatal exception of type "Wikimedia\Rdbms\DBConnectionError"
mariadb for wordpress
用宿主机的内网IP就行了 登录到wordpress 容器 /** MySQL database username */ define( 'DB_USER', 'evan'); /** MySQL database password */ define( 'DB_PASSWORD', 'evan'); /** MySQL hostname */ define( 'DB_HOST', '172.18.0.2:3306'); /** Database Charset to use in creating database tables. */ define( 'DB_CHARSET', 'utf8'); mysql -uevan -pevan -h127.0.0.1 用物理机的 内网IP mysql -uevan -pevan -h 10.138.132.61 apt install mariadb-client
docker-compose 安装mediawiki
# MediaWiki with MariaDB 这里不用再另外安装db了 # # Access via "http://localhost:8080" # (or "http://$(docker-machine ip):8080" if using docker-machine) version: '3' services: mediawiki: image: mediawiki restart: always ports: - 8080:80 links: - database volumes: - /var/www/html/images # After initial setup, download LocalSettings.php to the same directory as # this yaml and uncomment the following line and use compose to restart # the mediawiki service # - ./LocalSettings.php:/var/www/html/LocalSettings.php database: image: mariadb restart: always ports: - 3306:3306 environment: # @see https://phabricator.wikimedia.org/source/mediawiki/browse/master/includes/DefaultSettings.php MYSQL_DATABASE: wiki MYSQL_USER: evan MYSQL_PASSWORD: eva555 这要尽量难一点 MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
https://www.mediawiki.org/wiki/MediaWiki-Docker/zh
wiki configure
web安装过程 Database host: 192.168.88.52 #反正是内网IP dbip也可以登录容器 mariadb进去ip add 多问我一些问题吧 那里还在要求可以填写缓存什么的 编辑者 CodeEditor(需要WikiEditor) 其实皮肤可以只要一个 ** 添加定时备份 html目录 没有-v ** 备份目录 备份容器 手工导出为4个 ** 安装时是要密码的 然后改为 可以看 # The following permissions were set based on your choice in the installer $wgGroupPermissions['*']['createaccount'] = false; $wgGroupPermissions['*']['edit'] = false; $wgGroupPermissions['*']['read'] = true;
备份还原
* crontab 知识点 man 5 crontab field allowed values ----- -------------- minute 0-59 hour 0-23 day of month 1-31 month 1-12 (or names, see below) day of week 0-7 (0 or 7 is Sun, or use names) * on xps #!/bin/bash #01 13 * * 1-5 /home/evan/wikitran rm -f /home/evan/wiki/wiki.sql rsync -avz --progress linuxsa.org:/tmp/wiki.sql /home/evan/wiki/wiki.sql * on vps cat /data/mon/mybak.sh #!/bin/bash #01 13 * * 1-5 /home/evan/wikitran rm -f /tmp/wiki.sql mysqldump -uevan -pidfdf44reeBsdrT9J36UHNgyt -h127.0.0.1 wiki >/tmp/wiki.sql 还原 新搞一下mediawiki 导入 sql文件就行了 不要再用下面的这个页面的导出了 太low
mediawiki页面的导出和导入
特殊:所有页面 复制页面列表内容,整理成一行一个页面名称的文本列表 出来就是一行一个的啦 现在看起来 只有 800个文章呢 到 导出页面 把所有文件 复制进去 老是报文件太大 最终把所有文章分为三次,300左右一个, 成功 以后可能要分成4次吧 前缀随便写就行了 php 上传大小 容器里面 apt update ; apt install vim nginx 出现413 Request Entity Too Large问题的解决方法 在http{}段中加入 client_max_body_size 20m; 20m为允许最大上传的大小 打开php.ini,把 upload_max_filesize 和 post_max_size 修改为20M,然后重启。 /usr/local/etc/php/php.ini-development /usr/local/etc/php/php.ini-production post_max_size = 8M upload_max_filesize = 8M 第二步,要对mediawiki的includes目录中的DefaultSettings.php中的$wgMaxUploadSize、$wgUploadSizeWarning两个参数设置成我们想要的值。$wgUploadSizeWarning的设置不是必须的,而是去除系统的警告 $wgMaxUploadSize = 1024 * 1024 * 1000; # 1000M 导入失败:没有提供跨wiki前缀 我随便写一个就行 ?
wiki学习
Mediawiki LocalSettings.php 参数指南中文版
k8s install mediawiki
see also
如何在Kubernetes集群中創建Mediawiki的多個實例
mediawiki 更新
https://www.mediawiki.org/wiki/Manual:Upgrading
https://gerrit.wikimedia.org/g/mediawiki/core/%2B/REL1_37/UPGRADE
mediawiki skins皮肤
https://www.mediawiki.org/wiki/Category:All_skins
https://www.mediawiki.org/wiki/Skin:Tweeki
https://www.mediawiki.org/wiki/Skin:Vector/zh
https://www.jianshu.com/p/050920914109
https://tweeki.kollabor.at/wiki/Welcome
扩展
old
db
pre
#在运行docker容器时可以加如下参数来保证每次docker服务重启后容器也自动重启: $docker run --restart=always #如果已经启动了则可以使用如下命令: $docker update --restart=always <CONTAINER ID> mysql什么的也可以rpm 但是尽量docker
mariadb
#在sra pi上好象是没有的 docker pull mariadb:latest docker run -p 3307:3306 --restart 策略名称 -v 宿主机数据目录:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mysql密码 -d 镜像ID docker run --name mymariadb -p 3306:3306 --restart always -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=2240881 -d 54514d54a4a5 docker run --name mymariadb -p 3307:3306 --restart always -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=2240881 -d mariadb #同上 开启远程访问用户和密码 echo 'mymariadb 192.168.10.105' >>/etc/hosts mysql -uroot -p2240881 -h 192.168.10.105 -P3307 #连接
mysql
docker pull mysql:5.7 #config and run docker run -p 3307:3306 --restart 策略名称 -v 宿主机数据目录:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mysql密码 -d 镜像ID docker run --name mymysql -p 3306:3306 --restart always -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=2240881 -d 54514d54a4a5 mysql8 docker run --name mymysql8 -e MYSQL_ROOT_PASSWORD=evan2240881 -p3306:3306 -d mysql:8 #开启远程访问 create user 'evan'@'%' identified by 'evan2240881';
Installing and using MariaDB via Docker
wiki
#前提 得开启mysql远程访问 直接登录到mysql 容器里面进去 用一开始运行mysql容器的那个用户和密码,再添加远程用户和密码 docker pull mediawiki docker run --name mymediawiki -p 88:80 --link mymariadb:mysql -d mediawiki #is good docker cp LocalSettings.php 3c0002c21a6a:/var/www/html/LocalSettings.php --net=host #如果是使用mysql docker run --name mymediawiki -p 88:80 --link mymysql:mysql -d mediawiki mediawiki 这个不会自启动 docker run --name mymediawiki --link mymariadb:mysql -d wikimedia/mediawiki #起来 这个感觉不对
#is old docker pull mediawiki #还是指定目录比较好 但是现在 官方的好像不支持 -v了 docker run --restart=always --name mediawiki -p 8080:80 -v /data/mediawiki -d 8d721d068c81 #2018 但是没办法直接数据交互 下面的用了有问题呢 #mysql 填写 192.168.0.10:3307 docker run --name mediawiki -p 8080:80 -v /data/mediawiki:/var/www/html/ -d id #docker run --name mediawiki -p 8080:80 -v /data/mediawiki:/var/www/html/ -d mediawiki docker cp /data/LocalSettings.php mediawiki:/var/www/html/LocalSettings.php 默认上传目录 /var/www/html/images/ #解说 使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。 docker run --name mynginx -d nginx:latest #交互 sudo docker exec -it facethink-mediawiki /bin/bash #开机自启动 #在运行docker容器时可以加如下参数来保证每次docker服务重启后容器也自动重启: $docker run --restart=always #如果已经启动了则可以使用如下命令: $docker update --restart=always <CONTAINER ID> #上次就是这样解决了重启后nginx问题
mysql
nginx
on docker
no docker
#这个在内网其实可以不用呢 server { listen 80; server_name wiki.linuxsa.org; charset utf-8; #access_log /var/log/nginx/host.access.log main; location / { proxy_pass http://192.168.50.206:8080; root /usr/share/nginx/html; index index.html index.htm; } docker cp default.conf nginx:/etc/nginx/conf.d/default.conf #手工的nginx [root@localhost conf.d]# cat default.conf server { listen 80; server_name wiki.linuxsa.org; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; location / { proxy_pass http://192.168.88.52:88; #root /usr/share/nginx/html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} }
Memcached
安装过程会提示缓存软件为memcached
除去上面这个原因 以前是我使用mc的原因
情况三:由于网络模型的差异,redis可能会因为CPU计算影响IO调度memcache使用非阻塞IO复用模型,redis也是使用非阻塞IO复用模型。但由于redis还提供一些非KV存储之外的排序,聚合功能,在执行这些功能时,复杂的CPU计算,会阻塞整个IO调度。从这一点上,由于redis提供的功能较多,mc会更快一些。 情况四:由于线程模型的差异,redis难 以利用多核特效提升性能memcache使用多线程,主线程监听,worker子线程接受请求,执行读写,这个过程中,可能存在锁冲突。redis使用单线程,虽无锁冲突,但难以利用多核的特性提升整体吞吐量。从这一点上,mc会快一些。
https://juejin.im/post/5e1db75ee51d4557e632e399
trouble
mysql8 err
[df278b0f908ad5e5f2653f4e] /mw-config/index.php?page=Install Wikimedia\Rdbms\DBQueryError from line 1506 of /var/www/html/includes/libs/rdbms/database/Database.php: A database query error has occurred. Did you forget to run your application's database schema updater after upgrading? Query: CREATE DATABASE `my_wiki`CHARACTER SET utf8 Function: MysqlInstaller::setupDatabase Error: 1044 Access denied for user 'evan'@'%' to database 'my_wiki' (192.168.88.21) Backtrace: #0 /var/www/html/includes/libs/rdbms/database/Database.php(1476): Wikimedia\Rdbms\Database->makeQueryException(string, integer, string, string) #1 /var/www/html/includes/libs/rdbms/database/Database.php(1236): Wikimedia\Rdbms\Database->reportQueryError(string, integer, string, string, boolean) #2 /var/www/html/includes/installer/MysqlInstaller.php(491): Wikimedia\Rdbms\Database->query(string, string) #3 /var/www/html/includes/installer/Installer.php(1601): MysqlInstaller->setupDatabase(MysqlInstaller) #4 /var/www/html/includes/installer/WebInstallerInstall.php(44): Installer->performInstallation(array, array) #5 /var/www/html/includes/installer/WebInstaller.php(272): WebInstallerInstall->execute() #6 /var/www/html/mw-config/index.php(79): WebInstaller->execute(array) #7 /var/www/html/mw-config/index.php(38): wfInstallerMain() #8 {main}
see also
https://www.mediawiki.org/wiki/Comparison_of_distribution_options
使用 Docker 搭建你的Wiki(TiddlyWiki)
那些不错的mediawiki插件
树莓派docker搭建lnmp环境