DataWindowHTTP在linux环境的安装和测试

news2024/9/21 8:02:18

DataWindowHTTP在linux环境的安装和测试

*此非必要文档,如果在window环境使用,则无需参考。对于linux os,apache,php安装熟悉的朋友,也无需参考此文档的安装部分,只需要参考配置部分即可。

*最后修改日期:2023.08.20

产品附件说明,请勿转载他用。

目录:

一.安装虚拟机

二.安装linux

三.安装apache2.4

四.安装php8.0

五.安装MySQL8.0

六.安装DataWindowHTTP组件的服务器端

七.对接DataWindowHTTP组件的客户端

一.安装虚拟机

为了测试的方便性,采用在虚拟中安装linux来测试。这样方便做测试和截图。本文档截图以vmware12.0.0测试版作为实验。

二.安装linux

以客户实际生产环境选择linux。本组件的要求是:

① Apache2.4

② Php8.0

③ PHP能访问数据库的驱动。

本示例采用开源免费的centos7.0(CentOS-7-x86_64-DVD-1810.iso)作为测试。

注意事项:

1. 安装centos时,如果不熟悉全命令模式,需要选择GUI服务器。

选择GUI可以在图形界面搜索文件,用文本编辑器直接编辑文件,拷贝文件和文件夹等等。可以设置分辨率,网络等等。这都 不是初学者可以用全命令模式搞定的。

 

到这里时,点进去设置,选择:

 

  

但右边的选项我们不需要选择,不需要其他服务。

2. 登录时让我们输入一个名字,但是那个名字需要授权才能进行一些高权限操作。简单起见,用root登录GUI界面进行安装。

点“未列出?”输入root和密码。

     

3. 如果时钟锁屏了,你还未登录,请用鼠标点住时间画面并上滑,就显示出用户登录界面。单单用鼠标点击锁屏的时间画面,好像 是没法显示出登录界面的。

要避免锁屏的麻烦,可以取消锁屏:

  

4. 安装vmware tools工具。方便你复制粘贴,调整分辨率,共享文件夹等等。

 单击菜单     

  linux桌面光驱图标变这样。

     

  解压缩这个tar.gz执行里面的 ./vmware-install.pl 程序就行了。

     如果光盘不出现VMware-tools字样,你可以桌面光驱图标,点右键弹出,再重新点菜单进行挂载。

5. 打开网络

默认安装后,网络是关闭的。你需要打开

    

    

并且点击属性图标,设置启动时自动打开网络。(上右图)

 这两个服务要启动,否则显示网线已拔掉或者显示正在连接,却无法连接。

6. 共享文件夹

为方便测试,从window拷贝文件到linux。设置共享文件夹。

    

我们如果在这里新建了共享文件夹并确认后。

在linux主机的 /mnt/hgfs文件夹就会出现我们的window共享的文件夹(上右图)。就可以拷贝文件了

有时文件不出现,我们可以移除共享文件夹,再添加一次就行了。

或者,我们可以手工挂载,用命令挂载到linux系统,如:

mkdir /mnt/abc

vmhgfs-fuse .host:/shareddir /mnt/abc     (shareddir为共享文件夹名称)

7. 如何打开文件夹,或者查找文件。

Linux桌面>主文件夹>打开,只是进入用户自己的主目录。而我们操作的东西一般从跟目录算起。

所以首先定位到:

只要输入文件名或者文件夹名,就能搜索出文件或文件夹。

8. 如何查到虚拟机系统的IP(用于外部网页访问测试和数据库连接)

命令1:ipconfig(和window一样的命令)

命令2:ip addr

   红框内就是linux的IP。

9. 开防火墙的端口

默认防火墙都是不开端口的,外部无法访问80或者3306等端口。

