我已经下载了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公开如下:
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
选项将被忽略。如果我输入不正确,则会看到错误。进程文件中的参数不会引发任何错误,因此系统必须识别该参数。不过,显示的here测试n-gram不会返回任何结果,因此我知道它无法正确加载。
我想知道如何使--languagemodel
选项与systemd一起使用。
答案 0 :(得分:0)
首先,大写很重要。 --languageModel
选项仅在使用驼峰式书写方式时才被systemd识别。
第二,该错误不是我自己的任何错误,而是由LanguageTool当前版本中的错误引起的。提到了一个解决方法here。使用版本5.0
的快照可修复该错误。现在使用外部n元语法生成结果。 4.9.1
版将在未来几天内发布,其中包含该错误的修复程序。