赞
踩
找到www.conf文件,ubuntu位于 /etc/php/8.2/fpm/pool.d
vim /etc/php/8.2/fpm/pool.d/www.conf
如果使用
env | grep $PATH
能打印出环境变量只需要**取消注释
clear_env = no
**即可否则自己手动先配置环境变量吧(略)
任何对php做出的修改都使用以下命令重启
首先
ps aux|grep php-fpm
使用kill命令
kill -USR2 33166
如果您想增加最大上传大小,您还必须修改 您的 php-fpm
配置并增加 upload_max_filesize
和 post_max_size
值。并且修改最大内存大小memory_limit
.您需要重新启动 php-fpm
和您的 HTTP 服务器以便应用这些更改。
参考值可根据 pmcalculator 计算得出
vim /etc/php/8.2/fpm/php.ini
; https://php.net/upload-max-filesize
upload_max_filesize = 20G
; Maximum number of files that can be uploaded via a single request
max_file_uploads = 5
; https://php.net/memory-limit
memory_limit = 7168M
max_input_time = -1
max_execute_time = 3600
修改nginx的nextcloud.conf 配置中的最大上传大小即可
vim /etc/nginx/conf.d/nextcloud.conf
# set max upload size
client_max_body_size 0;
如果您在日志文件中看到无意义的消息,例如 ,请将此部分添加到 你的 nginx 配置来抑制它们:client denied by server configuration: /var/www/data/htaccesstest.txt
location = /data/htaccesstest.txt {
allow all;
log_not_found off;
access_log off;
}
vim /etc/nginx/conf.d/nextcloud.conf
在HTTPS配置块中增添以下内容
add_header Strict-Transport-Security max-age=15552000;
add_header Strict-Transport-Security 'max-age=15552000' always;
add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "noindex, nofollow" always;
add_header X-XSS-Protection "1; mode=block" always;
重载nginx
systemctl reload nginx
vim /var/www/nextcloud/config/config.php
添加如下语句
'default_phone_region' => 'CN',
'default_language' => 'zh_CN',
'default_locale' => 'zh',
vim /var/www/nextcloud/config/config.php
添加该域名即可
#受信任的域名
'trusted_domains' =>
array (
0 => '10.0.0.2',
1 => '10.1.1.20',
2 => 'nc6.example.com',
3 => 'hnc6.example.com',
4 => 'nc4.example.com',
),
编辑nginx配置文件,修改well-know相关
location ^~ /.well-known {
location = /.well-known/webfinger { return 301 $scheme://$host:11224/index.php/.well-known/webfinger; }
location = /.well-known/nodeinfo {return 301 $scheme://$host:11224/index.php/.well-known/nodeinfo;}
location = /.well-known/carddav { return 301 $scheme://$host:11224/remote.php/dav/; }
location = /.well-known/caldav { return 301 $scheme://$host:11224/remote.php/dav/; }
try_files $uri $uri/ =404;
}
编辑 vim /var/www/nextcloud/config/config.php
主域名一定使用本机的,原因在于安装时使用了代理服务器域名
'overwrite.cli.url' => 'https://10.0.0.2:11224',
40069:当端口不是80或者443并且在安装时使用代理的域名时会出现此问题,修改40069为对应的外部映射端口
或者使用
$server_port
来代替
缺啥补啥,或者全给他下了
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
可在这个网站计算: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 服务即可。
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
可以直接用以下步骤即可
apt install libmagickcore-6.q16-6-extra
重启nginx
systemctl restart nginx
#在config.php中增加以下配置
vim /var/www/nextcloud/config/config.php
'appstoreenabled' => true,
'appstoreurl' => 'https://www.orcy.net/ncapps/v2/',
在应用商店下载
Preview Generator
插件并将其启用(通过正确配置可以预生成预览文件,减少系统负载)
首先生成所有预览(必须下载Preview Generator),如若文件很多,将会耗费较长时间
cd /var/www/nextcloud
sudo -u www-data php occ Preview:generate-all -vvv
其次将Preview:pre-generate添加到cron作业中
cd /var/www/nextcloud
sudo -u www-data php occ preview:pre-generate
构建imaginary服务
手动构建
创建并编辑docker-compose.yml
version: '3.1'
services:
aio-imaginary:
image: docker.io/nextcloud/aio-imaginary:latest
restart: always
environment:
- PORT=9000
ports:
- "172.18.0.10:9000:9000"
command:
- -concurrency 50
- -enable-url-source
- -log-level debug
之后在当前文件夹下执行docker compose up -d
即可
宝塔1panel构建
apt install libmagickcore-6.q16-6-extra
apt install ffmpeg
vim /var/www/nextcloud/config/config.php
'enable_previews' => true, 'enabledPreviewProviders' => array ( 0 => 'OC\\Preview\\TXT', 1 => 'OC\\Preview\\MarkDown', 2 => 'OC\\Preview\\OpenDocument', 3 => 'OC\\Preview\\PDF', 4 => 'OC\\Preview\\MSOffice2003', 5 => 'OC\\Preview\\MSOfficeDoc', 6 => 'OC\\Preview\\PDF', 7 => 'OC\\Preview\\Image', 8 => 'OC\\Preview\\Photoshop', 9 => 'OC\\Preview\\TIFF', 10 => 'OC\\Preview\\SVG', 11 => 'OC\\Preview\\Font', 12 => 'OC\\Preview\\MP3', 13 => 'OC\\Preview\\Movie', 14 => 'OC\\Preview\\MKV', 15 => 'OC\\Preview\\MP4', 16 => 'OC\\Preview\\AVI', 17 => 'OC\Preview\EMF', 18 => 'OC\\Preview\\Krita', 19 => 'OC\\Preview\\Imaginary', ), 'preview_imaginary_url' => 'http://imaginary:9000', #缩略图为webp格式 'preview_format' => 'webp',
预览图像的默认 WebP 质量设置为“80”。将其更改为30,加快加载速度:
cd /var/www/nextcloud
sudo -u www-data php occ config:app:set preview webp_quality --value="30"
之后可以很明显的感觉到加载图片速度变快了,也可以预览视频图片
vim /etc/systemd/system/nextcloudcron.service
[Unit]
Description=Nextcloud cron.php job
[Service]
User=www-data
ExecStart=/usr/bin/php -f /var/www/nextcloud/cron.php
[Install]
WantedBy=basic.target
vim /etc/systemd/system/nextcloudcron.timer
[Unit]
Description=Run Nextcloud cron.php every 7 minutes
[Timer]
OnBootSec=7min
OnUnitActiveSec=7min
Unit=nextcloudcron.service
[Install]
WantedBy=timers.target
systemctl enable --now nextcloudcron.timer
具体优化性能以硬件标准为准
vim /etc/php/8.2/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
重启mysql与nginx
更改上传块大小
cd /var/www/nextcloud
sudo -u www-data php occ config:app:set files max_chunk_size --value 0
如果遇到设置为0不能上传的问题,请设置为一个特别大的值即可
根本原因:在登陆时,使用代理服务输入了错误的密码,触发了暴力保护,最简单的解决方法是注销重新用正确账户密码登录一次即可。或者使用如下的方式,将该代理服务ip加入暴力破解白名单即可。
官网解释
暴力保护 Nextcloud 具有针对暴力破解尝试的内置保护。这可以保护您的系统免受攻击者尝试,例如尝试许多不同的密码。 Nextcloud 上默认启用暴力保护。 怎么运行的 暴力保护最容易在登录页面上看到。如果您尝试使用无效的用户名和/或密码首次登录,您将不会注意到任何内容。但如果您这样做几次,您就会开始注意到每次登录验证所需的时间都更长。这就是强力保护的作用。 最大延迟为 25 秒。 成功登录后,尝试次数将被清除。一旦用户通过正确的身份验证,他们将不再受到延迟的影响。 暴力保护和负载均衡器/反向代理 如果您使用反向代理或负载均衡器,请务必确保其设置正确。特别是config.php 中的trusted_proxies和forwarded_for_headers 变量需要正确设置。否则,Nextcloud 实际上可能会开始限制来自反向代理或负载均衡器的所有流量。有关详细信息,请参阅反向代理。 从暴力保护中排除 IP 地址 可以将 IP 地址排除在暴力保护之外。 启用暴力设置应用程序 以管理员身份登录并转到管理设置 -> 安全 警告 请注意,任何排除的 IP 地址都可以执行身份验证尝试,而不会受到任何限制。最好排除尽可能少的 IP 地址,甚至根本不排除。
启用 Brute-force settings 应用程序
在 安全 选项卡中,添加暴力破解ip白名单即可
<?php $CONFIG = array ( 'instanceid' => 'ocpvn710jx5a', 'passwordsalt' => '2MOt/7l5TVhHAuken/qn3KIpVEk8jp', 'secret' => 'mGG1LUm+h9sItuZKSY9oSJ16xx28otdRvTodoxjEVFhenVaz', #受信任的域名 'trusted_domains' => array ( 0 => '10.0.0.2', 1 => '10.1.1.20', 2 => 'nc6.example.com', 3 => 'hnc6.example.com', 4 => 'nc4.example.com', ), 'datadirectory' => '/var/www/nextcloud/data', 'version' => '27.1.4.1', #主域名 'overwrite.cli.url' => 'https://10.0.0.2', #数据库信息 'dbtype' => 'mysql', 'dbname' => 'nextcloud', 'dbhost' => 'localhost', 'dbport' => '', 'dbtableprefix' => 'oc_', 'mysql.utf8mb4' => true, 'dbuser' => 'glxaa', 'dbpassword' => '123456', 'installed' => true, 'default_phone_region' => 'CN', 'default_language' => 'zh_CN', 'default_locale' => 'zh', 'memcache.local' => '\\OC\\Memcache\\APCu', 'memcache.distributed' => '\\OC\\Memcache\\Redis', 'memcache.locking' => '\\OC\\Memcache\\Redis', 'redis' => array ( 'host' => 'localhost', 'port' => 6379, ), #配置预加载,缩略图 'enable_previews' => true, 'enabledPreviewProviders' => array ( 0 => 'OC\\Preview\\TXT', 1 => 'OC\\Preview\\MarkDown', 2 => 'OC\\Preview\\OpenDocument', 3 => 'OC\\Preview\\PDF', 4 => 'OC\\Preview\\MSOffice2003', 5 => 'OC\\Preview\\MSOfficeDoc', 6 => 'OC\\Preview\\PDF', 7 => 'OC\\Preview\\Image', 8 => 'OC\\Preview\\Photoshop', 9 => 'OC\\Preview\\TIFF', 10 => 'OC\\Preview\\SVG', 11 => 'OC\\Preview\\Font', 12 => 'OC\\Preview\\MP3', 13 => 'OC\\Preview\\Movie', 14 => 'OC\\Preview\\MKV', 15 => 'OC\\Preview\\MP4', 16 => 'OC\\Preview\\AVI', 17 => 'OC\\Preview\\EMF', ),
#配置应用商店国内代理
'appstoreenabled' => true,
'appstoreurl' => 'https://www.orcy.net/ncapps/v2/',
'twofactor_enforced' => 'false',
'twofactor_enforced_groups' =>
array (
),
'twofactor_enforced_excluded_groups' =>
array (
),
);
一:nextcloud27+nginx +ssl+各种优化+双栈的傻瓜式安装教程
三:nextcloud27+nginx 使用家庭公网ipv6+云服务器公网ipv4配置双栈并将特定的请
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。