【问题标题】:Tryton client doesn't connect via Internet port 8000Tryton 客户端未通过 Internet 端口 8000 连接
【发布时间】:2021-03-30 04:24:00
【问题描述】:

我的 Tryton ERP 在虚拟机上本地运行,运行正常。

但是,客户端无法通过互联网连接到它。

nmap 报告端口 8000 已“关闭”,即那里没有任何监听。

~# nmap -PN -p 8000 <IP>

Starting Nmap 5.21 ( http://nmap.org ) at 2014-03-05 12:29 EST
Nmap scan report for <IP>
Host is up (0.00017s latency).
PORT     STATE  SERVICE
8000/tcp closed http-alt

但是,我的 trytond.conf 文件看起来是正确的,有

jsonrpc = *:8000

和数据库连接参数。 (在 Azure 上类似设置的不同 VM 可以正常工作。) 完整的连接文件如下。

AFAIK,netstat 报告它只在 localhost 上监听 8000 端口:

~# netstat -tupan | grep 8000
tcp        0      0 127.0.0.1:8000          0.0.0.0:*               LISTEN    
        10051/python
tcp        0      0 127.0.0.1:8000          127.0.0.1:58296         ESTABLISHED 
        10051/python
tcp        0      0 127.0.0.1:58296         127.0.0.1:8000          ESTABLISHED       
        13842/python

因为在我其他一切正常的 VM 上,netstat 输出不同:

root@Tryton:~# netstat -tupan | grep 8000
tcp6       0      0 :::8000                 :::*                    LISTEN
        1310/python

但是我做错了什么? 我改变某些东西的唯一参考点是 trytond.conf 文件,对吧?

这里是:

#This file is part of Tryton.  The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
[options]

# Activate the json-rpc protocol
jsonrpc = *:8000
#ssl_jsonrpc = False

# This is the hostname used when generating tryton URI
#hostname_jsonrpc =

# Configure the path of json-rpc data
#jsondata_path = /var/www/localhost/tryton

# Activate the xml-rpc protocol
#xmlrpc = *:8069
#ssl_xmlrpc = False

# Activate the webdav protocol
#webdav = *:8080
#ssl_webdav = False

# This is the hostname used when generating WebDAV URI
#hostname_webdav =

# Configure the database type
# allowed values are postgresql, sqlite, mysql
db_type = postgresql

# Configure the database connection
#    # Note: Only databases owned by db_user will be displayed in the connection dialog
#    # of the Tryton client. db_user must have create permission for new databases
#    # to be able to use automatic database creation with the Tryton client.
db_host = localhost
db_port = 5432
db_user = postgres
db_password = postgres_password
db_minconn = 1
db_maxconn = 64

# Configure the postgresql path for the executable
#pg_path = None

# Configure the Tryton server password
admin_passwd = admin_password

# Configure the path of the files for the pid and the logs
#pidfile = False
#logfile = False

#privatekey = server.pem
#certificate = server.pem

# Configure the SMTP connection
#smtp_server = localhost
#smtp_port = 25
#smtp_ssl = False
#smtp_tls = False
#smtp_password = False
#smtp_user = False
#smtp_default_from_email = False

# Configure the path to store attachments and sqlite database
data_path = /var/lib/tryton

# Allow to run more than one instance of trytond
#multi_server = False

# Configure the session timeout (inactivity of the client in sec)
#session_timeout = 600

# Enable auto-reload of modules if changed
#auto_reload = True

# Prevent database listing
#prevent_dblist = False

# Enable cron
# cron = True

# unoconv connection
#unoconv = pipe,name=trytond;urp;StarOffice.ComponentContext

# Number of retries on database operational error
# retry = 5

# Default language code
# language = en_US

# Timezone of the server
timezone = 0

【问题讨论】:

    标签: port ubuntu-12.04 tryton


    【解决方案1】:

    事实证明配置文件完全正确,正如我所想的那样。

    整个问题只是 Tryton 服务器在更改后没有正确读取它,因为它的重启存在问题。

    Unity 桌面报告说它需要“重新启动以安装更新”(我不知道从 Windows 开始吗?),在我这样做之后,端口自动打开。

    系统重启前,重启Tryton服务器只产生:

    sudo /etc/init.d/tryton—server restart
    * Restarting Tryton Application Platform trytond
    start—stop—daemon: warning: failed to kill 18175: No such process    
    [ 0K ]
    

    我已经使用 [OK] 来暗示服务器已经重新启动。 但不,它没有!

    系统重启后,我得到了正确的信息:

    sudo /etc/init.d/tryton—server restart
    * Restarting Tryton Application Platform trytond
    [ 0K ]
    

    现在 netstat 输出也正确,客户端连接成功:

    # netstat -tupan | grep 8000
    tcp6       0      0 :::8000                 :::*                    LISTEN
    1792/python
    

    【讨论】:

      【解决方案2】:

      特里顿 3

      我有同样的问题,这实际上是我的麻烦的原因:

      但是,我的 trytond.conf 文件看起来是正确的,有

      jsonrpc = *:8000
      

      correct syntax(至少对于最新版本,3.4 到 3.8)如下:

      [jsonrpc]
      listen = *:8000
      

      作为旁注,使用--verbose 标志运行trytond 可以在控制台中进行调试(或者您也可以使用logfiles,使用--logconf logconf.conf 输入trytond)。

      特里顿 5

      升级后再次遇到Network Error! [Errno 111] Connection refused 问题。 Trytond 5.8.5 it should be 的语法似乎再次更改,如下所示:

      [web]
      listen = *:8000
      

      【讨论】:

        猜你喜欢
        • 2011-11-05
        • 2018-01-06
        • 1970-01-01
        • 1970-01-01
        • 2023-04-10
        • 2018-04-23
        • 2020-11-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多