firewall-cmd --zone=public --add-port=80/tcp --permanent (–permanent永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --remove-port=端口号/tcp --permanent   (关闭端口)
firewall-cmd --reload         (重新加载生效)

10. 关闭和退出

经过测试,点击下图右上角的按钮关闭时,经常黑屏无法退出vmware。
 

     


尝试用命令:shutdown关机,却很正常,特此提示。

三.安装apache2.4

1. 命令:yum install httpd   安装过程中会问“is this ok [y/d/N]”,输入“y”回车即可。

2. 查询安装后的版本 httpd -v    正是我们需要的2.4版本。

3. 启动,重启,关闭命令

apachectl start  (service httpd start  systemctl start httpd.service

apachectl restart  (service httpd restart 或 systemctl restart httpd.service

apachectl stop   (service httpd stop  systemctl stop httpd.service

4. 开机自启动

默认开机得人工启动。可以在: /etc/rc.d/rc.local 文件中加入 apachectl start 命令行。并且设置rc.local以命令执行的权限。如下图:

      

     

上图已经将apache和MySQL都设置为开机自动启动。

5. 修改配置文件

/etc/httpd/conf/httpd.conf 用文本编辑器或者vi修改即可,主要修改项目:

5.1 修改端口(根据需要修改为80或者指定的端口):

Listen 80

5.2 网页文件夹(我们用默认不需要修改,在此仅列出)

DocumentRoot "/var/www/html"

6. 测试

可以在var/www/html中写一个静态网页。然后:

Wget localhost:80

已发出 HTTP 请求,正在等待回应... 200 OK   (200 OK就正常)

也可以在window的浏览器中输入linux的IP:端口,用浏览器进行访问。

四.安装PHP8.0

PHP有很多经典版本,比如5.7,但我们使用的是8.0.

yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm

yum -y install yum-utils

yum-config-manager --disable 'remi-php*'

yum-config-manager --enable remi-safe

yum -y install php80

yum install php80-php-{cli,fpm,mysqlnd,zip,devel,gd,mbstring,curl,xml,pear,bcmath,json}

1. 查看安装后的版本

php -v

显示:PHP 8.0.30 (cli) (built: Aug  3 2023 17:13:08) ( NTS gcc x86_64 )

2. 测试php

/var/www/html目录写一个index.php(内含phpinfo()函数即可),可在浏览器中测试。

3. 配置修改

本例子不需要修改php.conf文件。

4. 其他扩展,比如oci8的oracle驱动安装

请参考其他php+oracle安装的资料。此处例子为php+mysql。所以不再赘述。

五.安装mysql8.0

下载rpm包:https://repo.mysql.com//mysql80-community-release-el7-7.noarch.rpm

rpm -ivh https://repo.mysql.com//mysql80-community-release-el7-7.noarch.rpm

yum info mysql-community-server

yum -y install mysql-community-server

1. 启动,重启mysql

systemctl start mysqld.service

systemctl restart mysqld.service

2. 查看安装的初始密码

grep "password" /var/log/mysqld.log   或者 cat /var/log/mysqld.log

显示:temporary password is generated for root@localhost: 6wzlpA&as.6d    最末的这串字符就是生成的密码。

3. 免密码登录

有时忘记密码,在my.cnf的[mysqld]下面添加:skip-grant-tables

然后: systemctl restart mysqld.service

mysql -u root    可免密码直接登录

4. 正常登录

mysql -u root -p

提示输入密码,就输入:6wzlpA&as.6d  (根据你安装时的密码或者修改后的密码)

进入后,会提示mysql>这个符号。我们测试一下。

输入一个sql语句。记得以分号结束。敲回车它就执行了。

输入exit可以退出mysql命令。

5. 修改密码

操作之前就要你修改密码才能进行sql查询。

提示:You must reset your password using ALTER USER statement before executing this statement.
命令:ALTER USER  'root'@'localhost'  IDENTIFIED BY ‘new password’;   注意@两边没空格。
提示:Your password does not satisfy the current policy requirements
原因:不符合密码策略,长度不够,或者不够复杂。长一点,数字,英文,符号一起用就行了。

6. Navicat的链接

7. 新建数据库以及导入数据库

      

上图左:手工新建三个数据库。  

上图右:选择 datawindowhttp1.0-1.sql,datawindowhttp1.0-2.sql,datawindowhttp1.0-3.sql执行即可创建测试数据库

注意这三个sql语句中包含了表,表中的测试数据,存储过程,函数等。

如果执行sql时遇到错误提示:

This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)

 /etc/my.cnf配置参数log_bin_trust_function_creators=1

8. Root授权所有的外部IP而不局限于localhost

连接时会报错如下:

通过命令修改root可以连接的主机:

  select host from mysql.user where user='root'; (默认root只能localhost连接)
Update mysql.user set host = '%' where user ='root';  (改为不限制主机,或者按你要求修改)
注:生产环境我们一般是新创建其他用户,用于远程访问,并可授权到具体的IP。root仅供服务器登录以提高安全性。

9. Root无法连接数据库

连接数据库时报:Access denied for user 'root'@'localhost' (using password: YES)
修改Root的plugin密码方式: ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';

10. 组件post连不到apache

提示:Datawindowhttp连接时,mysqli_connect()提示Permission denied或者of_posturl()尝试多次发送不成功! 请检查服务器网址和端口是否正确!

     执行:setsebool -P httpd_can_network_connect 1

六.安装DataWindowHTTP组件的服务器端

将服务器组件目录拷贝到linux系统,位置:

var/www/html/datawindowhttp/datawindowhttp1.0-1

var/www/html/datawindowhttp/datawindowhttp1.0-2

var/www/html/datawindowhttp/datawindowhttp1.0-3

根据安装的数据库不同,只需要具体的一个,比如当前的例子:

var/www/html/datawindowhttp/datawindowhttp1.0-1/mysql8.0

var/www/html/datawindowhttp/datawindowhttp1.0-2/mysql8.0

var/www/html/datawindowhttp/datawindowhttp1.0-3/mysql8.0

编辑 config.mysql.php中的链接参数,其他文件无需修改。

七.对接DataWindowHTTP组件的客户端

拷贝一份demo 源码放到桌面上。

1. 执行初始化某个数据库的代码。

它执行的其实就是:uf_init_interface("mysql8.0")  这个函数。

当只要有一个数据库时,这个函数也可以直接写到open事件中。

2. 修改IP地址,端口,pem安全文件。

    

3. 测试查询。

配置好后,直接运行。就可以调试查看了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/909499.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从零起步:学习数据结构的完整路径

文章目录 1. 基础概念和前置知识2. 线性数据结构3. 栈和队列4. 树结构5. 图结构6. 散列表和哈希表7. 高级数据结构8. 复杂性分析和算法设计9. 实践和项目10. 继续学习和深入11. 学习资源12. 练习和实践 🎉欢迎来到数据结构学习专栏~从零起步:学习数据结构…

Temu闯关日韩受挫?跨境电商卖家如何打磨好营销链路

海外版拼多多 Temu 先后在日本和韩国上线,然而效果不似预期,日韩市场对这套“低价补贴”策略并不买账。作为一个尚未被日韩消费者熟悉的网站,其价格之便宜无法让消费者信任。除此之外更大的问题是,在日本卷不过线下零售与百元店&a…

6-1 使用函数求奇数和

分数 15 全屏浏览题目 切换布局 作者 C课程组 单位 浙江大学 本题要求实现一个函数,计算N个整数中所有奇数的和,同时实现一个判断奇偶性的函数。 函数接口定义: int even( int n ); int OddSum( int List[], int N ); 其中函数even将根据…

深度学习入门教学——二分分类

1、什么是二分分类? 二分分类就是判断“有”和“没有”、“是”和“不是”的问题,也就是监督学习中的分类问题。例如,输入一张图片,输出识别该图片的标签。计算机输入图片转化过程如下: 2、神经网络常用符号表示 (x, …

[LeetCode - Python]844. 比较;含退格的字符串(Easy);415. 字符串相加(Easy)

1.题目 844. 比较含退格的字符串(Easy) 1.代码: class Solution:def backspaceCompare(self, s: str, t: str) -> bool:# 暴力法s list(s)t list(t)M 0N 0for i in range(len(s)):i -M if s[i] # :if i > 0 :s.pop(i)s.pop(i-…

Go语言基础之切片

切片 切片(Slice)是一个拥有相同类型元素的可变长度的序列。它是基于数组类型做的一层封装。它非常灵活,支持自动扩容。 切片是一个引用类型,它的内部结构包含地址、长度和容量。切片一般用于快速地操作一块数据集合 切片的定义…

软考高级系统架构设计师(一)计算机硬件

【原文链接】软考高级系统架构设计师(一)计算机硬件 1.1 计算机硬件组成 1.1.1 计算机的基本硬件组成 运算器控制器存储器输入设备输出设备 1.1.2 中央处理单元(CPU) 中央处理单元(CPU)的组成 运算器…

基础论文学习(2)——DETR

目标检测 DETR:End-to-End Detection with Transformer detr是facebook提出的引入transformer到目标检测领域的算法,效果很好,做法也很简单,相较于RCNN和YOLO系列算法,避免了Proposal/AnchorNMS的复杂流程。 1. detr…

开源在线图片设计器,支持PSD解析、AI抠图等,基于Puppeteer生成图片

Github 开源地址: palxiao/poster-design 项目速览 git clone https://github.com/palxiao/poster-design.git cd poster-design npm run prepared # 快捷安装依赖指令 npm run serve # 本地运行将同时运行前端界面与图片生成服务(3000与7001端口),合成图片时…

BDA初级分析——可视化基础

一、可视化的作用 数据可视化——利用各种图形方式更加直观地呈现数据的过程 可视化的作用 1、更快地理解数据,找出数据的规律和异常 2、讲出数据背后的故事,辅助做出业务决策 3、给非专业人士提供数据探索的能力 数据分析问题如何通过可视化呈现&am…

课程表-广度优先和图

你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 bi 。 例如&am…

基于AWS的3D模型搜索服务实现

3D模型广泛应用于计算机游戏、电影、工程、零售业、广告等许多领域。市场上有很多制作3D模型的工具,但几乎没有工具可以直观地搜索3D模型数据库以找到类似的3D模型 因为开发好的 3D 模型搜索工具非常具有挑战性。 它需要复杂的计算和 AI/ML 框架来创建模型描述符并提…

(数字图像处理MATLAB+Python)第十章图像分割-第三,四节:区域分割和基于聚类的图像分割

文章目录 一:区域分割(1)区域生长A:原理B:示例C:程序 (2)区域合并A:原理B:示例C:程序 (3)区域分裂A:原理B&…

TensorRT推理手写数字分类(三)

系列文章目录 (一)使用pytorch搭建模型并训练 (二)将pth格式转为onnx格式 (三)onxx格式转为engine序列化文件并进行推理 文章目录 系列文章目录前言一、TensorRT是什么?二、如何通过onnx生成en…

人工智能AI代码翻译器 不用编程也可以写代码-AI Code Converter

AI Code Converter/人工智能代码翻译器 AI Code Converter(人工智能代码翻译器)是一个AI代码翻译器,使用AI将代码或自然语言转换为编程语言代码,也就是说,可以将自然语言翻译成任何一种编程语言,或者将一门…

python连接Microsoft SQL Server 数据库

python代码 Author: tkhywang 2810248865qq.com Date: 2023-08-21 11:22:24 LastEditors: tkhywang 2810248865qq.com LastEditTime: 2023-08-21 11:29:30 FilePath: \PythonProject02\Microsoft SQL Server 数据库.py Description: 这是默认设置,请设置customMade, 打开koroFi…

香蕉派社区推出带10G SFP+ 端口的Banana Pi BPI-R4 Wifi7开源路由器

香蕉派BPI-R4 根据著名Banana Pi品牌背后的公司Sinovoip提供的初步信息,他们即将推出的Banana Pi BPI-R4路由器板目前正在开发中。与之前的 Banana Pi R3 板相比,这在规格上将有显着提升。这就是我们目前所知道的。 您可以选择 R4 板的两种不同配置。具…

Python 合并多个 PDF 文件并建立书签目录

今天在用 WPS 的 PDF 工具合并多个文件的时候,非常不给力,居然卡死了好几次,什么毛病?! 心里想,就这么点儿功能,居然收了我会员费都实现不了?不是吧…… 只能自己来了,…

Qt应用开发(基础篇)——文本编辑窗口 QTextEdit

一、前言 QTextEdit类继承于QAbstractScrollArea,QAbstractScrollArea继承于QFrame,用来显示富文本和纯文本的窗口部件。 框架类 QFramehttps://blog.csdn.net/u014491932/article/details/132188655滚屏区域基类 QAbstractScrollAreahttps://blog.csdn…

基于微信小程序的垃圾分类系统设计与实现(2.0 版本,附前后端代码)

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 1 简介 视频演示地址: 基于微信小程序的智能垃圾分类回收系统,可作为毕业设计 小…