可道云kodex官方最佳配置优化方案

环境搭建及推荐
不熟悉环境部署: 推荐使用宝塔面板,推荐运行环境: php7.3 + mysql5.6 + redis;

一、上传下载速度优化

首先明确可道云没有对上传下载做任何限制,速度快慢和网络环境有关。可道云是基于http上传,所以和其他http上传速度基本一致;可以对比其他web系统或网站说附件上传速度。同其他例如webdav、FTP、QQ传输等软件底层协议不一样;传输速度也会不一样。

传输速度受三方面影响:

本机客户端:网卡、连接方式(有线、无线)、本机磁盘IO负载情况;
网络环境:网络带宽、wifi还是网线等造成的影响;网络环境复杂、或使用人多时路由器或交换机处理速度也都会是瓶颈之一。
服务器:受服务器负载、磁盘IO、服务器网络带宽等影响。同时受并发影响;比如20M上行带宽,10个人同时在上传或下载,那么每个人平均就是2M/s
可道云为了能在更多的服务器环境下良好运行,各方面配置是以兼容性为主,可能并不是最优配置。性能调优可以参考配置如下。

主要是由于服务器限制了上传大小,或超时时间太短引起; 推荐如下配置: 推荐环境: centos7 + nginx + mysql5.6 + php7.3 + redis;

1. 修改nginx的配置文件

client_max_body_size 500M;        
client_header_timeout 3600s;
client_body_timeout 3600s;
fastcgi_connect_timeout 3600s;
fastcgi_send_timeout 3600s;
fastcgi_read_timeout 3600s;
# 其他webserver相应修改类似限制;如apache需要修改LimitRequestBody
# 修改完成重启nginx生效: service nginx reload

2. 修改php配置文件php.ini;

post_max_size = 500M;
upload_max_filesize = 500M;
memory_limit = 500M;
max_execution_time = 3600;
max_input_time = 3600;
# php中设置set_time_limit无效(safe_mode=on时php代码中修改超时无效) php.ini
safe_mode = off
# php-fpm.conf 配置优化(超时时间; 4G内存推荐如下子进程配置)
request_terminate_timeout 3600
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 10
pm.max_spare_servers = 30
pm.max_requests = 500

注意:
如果某一类例如exe文件不能上传,其他文件可上传, 一般是服务器(杀毒软件或防火墙)做了拦截误判,取消相应软件上拦截即可;
超时时间设置; 如果经常有超大文件上传,php和nginx超时时间需要设置大一些;
分片上传: 一个大文件切分成多个分片上传,所有片上传完成后服务器自动合并;一个分片上传失败只需要重传该分片即可;
分片大小设置: 管理员登陆后台–基础设置–上传下载; 调整上传分片大小; 必须小于php.ini和nginx的限制;
修改了php或nginx配置文件后,需要重启php-fpm和nginx;
上传文件限制及超时时间可以根据自己需求设置; 超时时间需大于文件上传下载的时间,否则超时会导致操作失败;

3.修改可道云配置

设置方法:管理员登陆可道云进入后台 系统设置—基础设置—上传/下载

3.1.设置分片大小: 推荐5M

大文件上传时切分成片进行并发上传,从而实现加速和断点续传,
推荐5M; 此值必须小于下述配置;否则会引起上传异常(上传失败,进度回退)
php.ini: post_max_size, upload_max_filesize ==> 5M
nginx: client_max_body_size ==> 5M;

3.2.上传并发数量; 推荐15个并发;

4.nginx + php-fpm上传优化

在nginx.conf中添加如下代码

#使用共享内存做临时存贮提高上传速度,共享内存需要大一些,否则上传大文件内存不足
client_body_in_file_only clean;
client_body_temp_path /dev/shm 1 2;
fastcgi_param  REQUEST_BODY_FILE  $request_body_file;

二、系统安全优化

1.开启防跨站

系统管理员可以访问服务器任意资源,如果不想这样,可以开启php防跨站,指定某个站点open_basedir,只能访问某个目录。可以有如下几种方式设置:

# 1)php.ini 中配置
open_basedir = /home/wwwroot/:/tmp/
# 2)nginx中配置 fastcgi.conf
fastcgi_param PHP_VALUE "open_basedir=$document_root:/tmp/";
# 3)apache 的 httpd.conf 中Directory配置
"php_admin_value open_basedir none" #关闭 
php_admin_value open_basedir "/home/wwwroot/:/tmp/:/var/tmp/:/proc/"
# 4).user.ini 站点根目录
open_basedir = /home/wwwroot/:/tmp/

2.开启登陆验证码

设置方法:管理员登陆可道云:右上角菜单——系统设置——安全设置——开启登陆验证码

3. 其他服务器运维优化

建议全站使用https,避免传输中数据被窃听。
设置服务器防火墙,关闭无关端口
关注安全相关新闻,保持服务器相关软件为最新版本。

三、其他优化

1.静态资源配置到CDN
对于访问量比较大的站点,可以将可道云的静态资源迁移到CDN。步骤如下:

先将kod下面的static上传到相应cdn,获得对应访问static目录的域名,例如: http://cdn.test.com/static/
配置cdn地址,在/data/config/setting_user.php文件中追加以下内容:

 $GLOBALS['config']['settings']['staticPath'] = "http://cdn.test.com/static/";
© 版权声明
THE END
如果喜欢,可以【点赞】【分享】【收藏】
点赞8赞赏 分享
评论 抢沙发
头像
非注册用户需审核通过后才能查看。友好交流,勿发纯表情,勿恶意灌水!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容