Blog.GC

Fedora22 无法通过 systemctl 开启nginx服务

| Comments

使用系统的库安装完nginx,配置完之后发现无法通过systemctl start nginx.service来开启nginx服务。 总是报如下错误:

1
nginx: [emerg] open() "/home/web/www/log/dev/nginx.access.log" failed (13: Permission denied)

乍一看应该是权限没有设置好,但是发现即使把所有者改成了nginx:nginx依旧没用。而且root用户下直接/usr/sbin/nginx是可以运行的。

问题的关键在于SELinux,它使得nginx服务(上下文是:httpd_t)无法访问/home下的文件夹。

于是只要给予权限即可:

1
2
3
dnf install selinux-policy-devel
cd /home/web/
semanage permissive -a httpd_t

之后就可以使用systemctl start nginx.service开启nginx服务了。

参考: Nginx doesn't start using systemctl

Comments

comments powered by Disqus