Nginx服务配置篇·第四课:NextCloud优化整合
前景概要
上一篇文章我们安装完Nextcloud,打造了你的第一个私人网盘,但是会发现在设置
-概览
页面,依然会有一些设置上的警告。
这篇文章会一个一个进行处理,达到所有检查都通过并针对性地优化服务器。
安全与警告界面
1.缓存
推荐 Redis
1 | apt install redis |
修改 config.php
配置文件:
1 | vim /var/www/nextcloud/config/config.php |
在最后 )
前加入:
1 | #开启缓存,分类型同时使用APCU和REDIS。 |
2.PHP的 memory_limit
以及 opcache.memory_consumption
优化
由于之前安装完PHP没有进行优化,类似上传文件大小等,这边全部贴上,避免来回编辑:
1 | vim /etc/php/8.1/fpm/php.ini |
依次搜索下面几项并更改其内容:
1 | php_value max_input_time 3000 |
编辑 www.conf
,根据服务器内存配置情况填写以下数值(4G内存计算):
1 | vim /etc/php/8.1/fpm/pool.d/www.conf |
修改以下参数:
1 | pm = dynamic |
3.默认电话区域
修改 config.php
配置文件:
1 | vim /var/www/nextcloud/config/config.php |
添加:
1 | 'default_phone_region' => 'CN', |
4.增加视频预览
安装 php-imagick
以及 ffmpeg
1 | apt install libmagickcore-6.q16-6-extra |
修改 config.php
配置文件:
1 | vim /var/www/nextcloud/config/config.php |
添加:
1 | 'enabledPreviewProviders' => |
5.更改访问国内市场
还是在 config.php
配置文件中增加:
1 | 'updater.release.channel' => 'stable', |
优化
优化这块因服务器而异,这里把一些最基础的发出来供参考:
1.解除nextcloud上传文件块大小限制
进入nextcloud文件目录
1 | cd /var/www/nextcloud |
输入以下代码:
1 | -u www-data php occ config:app:set files max_chunk_size --value 0 |
显示以下内容表示成功:
1 | Config value max_chunk_size for app files set to 0 |
2.数据库优化
编辑 20-mysqli.ini
文件:
1 | vim /etc/php/8.1/fpm/conf.d/20-mysqli.ini |
最底下加入以下内容:
1 | [mysql] |
编辑 mariadb.cnf
文件:
1 | vim /etc/mysql/mariadb.cnf |
加入以下内容:
1 | [server] |
3.为nextcloud启用Cron代替ajax,提高性能
方法一
添加 crontab
定时任务
1 | crontab -u www-data -e |
添加一行,并保存:
1 | */5 * * * * php -f /var/www/nextcloud/cron.php //每5分钟运行一次 |
检查效果:
1 | crontab -u www-data -l |
输出:
1 | [snip]*/5 * * * * php -f /var/www/nextcloud/cron.php |
方法二
在 /etc/systemd/system
目录新建 nextcloudcron.service
和 nextcloudcron.timer
两个文件:
1 | vim /etc/systemd/system/nextcloudcron.service |
输入以下内容:
1 | [Unit] |
保存。
1 | vim /etc/systemd/system/nextcloudcron.timer |
输入以下内容:
1 | [Unit] |
这里不用修改,就是个定时。
最后,执行下面的命令就可以了:
1 | systemctl enable --now nextcloudcron.timer |
最后点到基本设置里,选择cron的方式,等5分钟看看情况就行了。
cron运行出错解决
出错类型为在nextcloud设置-概览中看到:系统计划任务超过X小时未运行,请查看….
日志错误:*
OC\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache
*
解决方法:
修改/etc/php/8.1/mods-available/apcu.ini
1 vim /etc/php/8.1/mods-available/apcu.ini添加一行:
1 apc.enable_cli=1
保存退出,等5分钟再看看。
当然,也可以直接在
etc/php/8.1/fpm/php.ini
中设置opcache.enable_cli=1
总结
至此,我们已经从零开始部署了Wordpress以及Nextcloud,相信有这两个,80%的需求应该已经完成了。
如果能够成功地看完并付诸实践,相信搭建一些前端的小应用也难不倒你了。
接下来可以更加愉快的找点新东西学习学习了。