当前位置:   article > 正文

【VPS折腾记】nextcloud——配置优化(二)_nextcloud优化

nextcloud优化

通过【VPS折腾记】nextcloud——安装(一)完成对nextcloud中,还需要进行一些配置才能发挥出nextcloud的最佳性能。PS:一般服务器搭建个人网盘其实更推荐使用cloudreve,nextcloud实在太过沉重。
个人选择nextcloud的原因只有:

  • 因为oracle arm免费鸡的纸面实力不错,不想浪费配置
  • cloudreve离线下载功能太局限,无法自定义header,而现在百度网盘等直链下载通常需要加入cookie或header,而nextcloud的离线下载插件可以做到

废话少说,开始折腾

1.总体优化

从右上角头像中进入设置面板,进入下方管理处的概述

在这里插入图片描述
这里列出了nextcloud自动检测出的一堆配置问题,这里针对个人出现的问题开始逐一排查,文中未提到的请自行百度解决。

一些文件未通过完整性检查。有关如何解决这一问题的进一步信息可在 文档↗中找到。(无效文件列表… / 重新扫描…)

点击无效文件列表,将列出程序无法识别的一系列文件,删除,再重新扫描即可
在这里插入图片描述

PHP 内存限制低于建议值 512MB。
PHP configuration option output_buffering must be disabled
PHP 的安装似乎不正确,无法访问系统环境变量。getenv(“PATH”) 函数测试返回了一个空值。 请检查安装文档 ↗中关于PHP的配置说明和您服务器上的PHP配置,特别是在使用 php-fpm 时。

进入宝塔软件商店,修改php配置,内存改为512;
配置文件中,在output_buffering前使用; 注释掉;
在FPM配置末尾添加一行env[PATH] = /usr/local/bin:/usr/bin:/bin:/usr/local/php/bin
重启php
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

您的数据目录和文件可能可以从互联网访问。.htaccess 文件不工作。强烈建议您配置您的 web 服务器,使数据目录不再可访问,或将数据目录移到 web 服务器文档根目录之外。

在网站的配置文件中,禁止访问的文件和目录后添加data目录
在这里插入图片描述

您的网页服务器未正确设置以解析“/.well-known/webfinger”。更多信息请参见文档↗。
您的网页服务器未正确设置以解析“/.well-known/nodeinfo”。更多信息请参见文档↗。
您的网页服务器未正确设置以解析“/.well-known/caldav”。更多信息请参见文档↗。
您的网页服务器未正确设置以解析“/.well-known/carddav”。更多信息请参见文档↗。

在网站nginx配置中,将以下代码覆盖在原location ^~ /.well-known处

location ^~ /.well-known {
    # The rules in this block are an adaptation of the rules
    # in `.htaccess` that concern `/.well-known`.

    location = /.well-known/carddav { return 301 /remote.php/dav/; }
    location = /.well-known/caldav  { return 301 /remote.php/dav/; }

    location /.well-known/acme-challenge    { try_files $uri $uri/ =404; }
    location /.well-known/pki-validation    { try_files $uri $uri/ =404; }

    # Let Nextcloud's API for `/.well-known` URIs handle all other
    # requests by passing them to the front-end controller.
    return 301 /index.php$request_uri;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
未找到 PHP 的 “fileinfo” 模块。强烈推荐启用该模块,从而获得更好的 MIME 类型探测结果。

在PHP的安装扩展页面,安装fileinfo模块即可

您的安装没有设置默认的电话区域。这对验证配置设定中没有国家代码的电话号码而言是必需的。

网站根目录/config/config.php 的最后一行中添加

	'default_phone_region' => 'CN',
  • 1
内存缓存未配置。为了提升性能,请尽量配置内存缓存。
  • 在宝塔的应用商店中安装redis
  • 在PHP->安装扩展中,安装redis, apcu扩展
  • redis设置->性能调整中,配置redis密码
  • 网站根目录/config/config.php 的最后一行中添加
  'memcache.local' => '\\OC\\Memcache\\APCu', //这里使用APCu+Redis的搭配,可自行更换
  'memcache.distributed' => '\\OC\\Memcache\\Redis',
  'filelocking.enabled' => 'true',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'redis' =>
  array (
    'host' => '127.0.0.1',
    'timeout' => 0,
    'dbindex' => 0,
    'port' => 6379,
    'password' => '你的redis密码',
  ),
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
The PHP OPcache module is not properly configured
The PHP module “imagick” is not enabled although the theming app is. For favicon generation to work correctly, you need to install and enable this module.

在PHP->安装扩展中,安装opcache,imagemagick两个扩展即可

The PHP modules “gmp” and/or “bcmath” are not enabled. If you use WebAuthn passwordless authentication, these modules are required.

在PHP->安装扩展中,安装gmp扩展即可,但在安装过程中我报了另一个错,因此特意分开
报错:configure: error: GNU MP Library version 4.2 or greater required.
解决方法:apt install libgmp-dev

你还没有设置或验证你的电子邮件服务器配置。请前往基本设置,以便进行设置。之后,使用表单下方的 "发送电子邮件 "按钮来验证您的设置。

这是最无关紧要的一个警告了…改不改无所谓,前提是你不会忘记管理员密码的话
点入基本设置,配置smtp服务器即可,具体配置方法不同邮箱不同,请自行百度。

2.其余优化

定时任务

进入nextcloud管理员设置面板,在基本设置->后台任务中,修改定时任务执行方式为cron,
进入宝塔面板,在计划任务中配置shell脚本
内容为

sudo -u www php -f /www/wwwroot/你的域名/cron.php
  • 1

时间自定,个人为5分钟一次。

在这一步时出了点小问题,OCP\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)
自nextcloud 21起,需要在php配置下加上 apc.enable_cli=1 ,才能保证apcu缓存正常工作
在宝塔里比较傻逼,首先在终端输入php --ini,查看输出,我这里为

Configuration File (php.ini) Path: /www/server/php/80/etc
Loaded Configuration File:         /www/server/php/80/etc/php-cli.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)
  • 1
  • 2
  • 3
  • 4

宝塔安装的php在cli模式下加载的是php-cli.ini,加载不到php.ini,所以光修改配置文件无法生效,卡了我好久!
解决方法是简单粗暴的直接删除了php-cli.ini,再重启php,就会发现cron执行没有报错了

PHP-FPM配置

官方推荐方案, 4GB RAM 和 1GB MySQL 缓存
运行模式:动态
max_children 120
start_servers 12
min_spare_servers = 6
max_spare_servers = 18

个人直接使用宝塔默认16GB方案

Opcache配置

官方推荐配置
opcache.enable=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

个人直接使用默认配置(机子默认配置高)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/1002855
推荐阅读
相关标签
  

闽ICP备14008679号