当前位置: 首页 > article >正文

iVX开发中整理的常见问题与回答(三)

如何使用第三方软件连接私有部署后的mysql数据库进行增删查改内容
1服务器登录MySQL数据库
mysql -u root -p password
use mysql

2登录成功后,查询MySQL数据库是否允许远程ip访问;
select host, user from user;

3添加远程访问权限;
//查看user表的root用户Host字段是localhost,说明root用户只能本地登录,现在把他改成远程登录
update user set host='%' where user='root';

// 123456 是连接是的密码,下面这段可以不输入,直接去下一步刷新权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'tande' WITH GRANT OPTION;

// 刷新MySQL的系统权限相关表,否则会出现拒绝访问
FLUSH PRIVILEGES;

4.打开navicat客户端,连接MySQL,主机填localhost,填写数据库的账号和密码
(需要同时填好ssh:里面填主机ip和登录账号密码)
 
在无法修改数据库权限时,如何通过ssh的账号密码,以及数据库的账号密码通过navicat连接到数据库呢
在navicat中新建连接并填写主机为127.0.0.1,填写好数据库的账号密码后,切换tab到ssh,勾上"使用ssh隧道",填写ssh的账号密码后,即可通过navicat连接成功
windows使用mysql workbench查看私有部署后mysql的内容时,提示count not acquire management
检查下《服务》中的MySQL80或者其它自己命名的MySQL服务是否开启
(右键计算机 管理 服务和应用程序)

如不存在mysql服务则需要使用 管理员权限运行cmd命令:
cd C:\Program Files\MySQL\MySQL Server 8.0\bin
mysqld --install
mysqld --initialize

执行完毕后右键计算机 管理 服务和应用程序,此时能找到mysql进程,右键 "启动"必须启动才有效
在私有部署的过程中,忘记了windows版本中mysql的密码,如何重置登录的密码
1.使用cmd 管理员权限打开后执行命令net stop mysql
2.桌面新建mysql-init.txt

内容填上
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

3.回到cmd命令行执行进入到bin文件夹
cd C:\Program Files\MySQL\MySQL Server 8.0\bin\

输入命令后执行(注意路径要双斜杠)
mysqld --init-file=C:\\Users\\ih5\\Desktop\\mysql-init.txt --console
此时即可重置密码成功,再通过启动mysql
net start mysql
执行登录
mysql -u root -p
密码是之前填写在mysql-init.txt中的MyNewPass,使用MyNewPass即可登录成功
私有部署前安装mysql失败,如何清理掉旧的mysql版本
安装前,我们可以检测系统是否自带安装 MySQL:
rpm -qa | grep mysql
如果你系统有安装,那可以选择进行卸载:
rpm -e --nodeps mysql  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
如果上述命令没反应,可使用下方命令(需修改mysql版本)
rpm -ev MySQL-client-5.5.25a-1.rhel5
最后再使用查到所有残留路径
find / -name mysql
在使用rm -rf 加上路径的方式删除残留路径
rm -rf /var/lib/mysql
私有部署前,mysql安装成功,如何通过临时登录密码登录
grep 'temporary password' /var/log/mysqld.log

初始进入到mysql,填写上面获取到的密码
mysql -u root -p
如果是8.0之后的mysql版本 ,需要先
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
私有部署前,mysql安装后,如何修改root密码
登录mysql
mysql -u root -p
在通过命令
mysqladmin -u root password "yourPassword";
来修改
私有部署不想使用mysql,因为mysql被甲骨文公司收购后有被必源的潜在风险,如何替换为mariadb
相关命令如下
yum install mariadb-server mariadb
mariadb数据库的相关命令是:
systemctl start mariadb #启动MariaDB
systemctl stop mariadb #停止MariaDB
systemctl restart mariadb #重启MariaDB
systemctl enable mariadb #设置开机启动
私有部署后,如何修改数据库里面的内容
方法1.可以通过管理员的页面,在案例中去更新修改数据库的内容
方法2.可通过navicat连接到数据库后,在可视化界面中修改,进入到h5work后,并进入到对应nid的数据后,修改内容后,点击左下角的√即可更新成功
私有部署后,如何导出数据库中的内容
方法1.可使用ivx中的"excel数据处理"组件的动作"导出数组至Excel文件"
方法2.使用navicat连接后,左上角"文件"-"导出"-勾选好对应的数据表后,导出为xlsx
私有部署后,不使用本机的mysql,使用阿里云的rds,需要注意的地方
使用阿里云rds,需要登录到阿里云的rds的管理后台左侧"数据库管理",手动创建"h5work"数据库,并且在"账号管理"中创建账号,并绑定手动创建的h5work数据库
运行ivxbase基座的时候,提示main.go:146: Error 1045: Access denied for user 'root'@'localhost' (using password: YES)
需要检查config.json里面的mysql的登录密码是否填写错误,可在linux中输入命令登录来确认
mysql -u username -p,将"username"替换为要使用的用户名。如果密码正确,则系统将登录到MySQL服务器并显示MySQL命令行提示符。如果密码不正确,则系统将返回
类似的信息ERROR 1045 (28000): Access denied for user 'username'@'localhost' (using password: YES)
 
