【问题标题】:MediaWiki - VisualEditor Extension: (curl error: 28) Timeout was reachedMediaWiki - 可视化编辑器扩展:(卷曲错误:28)已达到超时
【发布时间】: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

我已通过执行以下操作安装了可视化编辑器扩展:

  1. ExtensionDistributor 页面下载可视化编辑器。拿到代码后,我把它保存到我wiki的/opt/bitnami/apps/mediawiki/htdocs/extensions/VisualEditor目录中。

    我已经安装了 1.32 版(最新的稳定版 MediaWiki)

  2. 我已按照安装说明安装了 Parsoid,可在此处找到:https://www.mediawiki.org/wiki/Parsoid/Setup

  3. 我已将以下代码添加到我的 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'
    
    );
    
  4. 我已更改 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
    
  5. 我还在/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


【解决方案1】:

您的节点应该是版本 6 或更高版本才能运行Parsoid 0.9.0,以检查此运行:

node -v

如果它不是至少版本 6 尝试更新节点,你应该能够这样做:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

尝试将Config.yamlLocalSettings.php中的地址更改为localhost

如果您收到 HTTP:401,请按照说明操作 here

【讨论】:

  • 谢谢迪伦。我也尝试过,但仍然没有运气:Nodejs -v 显示:v8.15.0 npm -v 现在是:6.4.1 我仍然遇到与以前相同的错误,并且 Parsoid.log 看起来几乎再次相同。
  • 你运行的是什么版本的 parsoid?
  • 我在执行后得到了这个:curl http://localhost:8142/version{"name":"parsoid","version":"0.10.0"} 所以版本 0.10.0
  • 是的!我还将 LocalSettings.php 和 Config.yaml 更改为指向 localhost 而不是指向 40.68.204.191。现在,在我的 wiki 中尝试使用 VisualEditor 时,我收到以下错误:Error loading data from server: apierror-visualeditor-docserver-http: HTTP 401. Would you like to retry?
  • 这绝对是进步!
猜你喜欢
  • 2023-01-29
  • 2015-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多