1. 解决上传文件时 nginx 413 Request Entity Too Large 错误
产生原因:上传文件的大小超出了 Nginx 允许的最大值,如果没有配置的话,默认是1M;
解决方式:修改Nginx配置
vi /usr/local/nginx/conf/nginx.conf
client_max_body_size 500m
测试是否修改成功:
/usr/local/nginx/sbin/nginx -t
重新加载:
/usr/local/nginx/sbin/nginx -s reload
2. 您的数据目录和文件可以从互联网直接访问。.htaccess 文件不起作用。强烈建议您配置 Web 服务器,以便数据目录不再可访问,或者你可以将数据目录移动到 Web 服务器文档根目录。
第一种解决办法:将数据存储目录移动到网站根目录,注意不是运行目录,移动后还要修改nextcloud的配置文件config.php;
'datadirectory' => '/www/wwwroot/test.wxlcloud.com/data',
第二种方法:修改nextcloud绑定的网站配置文件,添加nextcloud常用目录禁止访问即可,网站配置文件加入下列代码:
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
deny all;
}
3. PHP的安装似乎不正确,无法访问系统环境变量。getenv(“PATH”)函数测试返回了一个空值。 请参照安装说明文档 ↗中的PHP配置说明查阅您服务器的PHP配置信息,特别是在使用php-fpm时。
修改PHP的配置文件…/php/72/etc/php-fpm.conf,在其尾部添加:
env[PATH] = /usr/local/bin:/usr/bin:/bin:/usr/local/php/bin
4. PHP 内存限制低于建议值 512MB。
修改php.ini文件
memory_limit = 1024M
5. 您的网页服务器未正确设置以解析“/.well-known/caldav”。更多信息请参见文档。您的网页服务器未正确设置以解析“/.well-known/carddav”。更多信息请参见文档。
修改nextcloud绑定的网站配置文件,添加下列代码:
#caldav和carddav
rewrite /.well-known/carddav /remote.php/dav permanent;
rewrite /.well-known/caldav /remote.php/dav permanent;
6. 内存缓存未配置,为了提升使用体验,请尽量配置内存缓存。
官方文档:https://docs.nextcloud.com/server/17/admin_manual/configuration_server/caching_configuration.html
修改nextcloud的配置文件config.php(注意要安装对应的php扩展 memcached,redis):
'memcache.local' => '\OC\Memcache\Memcached'
或者:
'memcache.local' => '\OC\Memcache\Redis',
'redis' => array(
'host' => 'localhost',
'port' => 6379,
),
或者:
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'memcache.local' => '\OC\Memcache\APCu',
'redis' => array (
'host' => '127.0.0.1',
'port' => 6379,
),
7. PHP 的组件 OPcache 没有正确配置。 为了提供更好的性能,我们建议在 php.ini中使用下列设置(需要安装php的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
8. 一些文件没有通过完整性检查。了解如何解决该问题请查看我们的 文档。(无效文件列表… / 重新扫描…)Nextcloud配置过程中提示Invalid hash - .user.ini的解决办法:
解决方案是删除 .htaccess 和 .user.ini 两个文件后重新上传Nextcloud包内的这两个文件,并确保 .htaccess 和 .user.ini 的权限是777(可读可写可执行),并且所有者是www。
9. NextCloud需要安装的其他php扩展:
fileinfo,imagemagick