私有部署前,如何安装mysql客户端,进行查看是否能连接上远程的mysql客户端
1.sudo yum update
2.sudo yum install mysql
3使用mysql -h hostname -u username -p命令连接到MySQL服务器
其中,hostname是MySQL服务器的主机名或IP地址,username是MySQL的用户名。执行此命令后,系统将提示您输入密码以连接到MySQL服务器。
私有部署的时候,mysql异常,如何查看mysql的日志
在CentOS中,MySQL的日志文件通常存储在/var/log/mysql或/var/lib/mysql目录下
私有部署后,mysql无法启动的原因

有可能是MySQL端口被占用,默认为3306,需要确认3306没有被占用
也有可能是MySQL配置文件my.cnf被错误修改
私有部署前,如何安装windows的 redis ,来运行ivxbase.exe呢
下载安装:https://github.com/MicrosoftArchive/redis
安装成功后,进入到默认的redis安装好后的路径后,选中整个路径,输入cmd 回车后即可在当前目录打开cmd
输入对应命令
redis-server.exe  redis.windows.conf
如果出现bind no error
则按照顺序输入命令
1.redis-cli.exe
2.shutdow
3.exit
最后再次执行
redis-server.exe  redis.windows.conf
私有部署后,如何查看redis里面的内容
1修改redis.conf配置文件
进入编辑配置文件
[root@localhost bin]# vi redis.conf
在127.0.0.1前面加上注释(redis4.0以下版本默认是注释掉的)
2.受保护模式修改为no(redis4.0以下的版本没有这个模式配置,不用修改)后保存
3.最后通过第三方rediNav进行是add Connection,填写好ip地址和端口号连接即可
私有部署前,linux如何安装redis
下载redis
wget http://download.redis.io/releases/redis-7.0.1.tar.gz
解压
tar -zxvf redis-7.0.1.tar.gz

解压后进入redis文件夹
cd redis-7.0.1

安装编辑
make MALLOC=libc

cd src && make all
最后前台运行redis
./redis-server
私有部署后关闭ssh窗口,redis也会自动退出,如何保持在后台运行
设置redis后台运行,先进入到redis所在目录
cd /home/redis/redis-7.0.1
修改redis.conf文件
vim redis.conf

在vim界面按下/daemonize no回车后查找并修改为daemonize yes后保存

