【问题标题】:LanguageTool Java app running as a systemd service. `--languagemodel` argument is ignoredLanguageTool Java 应用程序作为 systemd 服务运行。 `--languagemodel` 参数被忽略
【发布时间】:2020-07-08 18:20:42
【问题描述】:

我已经下载了LanguageTool server。我为该应用创建了一个 systemd 进程,以确保它可以轻松管理并在启动时开始:

系统

[Unit]
Description=LanguageTool Service

[Service]
WorkingDirectory=/opt/languagetool
ExecStart=/usr/bin/java -cp /usr/local/LangAnalysisApp/LangTool/LanguageTool-4.9/languagetool-server.jar org.languagetool.server.HTTPServer --port 8081 --languagemodel /mnt/languagetool-volume/languagetool-ngrams --allow-origin '*'
StandardOutput=syslog+console+/var/log/languagetool.log
StandardError=syslog+console+/var/log/languagetool.log
User=www-data
Type=simple
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

通过nginx暴露端口如下:

NGINX

server {
    listen 80;
    server_name my.domain.com;
    root /var/www/my.domain.com/public_html;

    index index.html;

    charset utf-8;

    access_log off;
    error_log  /var/log/nginx/my.domain.com-error.log error;

    location /v2/check {
        proxy_pass http://localhost:8081/v2/check;
    }

}

--languagemodel 选项被忽略。如果我输入不正确,那么我会看到错误。进程文件中的参数不会抛出任何错误,因此必须被系统识别。不过,显示的测试 n-gram here 没有返回任何结果,所以我知道它没有正确加载。

我想知道如何使 --languagemodel 选项与 systemd 一起使用。

【问题讨论】:

  • 对于nginx我们需要修改哪个文件?
  • @Porcupine 它将进入一个新文件 '/etc/nginx/sites-available/my.domain.com' 然后您可以使用 'ln -sf /etc/nginx/ 创建一个符号链接站点可用/my.domain.com /etc/nginx/sites-enabled/'。最后,使用 'sudo systemctl restart nginx' 重启 nginx。
  • 谢谢。我按照你说的做了,但我得到 systemctl 错误 216(无法确定或更改组凭据)。所以我添加了 Group=www-data。我检查了 www-data 在 Ubuntu 20.04 中作为组和用户存在。此外,nginx 被配置为此用户。但即使在添加 Group=www-data 之后,我也会得到同样的错误。另外,请问通过nginx暴露端口的目的是什么?对不起,我是初学者。
  • 您好,很抱歉回复缓慢。我不知道那个错误,但是如果 systemd 试图更改组凭据,那么这可能意味着该文件不属于 www-data? RE:公开端口...我正在创建单独的 Web 应用程序以对 LanguageTool 服务器进行 API 调用,因此,对于我的用例,最简单的方法是公开端口并通过 HTTP 发出请求。如果您将 LanguageTool 集成到您的应用程序本身,那么您可能不需要这样做。

标签: linux nginx systemd init.d languagetool


【解决方案1】:

首先,大写很重要。 --languageModel 选项只有在以驼峰写时才被 systemd 识别。

其次,这个错误不是我自己的错,而是由当前版本的 LanguageTool 中的错误引起的。提到了一个修复here。使用版本5.0 的快照修复了该错误。现在使用外部 n-gram 来生成结果。 4.9.1 版本将在未来几天内发布,其中包含对该错误的修复。

【讨论】:

    猜你喜欢
    • 2019-11-19
    • 1970-01-01
    • 2010-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多