flask+gunicorn快速部署到服务器

#以下是一个脚本文件

ps aux | grep 'main' | grep -v grep | awk -F ' ' '{print$2}' | xargs kill -9
#“grep 'main' ”的输出结果是,所有含有关键字“main”的进程。“grep -v grep”是在列出的进程中去除含有关键字“grep”的进程。“awk -F ' ' '{print$2}' "是以空格截取输入行的第二个字符串,而这正好是进程号PID,-F指定分隔符。“xargs kill -s 9”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -s 9”命令的参数,并执行该命令。“kill -s 9”会强行杀掉指定进程。

#linux中的单引号和双引号的确对转义字符有不同的分别,但前提是系统的转义字符,例如:$,>,<等(系统保留字),而grep对单引号和双引号对grep一样,是因为设计时grep天生支持正则表达式,所以在grep看来,它的转义字符包括两部分,一部分就是系统保留字,另一部分就是正则表达式的转义字符,比如,^是正则表达式的转义字符,但由于他并非系统保留字,所以对它来讲,单引号和双引号都是一样的,但是不加引号就不起作用。但如果你要查找的信息中包含$,例如:"$boy"和'$boy‘'就不一样,因此,对于系统保留字,grep依然满足不同引号的不同用法,但是对正则表达式的转义字符,则对引号不敏感。问题本身,若是查找关键字中存在空格,则需要加引号

nohup python3 ./www/run.py > www.log 2>&1 &

#如果不将 nohup 命令的输出重定向,输出将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。此处永久运行run.py文件并将日志写入www.log。

#2>&1:linux中 0:标准输入;1:标准输出;2:标准错误,意思为把错误信息定向到前一个(第一个&的作用)打开的文件当中去。

nohup gunicorn -t 50 -w 3 -b 127.0.0.1:12006 main:app

#参数具体看gunicorn配置

猜你喜欢

转载自blog.csdn.net/weixin_39220714/article/details/82529174