擅长:python、mysql、java
<p>虽然接受的答案有效,但它有一个(imo的主要)问题,即gunicorn web服务器(可能)以根用户身份运行,这是不推荐的。您最终需要改变套接字的原因是它由<code>root:root</code>拥有,因为这是您的init作业默认假定的用户/组。有多种方法可以让你的工作承担另一个角色。在我看来,到目前为止(使用gunicorn 19.9.0),最简单的解决方案是使用作为<code>gunicorn</code>命令的一部分提供的<code>--user</code>和<code>--group</code>标志。这意味着您的服务器可以从您指定的用户/组开始。就你而言:</p>
<p><code>exec gunicorn --user ben --group www-data --bind unix:/home/ben/myproject/myproject.sock -m 007 wsgi</code></p>
<p>将在<code>ben:www-data</code>用户下启动gunicorn,并创建一个由<code>ben:www-data</code>拥有的套接字,该套接字具有<code>770</code>权限,或用户<code>ben</code>和组<code>www-data</code>的读/写/执行权限,这正是您在本例中所需要的。</p>