作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试使用 ThreadedTCPServer
部署一个用 python 编写的 tcp
服务器。
可以在beantalk中运行这个TCP服务器吗?
我不想使用或更改 WSGI
服务器。
我实现的临时解决方案是创建一个已安装 tcp
服务器的镜像,当它启动时,它会自动启动服务器。我的 beantalk 使用自定义 ami
来创建新实例。
然而,这样做,我无法利用 beantalk 的好处(日志、git aws.push
等)
最佳答案
您可以使用 container_command
来启动您的服务器进程。
我已经使用一些与我的 WSGI
服务器一起运行的后端进程来完成此操作,但我不明白为什么你不能在没有 WSGI 服务器的情况下也这样做。
这是我的 .ebextensions/appname.config 文件:
container_commands:
01_kill_old_server:
command: "pid=`ps -aefw | grep 'myserver.py' | grep -v ' grep ' | awk '{print $2}'`; kill -9 $pid > /dev/null 2>&1 "
ignoreErrors: true
02_start_server:
command: "nohup python ./myserver.py > foo.out 2> foo.err < /dev/null &"
每次您使用 git aws.push
进行部署时,它都会终止旧进程并从您的新代码启动一个新进程。
这是container_commands
文档:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html#customize-containers-format-container_commands
关于python - 使用 python 在 Elastic-beanstalk 中部署 TCP 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21731894/
我是一名优秀的程序员,十分优秀!