目录
终极改造目标
过程记录
参考
为了将一套在线安装的系统,在不了解其架构、各模块细节的基础上,进行扒弄清楚,作以下记录。
终极改造目标
最终的目标,就是只通过CreMedia8_20230207.tar.gz解压 install 就把业务包安装了;
通过另外的一个安装包,一键离线安装了nginx mysql php ;
省去了boost的安装(相关用到的so拷过去即可);省去了nginx等固定中间件的在线安装(耗时且在局域网环境无法安装)
应该是先装nginx mysql php ; 再 CreMedia8_20230207 install.sh ; 然后数据库的业务安装
过程记录
(1) 安装完成后诸多模块启动不来。甚至连 scp ,ssh 都不好用了。
scp: /usr/lib/libcrypto.so.10: no version information available (required by /usr/lib64/libldap-2.4.so.2)
scp: /usr/lib/libcrypto.so.10: no version information available (required by /usr/lib64/libldap-2.4.so.2)
scp: /usr/lib/libssl.so.10: no version information available (required by /usr/lib64/libldap-2.4.so.2)
scp: relocation error: /usr/lib64/libldap-2.4.so.2: symbol EC_KEY_free, version OPENSSL_1.0.1_EC not defined in file libcrypto.so.10 with link time reference
解决方法:
可以敲一敲 ssh 或者scp,或者看看ldd ssh等方式 ,就知道依赖的库(so)出问题了。而原因,就在于/home/dualven/create8/CreMedia8里install.sh ,按以前的库编译出来的做出的脚本,把centos7.9这个一半的库破坏了。
改成:
(2) boost 不想安装了,直接拷这部分的库,否则CUI用不了
修改了 boost相关的库,这样设备就可以接入了 CUI可用
scp /usr/local/lib/libboost_* 10.60.100.197:/usr/local/lib/
这个忘记是哪个用的了
/usr/lib/libCR_MiniImage.so 10.60.100.200://usr/lib/libCR_MiniImage.so
(3) 解除了在线安装mysql , nginx, php后,需要以docker来安装他们-----mysql
mysql:5.5.46(docker) 安装时的报错记录_dualven_in_csdn的博客-CSDN博客
(4) 解除了在线安装mysql , nginx, php后,需要以docker来安装他们-----php
这个扩展安装的是比较麻烦的,排查极其复杂
soap:
docker-php-ext-install soap 报错;参考下面链接 apt-get install libxml2 libxml2-dev后,再
docker-php-ext-install soap即可。通过 php -m 或者 页面上的phpinfo.php上确认。
参考 这个文章装(292条消息) configure: error: xml2-config not found. Please check your libxml2 installation_superJamison的博客-CSDN博客_configure: error: xml2-config not found. please ch
mcrypt: 这个不装在执行webservice时的一个mcrypt的方法不能用
docker-php-ext-install mcrypt
docker-php-ext-install zip
docker-php-ext-install xmlrpc
(5) 解除了在线安装mysql , nginx, php后,需要以docker来安装他们-----nginx
在webservice 没有响应的时候,/home/wwwroot/GSoapWebServiceSDK/test/里可以进行测试,当通过 netstat -anp|grep 172.36.0.4 发现有wait php-fpm里的webservice时,曾经怀疑nginx的2580->172.36.0.4:XXXX不能通。(实际是可以通的,还是因为mcrypt 让它直接 mcrypt_module_open 这个方法不能用,通过浏览器的 “网络”-》返回参数看到了提示)
nginx与php通的两种方式:坑爹的是通过文件通讯的时候,需要手动chmod 777 home/wwwroot/php-fpm.sock; 不然nginx无法访问 。
docker cp www.conf create-php:/usr/local/etc/php-fpm.d/www.conf
docker cp zz-docker.conf create-php:/usr/local/etc/php-fpm.d/zz-docker.conf
www.conf:
listen = 127.0.0.1:9000
;listen = /home/wwwroot/php-fpm.sock
zz-docker.conf
[www]
listen = 9000
#listen = /home/wwwroot/php-fpm.sock
/docker/nginx/conf/create.conf:
fastcgi_pass 172.36.0.4:9000;
#fastcgi_pass unix:/home/wwwroot/php-fpm.sock;
(6) 调用webservice时
/home/wwwroot/GSoapWebServiceSDK/utility/global.fun.php
<?php
ini_set('date.timezone','Asia/Shanghai'); 加这一行防止出现date相关的warning,让soap无法执行
(7) 手动修改/nmi/dbserver/dbsoruc.ini ->3999 可以使wizard修改成功,可能上一步的数据库修改作不能跨越库。
参考
调试的时候让http也能调各种音视频资源
TypeError: Cannot read property 'getUserMedia' of undefined - 养猪至富 - 博客园 (cnblogs.com)
Nginx与PHP交互过程 + Nginx与PHP通信的两种方式_筑梦悠然的博客-CSDN博客_nginx如何通信到php