NextCloud优化整合欧鹿星球助手7个月前更新关注私信0885 NextCloud优化整合,主要内容包括前景概要、安全与警告界面、二、PHP的memory_limit以及opcache.memory_consumption优化、三、默认电话区域、四、增加视频预览、五、更改访问国内市场、优化、优化二:数据库优化、优化三:为nextcloud启用Cron代替ajax,提高性能、总结、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。 前景概要 上一篇文章我们安装完Nextcloud,打造了你的第一个私人网盘,但是会发现在“设置”-“概览”页面,依然会有一些设置上的警告。 这篇文章会一个一个进行处理,达到所有检查都通过并针对性地优化服务器。 安全与警告界面 一、缓存 推荐Redis apt install redis 修改config配置文件: vim /var/www/nextcloud/config/config.php 在最后 ) 前加入: #开启缓存,分类型同时使用APCU和REDIS。 'memcache.local' => '\OC\Memcache\APCu', 'filelocking.enabled' => true, 'memcache.locking' => 'OCMemcacheRedis', 'memcache.distributed' => 'OCMemcacheRedis', 'redis' => [ 'host' => 'localhost', 'port' => 6379, ], 二、PHP的memory_limit以及opcache.memory_consumption优化 由于之前安装完PHP没有进行优化,类似上传文件大小等,这边全部贴上,避免来回编辑: vim /etc/php/8.1/fpm/php.ini 依次搜索下面几项并更改其内容: php_value max_input_time 3000 php_value max_execution_time 6000 memory_limit = 1024M post_max_size = 1024M upload_max_filesize = 1024M max_file_uploads = 100 opcache.enable = 1 opcache.interned_strings_buffer = 32 opcache.max_accelerated_files = 10000 opcache.memory_consumption = 128 opcache.save_comments = 1 opcache.revalidate_freq = 1 编辑www.conf,根据服务器内存配置情况填写以下数值(4G内存计算): vim /etc/php/8.1/fpm/pool.d/www.conf 修改以下参数: pm = dynamic pm.max_children = 300 pm.start_servers = 18 pm.min_spare_servers = 6 pm.max_spare_servers = 36 三、默认电话区域 修改config配置文件: vim /var/www/nextcloud/config/config.php 添加: 'default_phone_region' => 'CN', 四、增加视频预览 安装php-imagick以及ffmpeg apt install libmagickcore-6.q16-6-extra apt install ffmpeg 修改config配置文件: vim /var/www/nextcloud/config/config.php 添加: 'enabledPreviewProviders' => array ( 0 => 'OC\Preview\PNG', 1 => 'OC\Preview\JPEG', 2 => 'OC\Preview\GIF', 3 => 'OC\Preview\HEIC', 4 => 'OC\Preview\BMP', 5 => 'OC\Preview\XBitmap', 6 => 'OC\Preview\MP3', 7 => 'OC\Preview\TXT', 8 => 'OC\Preview\MarkDown', 9 => 'OC\Preview\Movie' ), 五、更改访问国内市场 还是在config配置文件中增加: 'updater.release.channel' => 'stable', 'appstoreenabled' => true, 'appstoreurl' => 'Nextcloud', 优化 优化这块因服务器而异,这里把一些最基础的发出来供参考: 优化一:解除nextcloud上传文件块大小限制 进入nextcloud文件目录 cd /var/www/nextcloud 输入以下代码: -u www-data php occ config:app:set files max_chunk_size --value 0 显示以下内容表示成功: Config value max_chunk_size for app files set to 0 优化二:数据库优化 编辑20-mysqli.ini文件: vim /etc/php/8.1/fpm/conf.d/20-mysqli.ini 最底下加入以下内容: [mysql] mysql.allow_local_infile=On mysql.allow_persistent=On mysql.cache_size=2000 mysql.max_persistent=-1 mysql.max_links=-1 mysql.default_port= mysql.default_socket=/run/mysqld/mysqld.sock #这个根据我们之前的配置 mysql.default_host= mysql.default_user= mysql.default_password= mysql.connect_timeout=60 mysql.trace_mode=Off 编辑mariadb.cnf文件: vim /etc/mysql/mariadb.cnf 加入以下内容: [server] skip_name_resolve = 1 innodb_buffer_pool_size = 128M innodb_buffer_pool_instances = 1 innodb_flush_log_at_trx_commit = 2 innodb_log_buffer_size = 32M innodb_max_dirty_pages_pct = 90 query_cache_type = 1 query_cache_limit = 2M query_cache_min_res_unit = 2k query_cache_size = 64M tmp_table_size= 64M max_heap_table_size= 64M slow_query_log = 1 slow_query_log_file = /var/log/mysql/slow.log long_query_time = 1 [mysqld] character_set_server = utf8mb4 collation_server = utf8mb4_general_ci transaction_isolation = READ-COMMITTED binlog_format = ROW innodb_large_prefix=on innodb_file_format=barracuda innodb_file_per_table=1 优化三:为nextcloud启用Cron代替ajax,提高性能 方法一 添加crontab定时任务 crontab -u www-data -e 添加一行,并保存: */5 * * * * php -f /var/www/nextcloud/cron.php //每5分钟运行一次 检查效果: crontab -u www-data -l 输出: [snip]*/5 * * * * php -f /var/www/nextcloud/cron.php 方法二 在 /etc/systemd/system目录新建 nextcloudcron.service 和 nextcloudcron.timer 两个文件: vim /etc/systemd/system/nextcloudcron.service 输入以下内容: [Unit] Description=Nextcloud cron.php job [Service] User=www-data #运行用户,一般为www-data ExecStart=/usr/bin/php -f /var/www/nextcloud/cron.php #你的cron.php路径,前面那个路径一般不用改,除非你是用宝塔面板之类的 [Install] WantedBy=basic.target 保存。 vim /etc/systemd/system/nextcloudcron.timer 输入以下内容: [Unit] Description=Run Nextcloud cron.php every 5 minutes [Timer] OnBootSec=5min OnUnitActiveSec=5min Unit=nextcloudcron.service [Install] WantedBy=timers.target 这里不用修改,就是个定时。 最后,执行下面的命令就可以了: systemctl enable --now nextcloudcron.timer 最后点到基本设置里,选择cron的方式,等5分钟看看情况就行了。 小Tips:cron运行出错解决 出错类型为在nextcloud设置-概览中看到:系统计划任务超过X小时未运行,请查看…. 日志错误:OCHintException: 0: Memcache OCMemcacheAPCu not available for local cache 解决方法: 修改/etc/php/8.1/mods-available/apcu.ini vim /etc/php/8.1/mods-available/apcu.ini 添加一行: apc.enable_cli=1 保存退出,等5分钟再看看。 © 版权声明1.本站部分内容收集于互联网公开页面!若内容侵犯到您的权益,请发送邮件至:ai@ouluai.com,我们将第一时间处理! 2.资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。 3.所有资源仅限于参考和学习,版权归原作者所有,更多请阅读网站声明。 THE END网络技术# NextCloud# NextCloud优化 喜欢就支持一下吧点赞5赞赏 分享QQ空间微博QQ好友海报分享复制链接收藏