权限错误 以用户目录用户身份运行 NGINX

权限错误 以用户目录用户身份运行 NGINX

跑步:CentOS 7,NGINX 1.10.0

当我以“用户 {username};”的身份运行 NGINX 时,出现权限错误,文件夹结构如下,并分配了权限:

/home/{用户名}

drwxr-xr-x. 4 {username} {username}  88 Sep 28 04:21 .
drwxr-xr-x. 4 {username} {username}  30 Sep 28 04:21 example.com

/home/{用户名}/example.com

drwxr-xr-x. 2 {username} {username}  6 Sep 28 07:15 logs --currently empty
drwxr-xr-x. 2 {username} {username}  6 Sep 28 04:21 public --currently empty

sudo nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

sudo systemctl 状态 nginx

nginx.service - The nginx HTTP and reverse proxy server
  Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
  Active: failed (Result: exit-code) since Wed 2016-09-28 07:16:15 UTC; 17min ago
Process: 1520 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=1/FAILURE)
Process: 1519 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)

Starting The nginx HTTP and reverse proxy server...
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: [emerg] open() "/home/{username}/example.com/logs/access.log" failed (13: Permission denied)
nginx: configuration file /etc/nginx/nginx.conf test failed
nginx.service: control process exited, code=exited status=1
Failed to start The nginx HTTP and reverse proxy server.
Unit nginx.service entered failed state.
nginx.service failed.

答案1

# install semanage if you don't already have it:
yum install policycoreutils-python

# check if SELinux is running:
sestatus

# check output for:     Current mode: enforcing.



# give your content and logs directory a new default context.
semanage fcontext -a -t httpd_sys_rw_content_t "/home/{username}/public(/.*)?"
semanage fcontext -a -t httpd_log_t "/home/{username}/logs(/.*)?"

# apply the default context to the directory
restorecon -R /home/{username}

相关内容