或者使用
$server_port
来代替
缺少PHP模块
缺啥补啥,或者全给他下了
sudo apt install -y php8.2-common php8.2-curl php8.2-xml php8.2-mbstring php8.2-gd php8.2-sqlite3 php8.2-mysql php8.2-bz2 php8.2-intl php8.2-ldap php8.2-imap php8.2-bcmath php8.2-gmp php8.2-apcu php8.2-imagick
优化内存缓存配置
官网推荐同时使用本地缓存和分布式缓存。推荐的缓存是APCu和Redis
apt install -y php8.2-apcu redis-server php8.2-redis
确认Redis是否正在运行:
ps ax | grep redis
netstat -tlnp | grep redis
Redis开始运行后,启用相应php模块:
你也可以手动在php.ini中添加以下内容,效果相同:
vim /etc/php/8.2/fpm/php.ini
; Redis php extension
extension=redis.so
开启apcu(php有php-fpm和php-cli两种运行方式,都要开启apcu,添加apc.enable_cli=1
)
vim /etc/php/8.2/fpm/conf.d/20-apcu.ini
apc.enable_cli=1
vim /etc/php/8.2/cli/php.ini
apc.enable_cli=1
按照上述的步骤重启PHP服务
开启apcu和redis
vim /var/www/nextcloud/config/config.php
添加如下内容
'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
'host' => 'localhost',
'port' => 6379],
添加
'memcache.distributed' => '\OC\Memcache\Redis',
后会报错,不知为何,若报错删除即可
如果redis有密码,加上该参数即可
'password' => '******'
重载nginx
systemctl reload nginx
优化 php-fpm 性能,提高页面加载效率
可在这个网站计算:https://spot13.com/pmcalculator/
优化www.conf配置文件,增加更多的进程来处理页面数据。
vim /etc/php/8.2/fpm/pool.d/www.conf
需要修改和添加的字段有:
# pm.max\_children = 5
pm.max_children = 79
# pm.start\_servers = 2
pm.start_servers = 19
#pm.min\_spare\_servers = 1
pm.min_spare_servers = 19
# pm.max\_spare\_servers = 3
pm.max_spare_servers = 59
数值越大,进程越多,平均每个进程消耗 32M-96M 内存,按需设置
设置成功后重启 nextcloud 服务即可。
504 Gateway Time-out
vim /etc/nginx/conf.d/nextcloud.conf
在 nginx 配置文件钟添加以下语句即可解决
fastcgi_read_timeout 86400;
重启nginx或者重新加载配置文件
nginx -s reload
存在错误日志
日志路径位于nextcloud/data/ 目录下
vim /var/www/nextcloud/data/nextcloud.log