本文环境:centos7,nginx,php7.3
1.安装php扩展
fileinfo
opcache
redis
imagemagick
exif
2.修改php.ini文件
软件商店,php7.3设置 进入–>配置文件
大概1898行
换成如下
[Zend Opcache]
zend_extension=/www/server/php/73/lib/php/extensions/no-debug-non-zts-20180731/opcache.so
opcache.enable=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
3.修改php-fpm.conf文件
/www/server/php/73/etc/php-fpm.conf
最下面添加
env[PATH] = /usr/local/bin:/usr/bin:/bin:/usr/local/php/bin
4.修改网站配置文件
点击–>网站–>设置–>配置文件
rewrite /.well-known/carddav /remote.php/dav permanent;
rewrite /.well-known/caldav /remote.php/dav permanent;
add_header Strict-Transport-Security max-age=15768000;
5.修改config.php文件
/www/wwwroot/你的网站目录/config/config.php
添加缓存配置
'memcache.local' => 'OCMemcacheRedis',
'memcache.locking' => 'OCMemcacheRedis',
'redis' => array( 'host' => 'localhost', 'port' => 6379, ),
6.修改php和nginx的上传限制
内存限制
上传文件大小限制
超时等
7.htpps配置
可以宝塔后台绑定宝塔实名帐号,在网站配置面板申请.
或者阿里云申请,再进行配置.
开启http2
配置好https后,在网站配置中修改配置文件
server
{
listen 80;
listen 443 ssl http2;
8.文件缩略图显示
8.1视频缩略图
安装ffmpeg扩展
wget http://download.bt.cn/install/ext/ffmpeg.sh && sh ffmpeg.sh
脚本只适用Centos6/Centos7 64位系统
查看安装情况
ffmpeg -version
在Php禁用函数中取消掉exec、system等函数
错误解决方法
ffmpeg: error while loading shared libraries: libavdevice.so.56:
cannot open shared object file: No such file or directory
先 find / -name libavdevice.so.56 得到该文件的目录地址,
然后 vim /etc/ld.so.conf 将上述目录添加到最后一行并保存退出;
加入:/usr/local/ffmpeg/lib //请修改成自己的实际目录
执行
sudo ldconfig
修改配置文件
添加configconfig.php
'enabledPreviewProviders' => array(
'OCPreviewPNG',
'OCPreviewJPEG',
'OCPreviewGIF',
'OCPreviewHEIC',
'OCPreviewBMP',
'OCPreviewXBitmap',
'OCPreviewMP3',
'OCPreviewTXT',
'OCPreviewMarkDown',
'OCPreviewMovie'
),
9.所使用的数据库为MySQL但没有对4字节字符的支持。为正确处理文件名或评论中使用的4字节字符(比如emoji表情),建议开启MySQL的4字节字符支持。详细信息请阅读相关文档页面。
在文件/www/wwwroot/你的网站目录/config/config.php中添加
'mysql.utf8mb4' => true,
10. 一些文件没有通过完整性检查.
一些文件没有通过完整性检查。了解如何解决该问题请查看我们的 文档。(无效文件列表… / 重新扫描…)
请把网站根目录下所有不是安装压缩包内的文件删除.
例如:安装的压缩包,https证书的验证文件等
然后点击重新扫描即可
11.文件有暴露的危险,禁止浏览器列出目录即可
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
deny all;
}
location ~ ^/(?:.|autotest|occ|issue|indie|db_|console) {
deny all;
}
关于遇到的问题总结
1.APP视频上传一直不成功
原因:开始未配置https,APP登录后走的不是安全协议.
配置好htpps后,APP再重新登录一次就可以上传视频了.
2.挂载外部存储
提示: “smbclient” 未安装。无法挂载 "SMB / CIFS", "SMB / CIFS 使用 OC 登录信息"
需要安装smbclient
yum install libsmbclient libsmbclient-devel -y
宝塔中php的popen函数默认被禁用,删除掉.
pecl install smbclient
遇到警告:
WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel-update pecl.php.net" to update
pecl channel-update pecl.php.net
pecl安装smbclient扩展完成后
php.ini中添加这一行
extension="smbclient.so"
最后重启php