【发布时间】:2019-02-12 18:25:23
【问题描述】:
我在尝试借助可视化编辑器编辑页面时显示以下错误(以前还没有工作):
Error loading data from server: apierror-visualeditor-docserver-http-error: (curl error: 28) Timeout was reached. Would you like to retry?
我认为以上是端口问题,因为我执行命令时出于某种奇怪的原因无法访问端口 8142:
curl -L http://40.68.204.191:8142
并收到以下回复:
curl: (7) Failed to connect to 40.68.204.191 port 8142: Connection timed out
我已通过执行以下操作安装了可视化编辑器扩展:
-
从ExtensionDistributor 页面下载可视化编辑器。拿到代码后,我把它保存到我wiki的
/opt/bitnami/apps/mediawiki/htdocs/extensions/VisualEditor目录中。我已经安装了 1.32 版(最新的稳定版 MediaWiki)
我已按照安装说明安装了 Parsoid,可在此处找到:https://www.mediawiki.org/wiki/Parsoid/Setup
-
我已将以下代码添加到我的 LocalSettings.php 文件中:
wfLoadExtension( 'VisualEditor' );和
##### VisualEditor Config ##### // Enable by default for everybody $wgDefaultUserOptions['visualeditor-enable'] = 1; // Optional: Set VisualEditor as the default for anonymous users // otherwise they will have to switch to VE $wgDefaultUserOptions['visualeditor-editor'] = "visualeditor"; // Don't allow users to disable it $wgHiddenPrefs[] = 'visualeditor-enable'; // OPTIONAL: Enable VisualEditor's experimental code features #$wgDefaultUserOptions['visualeditor-enable-experimental'] = 1; $wgVirtualRestConfig['modules']['parsoid'] = array( // URL to the Parsoid instance // Use port 8142 if you use the Debian package 'url' => 'http://40.68.204.191:8142', // Parsoid "domain", see below (optional) 'domain' => '40.68.204.191', // Parsoid "prefix", see below (optional) 'prefix' => '40.68.204.191' ); -
我已更改 config.yaml 文件(用于 Parsoid 配置)中的 2 行代码,该文件可在我的虚拟机上的“/etc/mediawiki/parsoid”文件夹中找到:
# Configure Parsoid to point to your MediaWiki instances. mwApis: - # This is the only required parameter, # the URL of you MediaWiki API endpoint. # uri: 'http://localhost/api.php' uri: 'http://40.68.204.191/w/api.php' # before >> uri: 'http://localhost/w/api.php' # The "domain" is used for communication with Visual Editor # and RESTBase. It defaults to the hostname portion of # the `uri` property below, but you can manually set it # to an arbitrary string. # domain: 'localhost' # optional domain: '40.68.204.191' # optional # before >> domain: 'localhost' # optional 我还在
/etc/selinux文件夹内的semanage.conf文件末尾添加了SELINUX=permissive。
我已按照以下说明安装 Parsoid 和 VisualEditor:
https://www.mediawiki.org/wiki/Parsoid/Setup
https://www.mediawiki.org/wiki/Extension:VisualEditor
VisualEditor 和 Parsoid 是我在 MediaWiki 上安装的新扩展。
下图包含我在尝试使用 VisualEditor 时在我的 wiki 上显示的错误:
下面显示了尝试导航到http://40.68.204.191:8142/ 后的 Chrome 错误:
下面显示了我在 Google Chrome 中导航到 w/api.php 后的结果:
下面显示了尝试导航到http://40.68.204.191:8000/ 后的 Chrome 错误:
enter image description here
执行命令netstat -plantu 后显示以下内容:
enter image description here
我试过这个:sudo lsof -i -n -P | grep LISTEN,结果如下:
enter image description here
以下内容包含在/var/log/parsoid/parsoid.log中
{"name":"parsoid","hostname":"MediaWiki","pid":20623,"level":30,"levelPath":"info/service-runner","msg":"master(20623) initializing 1 workers","time":"2019-02-11T17:17:27.490Z","v":0}
{"name":"parsoid","hostname":"MediaWiki","pid":20644,"level":60,"moduleName":"../src/lib/index.js"," levelPath":"fatal/service-runner/worker","msg":"意外令牌 {","time":"2019-02-11T17:17:29.061Z","v":0} {"name":"parsoid","hostname":"MediaWiki","pid":20623,"level":40,"message":"first worker 在启动过程中死亡,继续启动","worker_pid":20644, "exit_code":1,"startup_attempt":1,"levelPath":"warn/service-runner/master","msg":"第一个worker在启动过程中死亡,继续启动","time":"2019-02- 11T17:17:30.091Z","v":0} 被杀 {"name":"parsoid","hostname":"MediaWiki","pid":22289,"level":30,"levelPath":"info/service-runner","msg":"master(22289)初始化 1 个工作人员","time":"2019-02-11T17:43:47.240Z","v":0} {"name":"parsoid","hostname":"MediaWiki","pid":22298,"level":60,"moduleName":"../src/lib/index.js","levelPath": "fatal/service-runner/worker","msg":"意外令牌 {","time":"2019-02-11T17:43:48.803Z","v":0} {"name":"parsoid","hostname":"MediaWiki","pid":22289,"level":40,"message":"第一个工人在启动期间死亡,继续启动","worker_pid":22298, "exit_code":1,"startup_attempt":1,"levelPath":"warn/service-runner/master","msg":"第一个worker在启动过程中死亡,继续启动","time":"2019-02- 11T17:43:49.815Z","v":0} 被杀 {"name":"parsoid","hostname":"MediaWiki","pid":14815,"level":30,"levelPath":"info/service-runner","msg":"master(14815)初始化 1 个工作人员","time":"2019-02-14T20:49:48.472Z","v":0} {"name":"parsoid","hostname":"MediaWiki","pid":14829,"level":60,"moduleName":"../src/lib/index.js","levelPath": "fatal/service-runner/worker","msg":"意外令牌 {","time":"2019-02-14T20:49:50.113Z","v":0} {"name":"parsoid","hostname":"MediaWiki","pid":14815,"level":40,"message":"第一个工人在启动期间死亡,继续启动","worker_pid":14829, "exit_code":1,"startup_attempt":1,"levelPath":"warn/service-runner/master","msg":"第一个worker在启动过程中死亡,继续启动","time":"2019-02- 14T20:49:51.131Z","v":0}
【问题讨论】:
-
好的,Parsoid 似乎是这里的问题。 40.68.204.191:8142 应该显示 Parsoid 文档。你确定那是它运行的端口吗?你确定它正在运行?如果这两个问题的答案都是肯定的,则可能与您的防火墙阻止请求有关。
-
如果您导航到40.68.204.191:8000 会发生什么?
-
通过 :8000 访问它时遇到同样的错误(见上文)
-
@Dylan 我刚刚执行了
service parsoid restart并没有收到任何错误。这些是我安装了 MediaWiki 的 VM 的详细信息:Static hostname: MediaWiki Icon name: computer-vm Chassis: vm Virtualization: microsoft Operating System: Ubuntu 16.04.5 LTS Kernel: Linux 4.15.0-1036-azure Architecture: x86-64 -
我假设我已经将 Parsoid 安装为一个包,因为我完全按照此处的安装说明进行操作:mediawiki.org/wiki/Parsoid/Setup#Ubuntu_/_Debian
标签: curl port mediawiki parsoid mediawiki-visualeditor