Gunicorn Service no such file or directory

January 11, 2019 9k views
Django Ubuntu 18.04

Hello guys i followed the tutorial down to the teeth but still having this one error i can not get rid of

my gunicorn.service

Description=gunicorn daemon


ExecStart=/home/tom/projects/muzilla/muzillaenv/gunicorn \
          --access-logfile - \
          --workers 3 \
          --bind unix:/run/gunicorn.sock \


The error I’m getting

Jan 11 15:01:10 systemd[1]: Started gunicorn daemon.
Jan 11 15:01:10 systemd[10533]: gunicorn.service: Failed to execute command: No such file or directory
Jan 11 15:01:10 systemd[10533]: gunicorn.service: Failed at step EXEC spawning /home/tom/projects/muzilla/muzillaenv/gunicorn: No such file or directory
Jan 11 15:01:10 systemd[1]: gunicorn.service: Main process exited, code=exited, status=203/EXEC
Jan 11 15:01:10 systemd[1]: gunicorn.service: Failed with result 'exit-code'.

4 Answers

Go back into your virtualenv with source [your_project_env]/bin/activate and enter which gunicorn
That will return the path to your gunicorn exectuable.

Paste that into the path section of the ‘ExecStart’ value inside the ’/etc/systemd/system/gunicorn.service’ file, and run the
‘sudo systemctl daemon-reload’ and
'sudo systemctl restart gunicorn’
commands to restart your daemon and try curling again with
curl –unix-socket /run/gunicorn.sock localhost

I hope this helps!

  • I made an account just for this

    This worked for me, which saved me a lot of debugging and headaches in the future.

    Thank you, kind stranger!

Hey friend,

Interesting. What is the output of these commands, provided it’s not sensitive data for you:

stat /home/tom/projects/muzilla/muzillaenv/gunicorn
ls /home/tom/projects/muzilla/muzillaenv/gunicorn


Did you mean the location with bin?
I have the same problem.

stat /home/tom/projects/muzilla/muzillaenv/**bin**/gunicorn
ls /home/tom/projects/muzilla/muzillaenv/**bin**/gunicorn
 gunicorn.service: Failed at step EXEC spawning /home/bit/pyapps/btproject/venv/bin/gunicorn: No such file or directory

and with stat command yields these output:

 File: /home/user_name/pyapps/venv/bin/gunicorn
  Size: 239         Blocks: 8          IO Block: 4096   regular file
Device: 804h/2052d  Inode: 790638      Links: 1
Access: (0775/-rwxrwxr-x)  Uid: ( 1000/     user_name)   Gid: ( 1000/     user_name)
Access: 2019-02-25 12:07:46.586711705 +0700
Modify: 2019-02-25 11:30:43.398357125 +0700
Change: 2019-02-25 11:30:43.398357125 +0700

Could someone shed some light on this?


I had the same problem trying to get gunicorn working by following the tutorials (such as

My virtualenv did not include a gunicorn folder after installing it with pip. I struggled for hours to get it working until I tried removing the path to gunicorn, and just used “gunicorn”.

I changed my gunicorn.service from

ExecStart=/home/sammy/myproject/myprojectenv/bin/gunicorn --access-logfile ...


ExecStart=gunicorn --access-logfile ...

and now it works!

by Justin Ellingwood
Django is a powerful web framework that can help you get your Python application or website off the ground. Django includes a simplified development server for testing your code locally, but for anything even slightly production related, a more secure and powerful web server...
Have another answer? Share your knowledge.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!