加入收藏 | 设为首页 | 会员中心 | 我要投稿 岳阳站长网 (https://www.0730zz.com/)- 物联平台、混合云存储、数据仓库、智能推荐、智能数字人!
当前位置: 首页 > 运营中心 > Nginx > 正文

Gunicorn和Django与Upstart和Nginx

发布时间:2021-02-21 06:33:14 所属栏目:Nginx 来源:互联网
导读:首先我有很多Django实例的设置和运行这样.在每个项目中,我都有一个script.sh shell脚本,可以开始弹药等: #!/bin/bash set -e LOGFILE=/var/log/gunicorn/app_name.log LOGDIR=$(dirname $LOGFILE) NUM_WORKERS=3 # user/gr

首先我有很多Django实例的设置和运行这样.

在每个项目中,我都有一个script.sh shell脚本,可以开始弹药等:

 #!/bin/bash
  set -e
  LOGFILE=/var/log/gunicorn/app_name.log
  LOGDIR=$(dirname $LOGFILE)
  NUM_WORKERS=3
  # user/group to run as
  USER=root
  GROUP=root
  PORT=8060
  IP=127.0.0.1
  cd /var/www/webapps/app_name
  source ../bin/activate
  test -d $LOGDIR || mkdir -p $LOGDIR
  exec /var/www/webapps/bin/gunicorn_django -b $IP:$PORT -w $NUM_WORKERS 
    --user=$USER --group=$GROUP --log-level=debug --log-file=$LOGFILE 2>>$LOGFILE

当使用bash script.sh从命令行运行此脚本时,该网站工作完美,所以Nginx设置正确.

一旦我使用upstart与服务app_name启动应用程序启动,然后停止.它甚至不写入日志文件.

这是/etc/init/app_name.conf中的app_name.conf文件:

description "Test Django instance"
start on runlevel [2345]
stop on runlevel [06]
respawn
respawn limit 10 5
exec /var/www/webapps/app_name/script.sh

那么这里有什么问题?因为从命令行运行的原因,而是做起来不起作用.我不知道在哪里看错了什么? 最佳答案 嗯,我想出来了如果有人遇到这样的事情…

它基本上缺乏关于shell脚本的知识.

在注释掉每一行o脚本文件后,我发现了以下行的问题:source ../bin/activate和之后的所有内容.

问题是它前面有2个空格,现在我知道它需要一直保持一致.现在它有效

这是我如何想出来的:

tail -f /var/log/syslog
Jun 26 10:54:59 saturn7 init: app_name main process (3521) terminated with status 127

我发现状态127基本上是一个没有找到的命令.所以我知道问题其实是在脚本文件中.

但我不知道为什么bash ./script.sh会工作,不告诉我什么是错的?我需要阅读关于schell脚本

(编辑:岳阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读