标签: uwsgi

centos 7 systemd :活动:失败(结果:启动限制)

我想用我的Django项目使用uwsgi
我测试usgi --ini uwsgi.ini 效果很好

而我想写进去systemd控制它
面对错误

这是我的文件

/etc/systemd/system/mysite.service

[Unit]
Description=uWSGI for proj
After=syslog.target

[Service]
Restart=always
ExecStart=/usr/bin/uwsgi --ini  /usr/share/nginx/ENV/proj/proj/uwsgi.ini
StandardError=syslog
KillSignal=SIGQUIT
Type=forking
NotifyAccess=main

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

我第一次使用systemctl restart mysite.service
它效果很好,然后我使用systemctl stop mysite.service
然后重新启动systemctl restart mysite.service

但是停止后它无法重新启动
我收到错误:

proj.service - uWSGI for proj
   Loaded: loaded (/usr/lib/systemd/system/proj.service; disabled)
   Active: failed (Result: start-limit) since Fri 2015-11-13 13:40:35 CST; 887ms ago
  Process: 4297 ExecStart=/usr/bin/uwsgi --ini /usr/share/nginx/ENV/proj/proj/uwsgi.ini (code=exited, status=0/SUCCESS)
 Main PID: 4298 (code=exited, status=0/SUCCESS)

Nov 13 13:40:35 localhost.localdomain systemd[1]: proj.service …
Run Code Online (Sandbox Code Playgroud)

centos systemd services uwsgi

9
推荐指数
1
解决办法
4万
查看次数

为什么进程被 nohup 杀死

我想在后台运行一个进程而不在 shell 退出时杀死它,根据 Nohup 概念,以下命令应该可以工作,直到我手动杀死它:

nohup uwsgi --http :8008  --module crawled_data_center.wsgi > /dev/null &
Run Code Online (Sandbox Code Playgroud)

我使用 root 用户登录到 shell,但是在退出 shell 后,进程终止了。这看起来很奇怪,因为我nohup在几个项目中使用了几次并且工作正常,但在这种情况下我很糟糕,有什么问题,我怎样才能在后台运行它而不在 shell 退出时杀死它?

更新:

我处理它:

$ nohup uwsgi --http :8008  --module crawled_data_center.wsgi > /dev/null &
$ disown -l
$ disown -h JOBID
Run Code Online (Sandbox Code Playgroud)

但我的问题是关于它怎么SIGHUP可能杀死nohup&

以下是内容/etc/systemd/logind.conf

[Login]
#NAutoVTs=6
#ReserveVT=6
#KillUserProcesses=no
#KillOnlyUsers=
#KillExcludeUsers=root
Controllers=blkio cpu cpuacct cpuset devices freezer hugetlb memory perf_event net_cls net_prio
ResetControllers=
#InhibitDelayMaxSec=5
#HandlePowerKey=poweroff
#HandleSuspendKey=suspend
#HandleHibernateKey=hibernate
#HandleLidSwitch=suspend
#PowerKeyIgnoreInhibited=no
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
#LidSwitchIgnoreInhibited=yes …
Run Code Online (Sandbox Code Playgroud)

nohup background-process uwsgi

7
推荐指数
1
解决办法
2万
查看次数

让 uwsgi 在重启时创建“/run/uwsgi”文件夹的最佳方法是什么?

我已经设置了一个 Django 项目来与 uwsgi 和 nginx 一起运行,并且一切都按预期运行,只是当我重新启动时,uwsgi 将无法正确启动,直到在 fs 上重新创建 /run/ 文件夹。/run 映射到 'tmpfs',因此需要在每次启动时重新创建。

我有一个为 uwsgi 创建的 systemd 服务文件:

[Unit]
Description=uWSGI Module
After=syslog.target

[Service]
ExecStart=/usr/bin/uwsgi --ini /etc/uwsgi.ini
Restart=always
KillSignal=SIGQUIT
Type=notify
StandardError=syslog
NotifyAccess=main

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

/etc/uwsgi.ini文件如下所示:

[uwsgi]
uid = uwsgi
gid = uwsgi
pidfile = /run/uwsgi/uwsgi.pid
stats = /run/uwsgi/stats.sock
socket = /run/uwsgi/uwsgi.sock
master = true
processes = 1
chdir = /path/to/our/django/app
module = icscada
max-requests = 100
daemonize = /var/log/uwsgi.log
Run Code Online (Sandbox Code Playgroud)

/run/uwsgi在每次启动时重新创建文件夹的推荐方法是什么?

systemd uwsgi

6
推荐指数
3
解决办法
1万
查看次数

标签 统计

uwsgi ×3

systemd ×2

background-process ×1

centos ×1

nohup ×1

services ×1