zato server启动后自动关闭问题解决

本文介绍了一种常见的情况:使用zatostartserver启动Zato服务器后,服务器出现自动关闭的问题及解决方法。错误主要源于UnicodeDecodeError,并提供了解决方案——在脚本中设置默认编码为gb18030。

阅读目录

症状

zato start server 启动server后,过一会server自动关闭了

解决

查看日志

复制代码
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 269: ordinal not in range(128)
Traceback (most recent call last):
  File "/opt/zato/2.0.5/eggs/gunicorn-18.0-py2.7.egg/gunicorn/arbiter.py", line 494, in spawn_worker
    self.cfg.post_fork(self, worker)
  File "/opt/zato/2.0.5/zato-server/src/zato/server/base/parallel.py", line 817, in post_fork
    ParallelServer.start_server(worker.app.zato_wsgi_app, arbiter.zato_deployment_key)
  File "/opt/zato/2.0.5/zato-server/src/zato/server/base/parallel.py", line 763, in start_server
    is_first = parallel_server._after_init_common(server, zato_deployment_key)
  File "/opt/zato/2.0.5/zato-server/src/zato/server/base/parallel.py", line 330, in _after_init_common
    is_first = self.maybe_on_first_worker(server, self.kvdb.conn, deployment_key)
  File "/opt/zato/2.0.5/zato-server/src/zato/server/base/parallel.py", line 249, in maybe_on_first_worker
    import_initial_services_jobs()
  File "/opt/zato/2.0.5/zato-server/src/zato/server/base/parallel.py", line 215, in import_initial_services_jobs
    self.service_sources, self.base_dir)
  File "/opt/zato/2.0.5/zato-server/src/zato/server/service/store.py", line 125, in import_services_from_anywhere
    self.import_services_from_directory(item_name, base_dir)
  File "/opt/zato/2.0.5/zato-server/src/zato/server/service/store.py", line 175, in import_services_from_directory
    self.import_services_from_file(py_path, False, base_dir)
  File "/opt/zato/2.0.5/zato-server/src/zato/server/service/store.py", line 158, in import_services_from_file
    mod_name, file_name, format_exc(e))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 269: ordinal not in range(128)
复制代码

搜索,解决方法

在报错的页面添加代码:

import sys 
reload(sys) 
sys.setdefaultencoding('gb18030')

 




本文转自jihite博客园博客,原文链接:http://www.cnblogs.com/kaituorensheng/p/4821313.html,如需转载请自行联系原作者

Zato 是一个 Python 编写的开源企业服务总线(ESB),用于构建和集成微服务应用程序。下面是在 Ubuntu 系统上安装 Zato 的步骤: 1. 确保你的系统上已经安装了 Python 2.7 或 Python 3.4+。 2. 安装 Zato 的依赖项。在终端中运行以下命令: ``` $ sudo apt-get update $ sudo apt-get install gcc python-dev libxml2-dev libxslt1-dev zlib1g-dev ``` 3. 下载 Zato 安装程序。在终端中运行以下命令: ``` $ wget https://zato.io/downloads/3.1/zato-3.1.0.tar.gz ``` 4. 解压缩 Zato 安装程序。在终端中运行以下命令: ``` $ tar xvfz zato-3.1.0.tar.gz ``` 5. 进入解压缩后的目录。在终端中运行以下命令: ``` $ cd zato-3.1.0 ``` 6. 运行 Zato 安装程序。在终端中运行以下命令: ``` $ ./install.sh ``` 7. 按照提示进行安装。在安装过程中,你需要设置 Zato 的管理员密码和 Web 管理界面的端口号等信息。 8. 安装完成后,启动 Zato 服务器。在终端中运行以下命令: ``` $ zato start ``` 9. 检查 Zato 服务器是否启动成功。在终端中运行以下命令: ``` $ zato status ``` 如果看到类似以下输出,则表示 Zato 服务器已经启动成功: ``` Zato services status: * Load balancer is running (/opt/zato/3.1.0/zato-lb1.pid) * Server1 is running (/opt/zato/3.1.0/server1.pid) * Server2 is running (/opt/zato/3.1.0/server2.pid) * Scheduler is running (/opt/zato/3.1.0/zato-scheduler.pid) ``` 恭喜你,现在你已经成功安装了 Zato
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值