我使用(server.py)运行python CGIHTTPServer
#!/usr/bin/env python
import CGIHTTPServer
def main():
server_address = ('', 8000)
handler = CGIHTTPServer.CGIHTTPRequestHandler
handler.cgi_directories = ['/cgi']
server = CGIHTTPServer.BaseHTTPServer.HTTPServer(server_address, handler)
try:
server.serve_forever()
except KeyboardInterrupt:
server.socket.close()
if __name__ == '__main__':
main()我尝试使用linux服务
#!/bin/sh
case $1 in
start)
./server.py
;;
stop) # code to stop the service
esac问题1:当我启动服务时,它将驻留在终端中,而不是返回到下一个bash命令行。因此,服务将在关闭终端时停止。在关闭终端后,如何使web服务器保持活动状态?
问题2:如何停止此服务?(在通过问题1继续进行之后)
发布于 2011-12-04 10:46:23
从以下背景开始您的程序:
不./server.py &
停止服务的首选方法是以服务的PID作为参数,发出杀死命令。
#!/bin/sh
case $1 in
start)
nohup ./server.py &
echo $! > ./server.pid
;;
stop) # code to stop the service
kill `cat ./server.pid`
esac开始-停止-守护进程在评论中出现更好,但稍微复杂一些。
发布于 2011-12-04 10:14:28
使用主管。它比滚动您自己的服务管理代码容易得多。它包括监视、控制、有限重新启动、状态日志记录、自定义事件通知以及用于编程控制监控器的XML。
它还将通过一个配置更改启动web服务器的多个实例(如果适合您的架构),甚至管理共享一个套接字的多个FastCGI实例。
https://stackoverflow.com/questions/8374523
复制相似问题