cd src
并执行
./redis-server /home/redis/redis-7.0.1/redis.conf
查看redis是否已在后台运行中
ps -aux | grep redis
私有部署后,为了更方便将redis设置自启动,如何设置成systemd的方式去启动redis
进入目录/etc/systemd/system/ 新建文件redis.service,并修改其中的ExecStart值为实际路径
[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/root/redis-7.0.1/src/redis-server /root/redis-7.0.1/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

reload系统服务
systemctl daemon-reload

开启redis服务
systemctl start redis

查看redis状态
systemctl status redis

开机自启
systemctl enable redis
私有部署后,发现redis的默认端口有被其他应用使用中,如何修改redis的默认端口为其他端口
先修改redis目录中的redis.conf
/home/tande/testA/redis-4.0.6中的redis.conf中的
port 6379改成其他如port 6378

再修改
/etc/rc.d/init.d中的redis文件中的
REDISPORT=6379 改成如REDISPORT=6378

关闭redis后
service redis stop

再次启动
service redis start 中途可能会出现warning输入systemctl daemon-reload 后再次start即可

最后通过(查看端口号是否改成功)
ps -aux | grep redis
私有部署后,能否自定义记录数据到redis中的指定库呢
可以通过修改config.json中的redis字段里面的db值,0则是默认的第一个redis库
"redis": {
"addr": "127.0.0.1:6379",
"passwd": "",
"db": 0
私有部署后,使用的redis出现故障如何查看redis的日志
redis设置log文件的路径之后才会记录日志
1.打开redis配置文件redis.conf
2.搜索关键词logfile,将日志文件路径填到后面的引号""内,linux系统:如"/usr/local/redis/redislog/redis.log",windows系统:如"D:/redislog/redis.log"
手动建立日志文件所在的文件夹,如linux下手动建立/usr/local/redis/redislog文件夹,windows下手动建立D:/redislog文件夹
3.保存配置文件,并以此配置文件重启redis
就可以到设置的文件夹下查看日志文件。
私有部署后,为什么配置文件中config.json,mysql字段是需要填写密码的,但是redis字段却是不用填写密码的
redis默认情况下没有启用密码认证,是因为在设计Redis时,它主要是用于在可信任的内部网络中使用,例如公司内部的局域网。在这种情况下,Redis无需进行身份验证,因为所有用户都是受信任的。

此外,Redis的默认配置也允许轻松地进行快速开发和测试,而无需设置密码认证等安全措施,这为开发人员和测试人员提供了方便。
私有部署时候,redis运行中,缓存是写入到哪个redis数据库呢
会按照config.json中的redis字段设置,写入到默认的0号数据库中
"redis": {
"addr": "127.0.0.1:6379",
"passwd": "",
"db": 0
运行ivxbase基座时出现tcp 127.0.0.1:6379: connect: connection refused 的报错的原因
原因是本地的redis没有启动或者是远程的redis无法连接成功
为什么自动启动的ivxbase基座服务运行失败,redis也自启成功,但是ivxbase基座对应的service依然没有运行
原因是ivxbase基座对应的service启动完成,但是redis对应的service还没有完全启动造成的,可以进入到/etc/systemd/system目录里面ivxbase对应的service,在After中,填写redis.service就能保证ivxbase的service会在redis.service之后执行,保证启动顺序

[Unit]
Description=Ivx test // 服务说明
After= redis.service mariadb.service

[Service]
Type=simple
User=celveta // 当前用户(请删除本行//以及//后内容)
Group=celveta // 当前用户组(请删除/本行/以及//后内容)

Restart=on-failure
RestartSec=10

WorkingDirectory=/home/celveta/ivxtest // 应用目录,即ivxbase程序所在目录
ExecStart=/home/celveta/ivxtest/ivxbase // 应用路径,ivxbase程序的完整路径
私有部署的时候,redis的默认端口号是多少呢
私有部署时,一般redis的默认端口号是6379
私有部署后,为什么在mysql中找不到"缓存数据库"记录的数据
原因是缓存数据库在私有部署后对应的是redis库,应查看私有部署后的redis
私有部署后需要通过https访问案例,需要申请证书,如何申请呢
以免费证书为例,登录腾讯云控制台,选择"SSL证书"进入到"我的证书"中,可以选择切换tab"免费证书"到"申请免费证书"
在弹出的“证书申请”窗口中,选择“DV SSL证书”,并填写相关信息,包括域名和邮箱等。

在域名验证页面,选择验证方式,可通过DNS或HTTP验证域名。

完成域名验证后,等待证书签发完成即可。
windows私有部署后,需要通过nginx代理来访问ivxbase,如何通过nginx代理
一:下载安装nginx
1.先通过网址https://nginx.org
下载安装最新版的 nginx,如nginx/Windows-1.19.1
下载完成后双击解压到 E盘的根目录,或者其他非中文路径下
二:
1.双击运行nginx.exe
如果运行成功会在任务管理器的详细信息中看到nginx.exe (通过ctrl+shift+esc打开任务管理器)(此时nginx执行完成)

三:打开nginx目录下的nginx.conf,在http字段下的server字段中修改成如下(则可以代理到9923端口)
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://localhost:9923;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
四:最后访问http://localhost则会访问到9923端口的内容,ivxbase基座可以使用9923端口来运行,这样nginx的80端口就能代理到ivxbase的内容
私有部署后,如要通过微信访问案例,则会涉及到微信服务号的配置,从而需要到域名校验文件,如何处理校验问题
添加检验文件中的字符串到nignx的配置文件nginx.conf中(无需真实上传文件)
vim /etc/nginx/nginx.conf
通过按下键盘i,切换到insert模式,在server 中的位置添加一个location,按照实际从微信公众号平台中下载的文件来修改橙色部分内容
location /MP_verify_6TomE8q1r5jxKCVY.txt{
default_type text/plain;
return 200 '6TomE8q1r5jxKCVY';
}
如何通过nginx代理访问导出的"前端HTML包"
1.上传前端html包,解压后的文件到/usr/share/nginx/html,这个就是访问域名的根目录
2.修改/etc/nginx/nginx.conf ,在对应的server_name也就是域名下增加一个location /name {}
这样通过域名+name+/index.html
就能访问到前端html包里面的网页
私有部署后需要使用https访问,有证书了如何设置后能够https访问

1.下载了证书解压后上传到nginx.conf所在目录
2.修改nginx.conf里面的内容,新增一个server,如下所示,证书文件名修改成自己的证书名。
server {
#SSL 访问端口号为 443
listen 443 ssl;

#填写绑定证书的域名
server_name wintest.vxplo.cn;
#证书文件名称
ssl_certificate wintest.vxplo.cn_bundle.crt;
#私钥文件名称
ssl_certificate_key wintest.vxplo.cn.key;

ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;

location / {
proxy_pass http://127.0.0.1:9900;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
私有部署后需要使用nginx代理,如何安装nginx
可使用命令yum install nginx ,安装nginx后,设置nginx自启以及后台运行
killall nginx 终止运行中nginx
systemctl enable nginx
重启nginx:systemctl restart nginx
使用nginx代理后,私有部署的案例中部分微信接口如前端"微信公众号"组件的获取当前账号信息 动作无效
是由于nginx本身的问题造成的,可改用caddy来运行,caddy的执行步骤如下链接所示
https://www.ivx.cn/docview?page=18003f0bcb4#Caddy%E7%AE%80%E4%BB%8B
私有部署后,nginx代理的80端口被未知应用占用时,如何处理
可使用netstat -ntulp | grep 80 找到占用80端口的进程pid
kill -9 加上pid则可杀掉该占用的进程
最后systemctl restart nginx即可解决
单台服务器无法满足大量访问的时候,如何在不改变该服务器的时候解决高负载问题
可以使用负载均衡和弹性伸缩解决
负载均衡与弹性伸缩,是两个需要搭配在一起使用的服务,其中,负载均衡负责在前端接收服务请求,并分发给弹性伸缩组中的后台服务器
通过新增多台服务器,再通过负载均衡来分配给多台服务器,具体可查看文档https://www.ivx.cn/docview?page=lb#
私有部署后,运行nginx有异常,如何查看nginx的日志
找到Nginx的日志文件:在Nginx的配置文件中,可以设置日志文件的路径和名称。默认情况下,访问日志文件和错误日志文件分别为 /var/log/nginx/access.log 和 /var/log/nginx/error.log。可以使用以下命令查看日志文件的内容:
tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log
私有部署后运行nginx时候失败,提示:Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
可以输入命令:systemctl status nginx.service
或者journalctl -xe
查看详细的信息
私有部署后,运行nginx查看完整报错提示
nginx: configuration file /etc/nginx/nginx.conf test failed 如何解决
可以输入nginx-t 命令,查看nginx.conf里面是否有填错的信息
私有部署后,访问案例路径提示:该应用访问地址错误,请联系应用提供方更正。
请检查路径是否正确,以及是否在导出部署前设置了配置面板中的 域名设置
如果ivxbase基座能正常运行,且安全组也开放了接口,但是依然无法访问
可检查是否开启了服务器的防火墙,如果开启了服务器防火墙,还得添加一下开放端口到防火墙
私有部署使用阿里云oss的时候,无法读取到oss的包,运行基座提示"请将导出应用zip包放在当前目录.."
需要修改config.json中的loadPackage字段中的dir,dir里面填的是bucket里面的导出包所在文件夹名称或bucket里面的路径,"loadPackage": {
"type": "oss",
"dir": "zip",
"period": 1,
"restart": true
}
私有部署使用oss运行案例,访问案例的时候提示net::ERR_ABORTED 403 (Forbidden)
需要进入到oss的"权限控制"中的"读写权限",将bucket ACL从"私有"设置为"公共读"
私有部署使用oss运行基座时候被终止,提示"service returned error: StatusCode=403, ErrorCode=InvalidAccessKeyId, ErrorMessage="The OSS Access Key Id you provided does not exist in our records"
是因为accessKeyId填写有误,需要到AccessKey中获取对应的accessKeyId
私有部署使用oss运行基座时候被终止,提示oss error:oss: service returned error: StatusCode=403, ErrorCode=SignatureDoesNotMatch, ErrorMessage="The request signature we calculated does not match the signature you provided
需要检查config.json中的accessKeySecret是否有填写错误,填写错误也会出现此报错
阿里云oss中ECS 的经典网络访问(内网) 与外网访问的区别
经典网络访问方式指的是ECS和OSS在同一地域内,使用内网IP进行通信。这种方式具有较高的传输速度、较低的延迟和较低的网络费用。但是需要注意的是,内网访问方式不支持跨地域访问。
而外网访问方式则指的是通过公网IP进行通信,可以跨越地域访问OSS。这种方式相比于经典网络访问,传输速度会较慢,延迟会较高
私有部署后,使用oss后,画布内的图片不显示且出现报错has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
可进入bucket中的"数据安全"--"跨域设置"中创建规则,来源以及允许header都填*号,且允许methods都勾选
使用华为云obs后,私有部署运行基座会终止运行,且报错"oss error:RequestError: send request failed
caused by: Put "https://s3.cn-south-1.amazonaws.com.cn/testivx/127z4iwf": dial tcp: lookup s3.cn-south-1.amazonaws.com.cn on 100.100.2.136:53: server misbehaving"
需要注意config.json中的oss里面的endpoint字段要使用http:// ,如""endpoint": "http://obs.cn-south-1.myhuaweicloud.com","
使用华为云obs后,私有部署运行基座会被终止,且会报错“oss error:obs not supported
原因是config.json中oss字段下的provider不能填写obs,而是跟mino一样的都填aws才可以
使用华为云obs后,私有部署运行基座会被终止,且会报错"oss error:NoSuchBucket: The specified bucket does not exist
status code: 404"
原因是config.json中oss字段下的bucket字段内容填写错误,而是要和pathPrefix的前缀保持一致
使用minio作为对象存储后,私有部署访问案例时提示403,无法加载js库和图片
需要到minio console 中心,进入对应bucket中的Access Policy,将Private改成Public
私有部署后,oss的在不停的检索是否有独立部署包在bucket里面,导致oss扣费增多,如何解决
原因是config.json中里面的loadPackage字段中有个period 属性 ,默认是1就是 有旧案例需要更新的zip包就会1s间隔去读取,可以将1数值改成更大的数值,减少读取检索的次数
使用阿里云oss后,私有部署运行基座会终止运行,且报错"oss error:oss: service returned error: StatusCode=403, ErrorCode=AccessDenied, ErrorMessage="The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint
原因是config.json中oss字段下的endpoint内容填写错误,需要填写的是只区域的域名,如:oss-cn-beijing.aliyuncs.com
如何设置不将应用私有部署包放到zip文件夹里,而是放到prefixPath目录的projects下也能被读取成功
需要修改config.json中的loadPackage字段,将dir字段的值修改成"./"即可将zip包放到projects下也能被读取成功
私有部署案例时,如果通过xshell软件去连接服务器,并上传ivxbase基座和"导出部署zip包"
打开 Xshell 应用程序并单击 "新建"。
在 "新建会话" 窗口中,输入会话的名称(可以是任何名称),然后在 "主机" 字段中输入服务器的 IP 地址或主机名。
在 "用户身份验证" 字段中输入密码,连接成功后,可以点击绿色按钮"新建文件传输"即可进入到对应目录,通过拖拉ivxbase和导出包,即可上传成功
无法执行yum install 等安装下载命令时,且提示no space left on device
查看各目录下文件占用:
du -sh *

一般查看:
/var/log
等目录,一般都是log日志造成的,清理下日志文件,使用:
rm -rf *.log
私有部署时,会使用yum命令,一般yum命令应该如何使用
安装软件包:
yum install <package_name>
升级所有软件包:
yum update
删除软件包
yum remove <package_name>
私有部署后,需要修改config.json里面的内容,如何在linux中操作

进入config.json文件所在目录后,使用vim命令打开config.json文件:
vim config.json
进入编辑模式:

按下 i 键

修改文件内容:

进行需要的修改

保存修改:

按下 Esc 键退出编辑模式,然后输入 :w 命令保存文件

退出 Vim 编辑器:

输入 :q 命令退出 Vim 编辑器

如果修改了文件但是没有保存,可以使用 :q! 命令来强制退出 Vim 编辑器,不保存修改。
私有部署后,需要查找config.json里面的内容,如何通过ssh操作
进入 vim 编辑器。
按下 / 键,输入要查找的字符,按下回车键。
vim 会自动定位到第一个匹配该字符的位置。
可以按下 n 键来查找下一个匹配该字符的位置,按下 N 键则查找上一个匹配该字符的位置。
私有部署时,需要下载基座和前端导出包,但是无法通过sftp等方式传文件应该如何下载到指定目录
可以使用wget命令来下载基座,先在ivx编辑器中点击下载和导出私有部署包,获取这两样的下载地址后,再进入到服务器的指定目录,进行wget http://example.com/file.zip 即可下载成功
私有部署时,不知道服务器的具体版本来 下载安装对应的软件,如何查看服务器版本
可以输入命令
cat /etc/*-release
可查看到Linux发行版的版本
私有部署时需要查看某个端口号是否被其他应用程序占用中
netstat -ntulp 命令用于列出所有TCP和UDP端口的网络连接情况,包括本地地址、外部地址和当前状态。grep 命令可以用于筛选匹配指定端口号的行。因此,netstat -ntulp | grep 端口号 命令可以用于查找指定端口号的网络连接情况。其中,“端口号”需要替换为实际需要查找的端口号。例如,要查找端口号为80的网络连接情况,可以使用以下命令:netstat -ntulp | grep 80
私有部署时候,某个端口被占用,如nginx等占用了80端口,如何杀掉
通过 netstat -ntulp | grep 80 命令查找到需要结束进程的程序的 PID。

使用 kill 命令结束该程序的进程。例如,如果程序的 PID 为 1234,则可以使用以下命令结束该进程:
kill -9 1234
 
私有部署后,时间过长遗忘了ivxbase所在目录,应该如何在linux中找到
可以在linux中通过命令
find / -name "ivxbase"

其中 / 表示从根目录开始查找,-name 表示按名称匹配
私有部署上传ivxbase后,直接./ivxbase无法执行,如何处理
直接上传的ivxbase不是可执行文件,需要使用命令
chmod +X ivxbase
将ivxbase转成可执行文件
私有部署后需要查看config.json中的配置信息,如何才能查看
可以通过cat命令去查看config.json里面的内容。
查看文件内容: cat filename,也就是在config.json目录下输入cat config.json这将能显示文件里面的内容
私有部署后,常用到的几个linux命令
cd:更改当前工作目录。
ls:列出当前目录下的文件和子目录。
mkdir:创建一个新的目录。
rm:删除文件或目录。
私有部署后,如何获取到私有部署的公开服务的地址
可先从编辑器中复制出公开服务的地址,最后将ivx的域名替换成私有部署后的域名或使用ip+端口来拼接路径,如下方所示
https://192.168.0.1:9000/api/11224756/cgqwf8da3j50000zb290
如何私有部署整个大组内的所有组应用
前提:需要先上架要打包导出的组内应用
配置中心,域名需要修改成editor.ivx.cn,否则调用接口时会提示未登录

1.调用接口,在编辑器api组件填上(注意gid和nid都需要是自己账号的应用,extraNids最多填9个)

/ih5/resource/packageGroup?gid=17741&nid=10722660&extraNids=10722661,10723337

返回:
{
"package":"g17741-10722661.zip"
}


gid 和nid 以及extraNids的值需要更换:
gid为组id,打开预览地址后,右键浏览器查看源代码,最下方即可看到gid


nid值为组内某一个应用的nid
extraNids为同组内的需要一并打包的nid(如有多个则需使用逗号隔开,如)
如只需要导出一个组内的应用,则无需添加extraNids参数

2.下载package
将第一步中返回的package添加https://file3.ih5.cn/v35/files/ 前缀后下载(为了避免缓存问题,每次下载的时候,在下载地址结尾追加不同的参数,如?a=1 ,?a=2)


以上。

PS:导出后上传到服务器,必须将组内应用的所有nid填写到config.json,执行./ivxbase即可私有部署成功
 
如何在服务器中安装docker,并且使用docker部署运行案例
1.下载docker
curl -sSL https://get.daocloud.io/docker | sh
2.运行docker
systemctl start docker

3.通过docker运行container
需要通过-v挂载config.json 以及loadpackage中的dir需要改成./zip 导出包放到zip文件夹下,bucket文件夹也需要挂载

注意redis和mysql需要修改127.0.0.1为虚拟机的ip如192.168.41.130

例子:
docker run --name ivx -p 9901:9901 -v /home/ivx/config.json:/config.json -v /home/ivx/bucket:/bucket -v /home/ivx/zip:/zip -d ivxbase/ivxbase:2.1.10

修改了config.json后需要重启一下container
docker restart ivx
docker中container运行所产生的日志记录如何查看
在执行docker run --name ivx 其中的ivx就是这个container的名字,可以通过docker logs ivx 查看到运行的日志记录
一键部署中,支持哪些服务器类型呢
linux:支持centos7、8,ubuntu LTS server 18.04和20.04;
但暂不支持windows相关的服务器
私有部署的时候,ssh端口不是默认的22端口,如何修改回原来的端口
1.修改sshd_config配置文件
修改命令:vi /etc/ssh/sshd_config
修改内容:Port 22
解析:在/etc/ssh/目录下,是ssh相关的配置信息。
2.重启sshd服务
重启命令:systemctl restart sshd
解析:修改端口后,需重启服务
3.查看端口信息
查看命令:netstat -atunlp | grep sshd
一键部署的时候,程序安装失败,提示error during request: ssh: handshake failed: ssh: unable to authenticate, attempted methods [none password], no supported methods remain
检查是否登录账号密码错误,以及是否使用非账号密码的方式如rsa key
登录
私有部署后如何更新数据库的数据内容
可以回到ivx的编辑器界面,修改编辑器中数据库的内容后,重新导出即可,需要勾选导出前端后台代码同时导出后台数据 ((VX云端数据库中数据)
一键部署与手动部署的区别
一键部署会自动安装所需要的mysql和redis,并且自动生成域名证书,一站式解决所有问题。
而手动部署,可以自行使用nginx等进行代理,可以通过nginx代理80端口,不同路径访问不同的应用程序,而不需要给ivxbase基座独占。
更灵活,且可以查看各种应用程序的日志,方便查看哪里出现故障。
一键部署未移除已部署应用,无法删除此服务器,如何能够删除服务器并且去掉已安装的相关的ivx内容
可进入到"应用服务"中的"应用部署"中的对应服务器的"部署应用管理"中删除已部署的应用后,再尝试删除此服务器,
清理服务器中关于ivx的冗余,可以进入到服务器的/opt/ivxbase文件夹,将ivxbase文件夹删除。
小程序私有部署后 获取当前用户信息无效
有可能是因为使用了nginx代理,nginx会让微信接口"获取当前用户信息"返回内容无效,与windows私有部署后调用微信公众号组件获取当前用户信息失效的原因一样,可以改成caddy进行代理
dbo里面的连接地址是http协议,而非https协议,在ivx编辑器中调试会报跨域问题
目前可以先在ivx编辑器中设置好事件,再私有部署到服务器,通过http+ip的方式访问即可使用dbo,但是由于无法使用ivx编辑器中的调试,所以只能根据预览案例时,返回的信息,回到ivx编辑器中继续完善事件
宝塔里面安装好数据库,ivx的应用也私有部署成功了,但是宝塔界面中,数据库的tab中没有显示内容
宝塔中安装好mysql之后,刷新"数据库"的tab没有显示内容,则需要点击"从数据库中获取"的button来更新一下
如果服务器没有安装防火墙,如何设置服务器某个端口允许对外访问
登录阿里云管理控制台并选择相应的地域和VPC。

找到要配置的安全组,点击安全组的名称进入安全组配置页面。

在安全组配置页面中,点击“入方向”或“出方向”,根据你需要开放80端口的方向进行选择。

点击“添加安全组规则”按钮,弹出添加规则的窗口。

在添加规则窗口中,选择协议类型为“自定义TCP”,端口范围为“80/80”,授权类型为“地址段访问”,授权对象为“0.0.0.0/0”。

点击“确定”按钮保存规则,开放80端口成功。
如果服务器安装了防火墙后,如何开放80端口
开放80端口。使用以下命令开放80端口:

systemctl start firewalld
开启防火墙


查看所有开启的端口
firewall-cmd --list-ports

firewall-cmd --zone=public --add-port=80/tcp --permanent
这将把80端口添加到防火墙的public区域中,并将设置永久生效。
重新加载防火墙规则。使用以下命令重新加载防火墙规则:

firewall-cmd --reload
检查是否已经成功开放80端口。可以使用以下命令进行检查:

firewall-cmd --zone=public --query-port=80/tcp
如果已成功开放80端口,则会返回“yes”。
开启完端口后,还需要到 虚拟服务器(阿里云)的安全组,添加需要开放的端口号
私有部署后,亚马逊云也开放了80端口后,但依然无法访问
亚马逊云有规定,即使开放了80端口和443端口也必须要备案后才能申请使用。
使用emqx私有部署后,前端mqtt组件如何连接emqx使用
通过前端"data-mqtt",该组件属性,"连接地址"属性填写如:ws://tande@8.142.133.199:8083/mqtt
其中ip地址以及name:tande请更换为自己的服务器ip和自定义的name,最后通过三个动作"发起连接"动作来建立连接、"订阅消息"来接收同一topic的消息、"发生消息"去给指定topic发送消息
小程序的后台部分如何进行私有部署,目前小程序提交到微信审核上线后,后台服务是调用的ivx的公网服务
需要先填写好"配置中心"、"接口配置"中填写好小程序 appid和appsecret,并且需要填写好"自定义服务域名"以及"自定义文件地址",填写内容是把小程序当做h5私有部署后的域名,和文件地址
导出windows后,如何让windows的后台数据库提交内容到私有的数据库中
需要先填写好"配置中心"、"接口配置"中填写好"自定义服务域名"以及"自定义文件地址",填写内容是将案例当做h5私有部署到私有服务器后,再去导出windows
私有部署h5时,微信公众号部分应该如何填写
私有部署后需要使用微信的接口,需要在导出之前,填写好微信公众号的appid和appsecret,并且网页授权域名需要填写导出后使用的二级域名
微信公众平台中的js安全域名和网页授权域名需要填写为二级域名,并且需要配置服务器的ip到 微信公众平台的ip白名单中
私有部署后,如何修改"账号系统"中的数据如,角色,权限等
"账号系统"组件中的内容,只能通过事件动作去动态修改,即使在"账号系统"在编辑器中修改里面的内容后二次导出也不会覆盖掉原有的,所以请通过事件去动态设置"账号系统"中的角色权限。
可否私有部署到外国的服务器
可以的,但是使用域名去访问外国服务器时,域名需要备案,否则会被国内屏蔽。
邮箱私有部署后出现Email not config 怎么处理
需要使用自定义邮件配置(使用自有的邮箱发送邮件),在配置中心,接口配置,邮件中填写好服务地址、用户名、密码,截图中以腾讯qq邮箱为例
为什么私有部署后查看network中的player.js文件会比公网发布后的player.js要大很多
原因是公网有cdn且开启了gzip的压缩,所以传输的静态内容如js库和图片等是有压缩过的,所以公网的会更小,而私有部署则需要自行配置cdn,以阿里云ccdn为例,进入到阿里云的cdn中的域名管理,并点击进入自己的cdn域名,在"性能优化"的选项中开启"Gzip压缩"
私有部署后,执行后台服务时,network中该服务的请求的response内容是没有加密的(在公网上发布是有加密的),应该如何处理
手动导出独立部署包时,有一栏"加密key"可填写,填写任意内容后,后台服务response使用加密key混淆,将不会使用明文显示返回结果。
ivx公有云上的图片上传图片url后无法分享会几分钟后失效,如果想图片等能长时间分享,有办法吗
这是ivx公有云上的防盗链机制决定的,静态资源会过一段时间后失效,可以使用将案例私有部署,私有部署后的案例没有添加防盗链的功能,可以长期分享图片
两个不同账号下的应用,私有部署时,能否共用同一个服务器,并且共同使用一个基座运行呢
可以的,不同账号导出的案例,可以被同一个服务器,同一个基座去运行,并不影响功能。
私有部署的,能否查看编辑器中如"服务"组件的"日志"tab查看相关的日志呢
ivx编辑器中的日志记录是通过库来记录,因此私有部署后也可通过后台添加的"服务器缓存"组件,在需要记录日志的地方,去触发给"服务器缓存"添加日志记录的效果
私有部署后上传的音频获取不到时长,或者视频获取不到封面属性、视频宽高属性,是要做什么处理
获取这些音视频属性是通过linux的一个程序生成的。
如果用户的服务器没有安装这个程序就会无法生成
所以只需要安装上即可。
下面是linux和windows的安装方法
linux服务器
1.下载安装包
linux版本的ffmpeg安装包https://file3.ih5.cn/v35/files/ffmpeg.tar.xz
2.解压后将文件夹里面的内容(不能直接上传"ffmpeg-4.3.1-amd64-static"文件夹,而是进入文件夹后将子文件和子文件夹单独上传)放到服务器的/usr/bin目录下


2.通过SSH,进入到/usr/bin目录后,将ffmpeg和ffprobe改成可执行文件
命令是chmod +x ffmpeg ffprobe


回到部署好后的应用中,"上传视频"的动作即可返回封面图 和原始宽高了



windows下安装ffmpeg
0.下载ffmpeg的windows版本安装包https://file2.ih5.cn/v35/files/2e842cff9beb76728519066571970f35_85247487.zip
1、将下载的ffmpeg解压到指定目录下,如解压在:F:\ 盘里面
2、右击此电脑——>属性——>高级系统设置——>环境变量。在系统变量的path变量里添加解压的路径。
例如:F:\ffmpeg-4.0-win64-static\ffmpeg-4.0-win64-static\bin

3、配置完成后运行cmd,输入ffmpeg -version,若显示如下界面,则说明配置成功。
私有部署的时候,有某些路径是不能使用的吗,会跟一键部署有冲突
自定义路径不能是"ih5"、"work”、"api"、“mgr"的前序,否则将无法访问
在ivx中,后台服务调用api超过10s就会超时,可否调整得更长的超时时长呢
可进行私有部署,私有部署后的内容

http://www.kler.cn/a/15718.html

相关文章:

  • EWM 打印
  • 计算机使用常用工具(持续更新)
  • Vue3 模板语法
  • Neo4j Desktop 和 Neo4j Community Edition 区别
  • 创建vue+electron项目流程
  • JMeter与大模型融合应用之JMeter日志分析服务化实战应用
  • 虹科案例 | 如何通过智能、非接触式测量解决方案,提高起重机的安全和效率?
  • ESET NOD32 互联网安全软件和防毒软件 -简单,可靠的防护。
  • 优思学院|做质量管理有七大工具,都是什么?
  • 训练数据集处理
  • SpringMVC实现文件上传和下载和Json的简单实用
  • Promises对象
  • 西瓜书读书笔记整理(三)—— 第二章 模型评估与选择
  • 让你的ChatGPT更加强大——200+小白用来解锁ChatGPT高级功能的提示(Prompts)
  • C/C++的命名空间和调用函数的详细讲解
  • 【华为交换机配置命令大全】
  • 零售库存管理系统该如何选?这5款零售库存管理系统值得推荐!
  • 【C语言】#ifdef和#endif条件编译
  • pci总线协议学习笔记——PCI总线基本概念
  • 大数据好学么
  • Python学习10:计算三维空间某点距离原点的欧式距离(python123)
  • OSPF-MGRE综合实验
  • Microsoft Forms的應用(文行版)
  • 【VM服务管家】VM4.x算子SDK开发_3.3 模块工具类
  • 揭秘!我用AI写了一部精彩小说;搭建AI视频创作工作流;一键生成摘要工具清单;大模型创业生死5问 | ShowMeAI日报
  • 〔金融帝国实验室〕(Capitalism Lab)v9.0.00官方重大版本更新!