产生原因:上传文件的大小超出了 Nginx 允许的最大值,如果没有配置的话,默认是1M;
解决方式:修改Nginx配置
vi /usr/local/nginx/conf/nginx.conf
client_max_body_size 1024m
测试是否修改成功:
/usr/local/nginx/sbin/nginx -t
重新加载:
/usr/local/nginx/sbin/nginx -s reload
第一种解决办法:将数据存储目录移动到网站根目录,注意不是运行目录,移动后还要修改nextcloud的配置文件config.php;
'datadirectory' => '/www/wwwroot/test.wxlcloud.com/data',
第二种方法:修改nextcloud绑定的网站配置文件,添加nextcloud常用目录禁止访问即可,网站配置文件加入下列代码:
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
deny all;
}
修改PHP的配置文件…/php/72/etc/php-fpm.conf,在其尾部添加:
env[PATH] = /usr/local/bin:/usr/bin:/bin:/usr/local/php/bin
修改php.ini文件
vi /usr/local/php/etc/php.ini
memory_limit = 1024M
修改nextcloud绑定的网站配置文件,添加下列代码:
#caldav和carddav
rewrite /.well-known/carddav /remote.php/dav permanent;
rewrite /.well-known/caldav /remote.php/dav permanent;
官方文档: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,
),
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
解决方案是删除 .htaccess 和 .user.ini 两个文件后重新上传Nextcloud包内的这两个文件,并确保 .htaccess 和 .user.ini 的权限是777(可读可写可执行),并且所有者是www。
fileinfo,imagemagick