基于Docker搭建性能好一点的NextCloud

我总是对PHP有些许不爽,是因为我的从前还是因为我的现在?

不管是博客还是网盘,最终解还是落在了以PHP为基础的服务上……总而言之,现在准备好用Docker搭建NextCloud了。

第一件事情肯定是……建数据库啦……虽然把性能放在了标题里面,但是我这个贫穷的服务并没有人用,所以用PostgreSQL还是有点点浪费……最后还是MariaDB……不过一开始直接拖了latest的镜像,后面就翻车了(见这个issue),所以在本文完成时在默认情况下还是只能用MariaDB 10.5。小插曲而已,

$ docker run -d --name mariadb -v mariadb-data:/var/lib/mysql -e MARIADB_ROOT_PASSWORD=your-secret-pw -d mariadb:10.5
$ docker exec -it mariadb mysql -p
MariaDB [(none)]> create database nextcloud default character set utf8mb4 collate utf8mb4_general_ci;
MariaDB [(none)]> create user nextcloud identified by 'your-nextcloud-db-pw';
MariaDB [(none)]> grant select,insert,update,delete,create on nextcloud.* to 'nextcloud';
MariaDB [(none)]> flush privileges;

然后数据库就准备好啦~

接下来是上缓存!这次数据库都没用SQLite了,所以把Redis也准备上了。平平无奇地创建一个Redis的容器:

$ docker run --name redis -d redis

然后就是创建NextCloud的容器啦~

$ docker run -d --name nextcloud -v nextcloud-data:/var/www/html --link redis --link mariadb -p 8001:80 nextcloud

打开IP:8001就是安装界面了,管理员信息填好,选择使用MariaDB,地址为mariadb(link给我们的方便之处~),用户名为nextcloud,密码为your-nextcloud-db-pw(这两样信息详见SQL语句~),我个人取消勾选了安装应用(我就想要个网盘嘛……),确定!就OK啦(并没有)~

接下来配置Redis呢。找到nextcloud-data的位置(如果你不知道的话,大概你可以在/var/lib/docker/volumes/nextcloud-data/_data/找到),然后进入config文件夹,编辑config.php。我的编辑后的配置文件的头部长这样:

$CONFIG = array (
  'htaccess.RewriteBase' => '/',
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'filelocking.enabled' => 'true',
  'redis' => array(
      'host' => 'redis',
      'port' => 6379,
  ),
  'apps_paths' => 

这样就可以了。

网上很多人说要启用OPCache,但是查看phpinfo(你可以将/var/www/html/index.php替换为phpinfo)发现OPCache Optimization是enabled的,JIT为Not Available,有些奇怪,但是本着不编辑容器内文件的原则现在就暂且不管了……

还有的就是定时任务了。似乎按照这个流程默认就是Cron了,你可以在设置-基本设置找到。Cron配置推荐的方式是在宿主机配置,使用有docker权限的用户新建Cron任务(crontab -e,在文件末尾添加):

*/5  *  *  *  * docker exec -u www-data nextcloud php cron.php

这条规则是每5分钟一次执行一次,nextcloud是容器名称。

检查一下宿主机的Cron服务在不在,过个6分钟啥的去基本设置看看,如果有成功执行的记录就OK啦~

还有一些其他的优化,没有加上(懒),因为感觉加上也没有什么大的区别……

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