如何更新JQuery到3.5.x
在编写本指南时,Wasp AC和IC的外部扫描声称他们使用JQuery 1.2。这给一些需要更新版本的客户带来了一个问题。
在我们的例子中,RabbitMQ很容易被锁定,所以没有安全漏洞暴露,但一些客户认为升级RabbitMQ比解释过时的JQuery的存在更好。
升级JQuery不像升级应用程序。相反,必须升级使用JQuery的软件。AC和IC的情况下,这是RabbitMQ。由于RabbitMQ与Erlang紧密绑定,升级RabbitMQ就必须升级Erlang。
这两个包都不容易升级。但这是可以做到的。
注:本文档指程序文件文件夹C:\ program files。实际的驱动器和文件夹可能不同。安全的方法是使用Windows命令行变量% ProgramFiles %.
如果您的%ProgramFiles%在某个备用驱动器上,例如驱动器X:,那么它将解析为X:\Program Files而不是C:\Program Files。
先决条件
为这个过程做好准备,把你需要的东西整理好。
RabbitMQ
在开始之前,获取一个RabbitMQ的安装程序,它将使用新的JQuery 3.8或更新版本。这里的示例调用了RabbitMQ 3.9.5。安装程序为rabbitmq-server-3.9.5.exe。
RabbitMQ的每个版本都有一个特定的Erlang版本范围。这让我们想到:
RabbitMQ的网站页面经常移动,所以你可能需要搜索正确的下载和兼容性页面。以下是撰写本文时的工作原理:
- RabbitMQ Erlang版本要求- RabbitMQ(https://www.rabbitmq.com/which-erlang.html)
- Windows上安装- RabbitMQ(https://www.rabbitmq.com/install-windows.html)
- https://github.com/rabbitmq/rabbitmq-server/releases
Erlang
这个例子使用了Erlang 24, RabbitMQ网站上说Erlang 24适用于RabbitMQ 3.9.5。它的安装程序是otp_win64_24.0.exe。
网站页面经常变化,因此您可能需要搜索合适的Erlang。在撰写本文时,该网站正在
- Erlang编程语言(https://www.erlang.org/downloads)
RabbitMQ配置JSON
准备一个JSON文件,稍后将用于配置RabbitMQ。最简单和最安全的方法是导出现有配置。
导出现有RabbitMQ配置
打开Edge等浏览器(不要使用IE)。
- 导航到http://127.0.0.1:15672/#/
- 2 .登录RabbitMQ控制台。在本例中,guest帐户处于活动状态。
- 向下滚动Overview选项卡
- 展开导出定义部分
- 单击“下载代理定义”并保存文件。
如果您的浏览器没有设置为让您选择名称和位置,那么您可能会发现将其移动到具有更好名称的更好位置是有用的。
系统
确保操作系统完全更新。多次检查Windows更新。重新启动,直到没有挂起的重新启动。这通常需要多次检查更新、应用更新、重新启动并再次检查。
过程
停止浏览网站
- 在IIS下,停止Wasp网站(STS、API和WASP_AC或WASP_IC)。注意,旧版本将有一个MVC站点,而不是WASP_AC或WASP_IC。
停止服务
- 在服务。将“黄蜂现在”和“黄蜂以后”服务的“恢复”属性设置为“不采取任何行动”。这使得停止服务更容易。
- 检查RabbitMQ服务的“Recovery”设置。如果有必要,将它们设置为“不采取任何行动”。
- 停止“稍后”服务,然后停止“现在”服务。
- 停止RabbitMQ服务。
卸载Erlang和RabbitMQ
请注意,这必须使用安装Wasp Barcode AC或IC软件时使用的相同用户帐户。
关闭RabbitMQ服务
- 以管理员模式打开命令提示符。
- 输入:pushd % RABBITMQ_SERVER %
如果您的Wasp安装设置正确,您现在的状态如下:
C:\Program Files\RabbitMQ\ rabbitmq_server-3.7.17
- 输入:pushd sbin
- 输入:rabbitmq-service.bat删除
- 签入服务。查看RabbitMQ服务已经消失。你可能需要刷新。
- 如果服务仍然存在并且处于“已禁用”状态,则在继续之前需要重新启动计算机。
保留命令提示符。你以后会需要的。
卸载Erlang
- 在Appwiz。cpl,卸载Erlang OTP 21 (10.x)。
- 卸载完成后,打开任务管理器,切换到Details选项卡,按名称排序,然后寻找epmd.exe。
去激活RabbitMQ和卸载Erlang应该停止这个exe,但它没有。
- 右键单击epmd.exe并打开它的属性。这将提供您接下来需要的位置。
- 在管理员命令提示符中,导航到指定的位置。
"C:\Program Files\erl10.2\erts-10.2\bin"
- 输入:epmd.exe杀死
- 在任务管理器中,检查epmd.exe是否不再存在。
- 导航回“程序文件”,这样命令提示符就不会锁定文件夹。
删除.erlang。饼干文件
- 找到旧的.erlang。并删除Cookie文件。
在%userprofile%和Windows\System32\config\systemprofile\中查找文件的副本。注意,现代Windows可能会试图阻止您直接访问系统概要文件目录。您可能必须向下钻取,一次钻取一个文件夹,并授予访问每个文件夹的权限。
安装新的Erlang
- 将现有的Erlang文件夹(%ProgramFiles%\erl10.2)重命名为erl10.2.deprecated。或者直接删除它。
- 安装Erlang。本例中为otp_win64_24.0.exe。请参见先决条件部分。
- 在本例中,我们将安装到%ProgramFiles%\erl-24.0的默认位置。
- 您可以选择“不创建快捷方式”选项。
安装新的RabbitMQ
- 将现有的旧RabbitMQ文件夹(%ProgramFiles%\RabbitMQ)重命名为RabbitMQ.deprecated。
- 安装新的RabbitMQ。在本例中,安装程序是rabbitmq-server-3.9.5.exe。请参见先决条件部分。
- 确保“RabbitMQ Service”组件被选中。
- 安装到文件夹%ProgramFiles%\RabbitMQ。您应该选择旧RabbitMQ最初使用的文件夹名称。虽然您可以安装到不同的文件夹中,但配置该文件夹用于Wasp AC或IC超出了本文的范围。
- 安装RabbitMQ会触发两个Windows安全警报。同时允许访问。
配置RabbitMQ
环境变量
使用您喜欢的方法设置环境变量。一些人在管理员命令提示符中使用Setx,另一些人打开旧的系统属性对话框并转到环境变量。
- 如果前面的步骤正确,则ERLANG_HOME已经正确设置。如果没有,从管理员命令行(cmd.exe)执行这些命令:
- 确定Program Files目录的MSDOS 8.3短文件名
目录/s "%ProgramFiles%\.."
”PROGRA ~ 1是我们想要的简称。忽略“Program Files (x86)”。
注意:请密切注意字符串PROGRA~1中的数字和驱动器号。它并不总是#1,也不是所有的机器都使用C盘:
注意:示例使用"setx /M",但你也可以使用环境变量popup。
- 使用8.3中的“Program Files”短文件名来设置ERLANG_HOME环境变量。
setx /M ERLANG_HOME "C:\PROGRA~1\erl-24.0" - 设置RABBITMQ_SERVER环境变量。
setx /M RABBITMQ_SERVER "%ProgramFiles%\RabbitMQ\ RABBITMQ_SERVER -3.9.5" - 设置RABBITMQ_BASE环境变量。
setx /M RABBITMQ_BASE "%ProgramFiles%\RabbitMQ\ RabbitMQ server-3.9.5" - 此时关闭所有命令提示符,以确保设置了变量。
注意:您可以通过转到windows任务栏并运行“env”来弹出旧的环境变量,然后编辑[环境变量]而不是使用“对于setx / M命令行
RabbitMQ设置
- 以管理员模式打开命令提示符。
- 输入:pushd "%ProgramFiles%\RabbitMQ\rabbitmq_server-3.9.5\sbin"
- 输入:rabbitmq-service.bat install
- 完成后,打开Services。msc,刷新,找到RabbitMQ并检查属性。可执行文件的路径应该是“C:\Program Files\erl-24.0\erts-12.0\bin\erlsrv.exe”
- 切换到恢复选项卡,并将所有三个重启操作设置为“重新启动服务”
- 设置重启时间为0。
回到管理员命令提示符,
- 执行命令rabbitmq-plugins.bat enable rabbitmq_management
- 执行:rabbitmq-plugins.bat list
启动RabbitMQ服务
- 执行命令rabbitmq-service start
- 刷新服务。msc UI
- 检查RabbitMQ是否正在运行
以Guest身份登录
请勿使用ie浏览器进行以下操作。你可以使用Edge、Firefox、Chrome或其他喜欢的浏览器。
- 浏览http://127.0.0.1:15672/#/
- 以guest身份登录,密码为guest
检查.erlang。饼干文件
- 在文件资源管理器中,导航到%windir%,然后到子文件夹System32\config\systemprofile
- 找到.erlang。饼干文件。注意时间戳和大小。应该是今天。
- 打开另一个文件资源管理器并导航到%UserProfile%
- 如果一切正常,将会有一个匹配的.erlang。饼干文件。如果有差异,将文件从SystemProfile复制到用户配置文件区域。
导入JSON配置文件
请注意RabbitMQ可能已经找到并保留了你之前的配置,这一步是无害的,但没有必要。
- 回到登录到RabbitMQ控制台的浏览器中,向下滚动Overview选项卡。
- 展开“导入定义”
- 选择您准备的JSON文件作为先决条件
- 上传定义
查看交易所
你会发现现在的交流包括:
- dead_letter_exchange
- mobile_data_exchange
- scheduled_job_later_exchange
- scheduled_job_now_exchange
检查队列
你会发现队列现在包括:
- dead_letter_queue
- mobile_data_queue
- scheduled_job_later_queue
- scheduled_job_now_queue
检查管理员
用户现在应该包括:
- mobile_processor
- mobile_runner
- scheduled_job_requester
- scheduled_job_runner
- scheduled_job_scheduler
启动Wasp服务
在Services.msc中:
- 启动Wasp Now服务。
- 启动Wasp Later服务。
- 将“现在”和“以后”服务恢复选项重置为“重新启动服务”,延迟为0分钟。对于1,应该这样做圣, 2nd和3理查德·道金斯失败。
启动Web服务
在IIS:
- 启动Wasp STS、API和Wasp_AC或IC网站。
- 浏览这些站点并验证它们是否正常运行。
查看JQuery版本
检查JQuery版本的确切过程取决于您使用的浏览器。
- 登录AC。
- 激活开发人员工具。在Microsoft Edge浏览器中,这是F12。
对于Chrome或Mozilla Firefox,这是Control+Shift+I - 进入“控制台”选项卡。
输入:$ () .jquery
如果$()。Jquery不工作,请尝试:console.log (jQuery () .jquery);
- 版本号为3.5.x。
RabbitMQ的手动更新到此结束。