前文 树莓派安装nextcloud搭建私有云 介绍了在树莓派上安装和部署nextcloud私有云的详细步骤。因nextcloud功能强大,执行过程中会消耗大量的系统资源,对于硬件能力不强的树莓派来说很有必要进行系统性的优化调整。
本文整理自官方教程,给出优化next的详细步骤。
- 用cron替代后台ajax刷新执行定时任务。执行命令:
sudo echo '*/5 * * * * www-data php /var/www/html/nextcloud/cron.php' >> /etc/crontab
,注意/var/www/html/nextcloud应替换成你系统中nextcloud的根目录; - 使用缓存。需要安装redis以及编辑nextcloud的配置文件,详情参考树莓派安装nextcloud搭建私有云;
- 优化mysqld。编辑 /etc/mysql/conf.d/mysql.cnf文件,加入以下行:
[mysqld]
innodb_buffer_pool_size=256m
innodb_io_capacity=4000 - 使用redis锁代替文件锁。安装redis,然后编辑nextcloud的配置文件,添加以下行:
'filelocking.enabled' => true,
'memcache.locking' => '/OC/Memcache/Redis', - 配置php-fpm。编辑/etc/php/7.3/fpm/pool.d/www.conf文件,设置动态进程数量:
pm.max_children = 50
pm.start_servers = 3
pm.min_spare_servers = 3
pm.max_spare_servers = 10 - 启用opcache。安装opcache模块,在/etc/php/7.3/fpm/php.ini编辑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=30 - 启用大文件上传。编辑/etc/php/7.3/fpm/php.ini,更改文件限制:
upload_max_filesize=16G
接着编辑/etc/nginx/nginx.conf,在http块中修改上传限制:
post_max_size=16G
max_input_time = 3600
max_execute_time = 3600
memory_limit = 512Mclient_max_body_size 16G;
fastcgi_read_timeout 360S;