安装 (docker compose)
version: '2'
services:
db:
image: mariadb:10.5
restart: always
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
networks:
- nextcloud_netbridge
volumes:
- /nextcloud/db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=chen
- MYSQL_PASSWORD=nextcloud
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
app:
image: nextcloud
restart: always
ports:
- 11000:80
networks:
- nextcloud_netbridge
links:
- db
volumes:
- /data/nextcloud/app:/var/www/html
environment:
- MYSQL_PASSWORD=nextcloud
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=db
redis:
image: redis
restart: always
container_name: redis
ports:
- 6379:6379
networks:
- nextcloud_netbridge
volumes:
- /data/redis/redis.conf:/etc/redis/redis.conf
- /data/redis/data:/data
command: redis-server /etc/redis/redis.conf --appendonly yes
networks:
nextcloud_netbridge:
driver: bridge
自己整合的 docker compose 容器直接使用内部网络连接(docker0)网络更加稳定,加了 mariadb 和 redis 方便后续的优化
直接 docker compose up -d 等待镜像拉取启动即可
redis 详细安装看我的这篇博客
http://t.csdnimg.cn/j1UOB
优化
使用 redis 作为缓存
'redis' => array(
'host' => 'redis',
'port' => 6379,
),
这里我们 docker 使用了自定义网络来连接,可以直接使用 redis 这个 host 来连接到我们的 redis 容器
使用 redis 代替文件锁
'memcache.locking' => 'OCMemcacheRedis',
'filelocking.enabled' => true,
工具
重建文件索引
files:scan
格式:
files:scan [-p|--path="..."] [-q|--quiet] [-v|vv|vvv --verbose] [--all]
[user_id1] ... [user_idN]
选项:
--path #限制扫描路径
--all #扫描所有已知用户的所有文件
--quiet #不输出统计信息
--verbose #在扫描过程中显示正在处理的文件和目录
--unscanned #仅扫描以前未扫描过的文件
sudo -u www-data php occ files:scan --all #扫描所有用户的所有文件
Comments NOTHING