2016-02-08 13 views
5

Tôi đang cố gắng để bắt đầu một dịch vụ với người giám sát, nhưng tôi nhận được một lỗi nóiKhông thể khởi động dịch vụ với nohup do 'INFO spawnerr: lỗi làm điều vận chưa biết cho 'app_name': EACCES'

INFO spawnerr: lỗi làm điều vận chưa biết cho 'app_name': EACCES

dưới đây là tập tin supervisord.conf tôi:

[supervisord] 
logfile=/tmp/supervisord.log 
logfile_maxbytes=50MB ; change these depending on how many logs 
logfile_backups=10  ; you want to keep 
loglevel=info 
pidfile=/tmp/supervisord.pid 
nodaemon=true 
minfds=1024 
minprocs=200 

[rpcinterface:supervisor] 
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface 

[supervisorctl] 
serverurl=unix:///tmp/supervisor.sock socket 

[program:myscript] 
command= python -u /home/ubuntu/appfolder/app_name.py 
autostart=true 
autorestart=unexpected 
redirect_stderr=true 
stdout_logfile=/var/log/app_name.log 
+0

Có vẻ như bạn có vấn đề về quyền. Xác minh rằng chủ sở hữu của tệp nhật ký và app_name.py khớp với người dùng mà chương trình của bạn được thực thi. – odedfos

Trả lời

3

tôi đã có cùng một vấn đề - cần tây tiểu progr nhật ký đang được viết trong thư mục con nhật ký trong thư mục ứng dụng của tôi và hóa ra tôi đã đặt chủ sở hữu thành www-user trong khi tôi đang gỡ lỗi một vấn đề với Nginx. Tôi đã thay đổi chủ sở hữu của thư mục ứng dụng trở lại ubuntu (>> whoami)

sudo chown -R ubuntu:ubuntu /var/www/myapp/ 

để làm cho nó hoạt động.

0

tôi đã cùng một vấn đề, tôi khuyên bạn nên làm

sau
  1. Thêm người dùng chạy dịch vụ. user = youruser

  2. di chuyển đăng nhập của bạn để một người giám sát dir

từ:

logfile=/tmp/supervisord.log 

tới:

logfile=/var/log/supervisor/supervisord.log 

Cũng vậy đối với bạn PID nộp

pidfile=/tmp/supervisord.pid >> pidfile=/var/run/supervisor/supervisord.pid 

Make cả dirs

mkdir /var/run/supervisor/ 

mkdir /var/log/supervisor/ 

sau đó thay đổi các dir với

chown youuser:youuser -R /var/log/supervisor/ 

Nếu công việc doesnt này kiểm tra lại những người có thể viết về bạn log file và file pid.

ls -l /var/log/supervisor/supervisord.log 

Nếu nó vẫn doesnt làm việc cố gắng cập nhật bạn giám sát

0

Vấn đề là sự cho phép cho các file log Với người dùng chạy người giám sát bạn có thể tạo ra một "nhật ký" thư mục trong cùng một con đường file supervisord.conf và thay đổi:

logfile=/tmp/supervisord.log 

để

logfile=logs/supervisord.log 
+0

Cùng một vấn đề ở đây, tuy nhiên tôi đã chuyển hướng các bản ghi. Một 'touch logs/supervisord.log' đơn giản chỉ ra rằng, vì lý do gì đó, tôi không có quyền ghi cho thư mục đó. Thêm quyền ghi đã sửa nó. – AlbinoDrought

Các vấn đề liên quan