0
点赞
收藏
分享

微信扫一扫

MacBook M1系统启动MxSrvs中的nginx报错:nginx: [emerg] getgrnam(

沪钢木子 2022-11-03 阅读 66

nginx报错:nginx: [emerg] getgrnam("root") failed in /Applications/MxSrvs/bin/nginx/conf/nginx.conf:1

nginx: [emerg] getgrnam("wangteng") failed in /Applications/MxSrvs/bin/nginx/conf/nginx.conf:1

之前的Intel系统Macbook进水了,换了一台M1芯片,作为phper习惯性安装了MxSrvs,但是nginx解析web应用的css和js失败,而且发现responseheader中的css和js的打开类型都是text/html。

首先看一下我的nginx配置,截图红色区域是按照网上搜索的一些参考,只要引入了mime.types配置,并且与nginx.conf配置同级目录下的mime.types里面也包括css和js的对应类型。

MacBook M1系统启动MxSrvs中的nginx报错:nginx: [emerg] getgrnam(_css

 

MacBook M1系统启动MxSrvs中的nginx报错:nginx: [emerg] getgrnam(_nginx_02

就网上千篇一律的帖子解决方案都一样,但试了很多方法,都没有效果。然后我看了一下nginx的错误日志

2022/10/23 19:53:14 [crit] 14262#0: *1 stat() "/Users/wangteng/my_code/....../public/" failed (13: Permission denied), client: 127.0.0.1, server: local.test.com, request: "GET / HTTP/1.1", host: "local.test.com".....

原来是权限受限.....

解决思路

先看看nginx的启动用户和使用用户是否一致。

MacBook M1系统启动MxSrvs中的nginx报错:nginx: [emerg] getgrnam(_解决方案_03

 

 master process 、worker process 两个进程的用户不一样。

查看一下nginx.conf文件,修改user为wangteng试试看。

MacBook M1系统启动MxSrvs中的nginx报错:nginx: [emerg] getgrnam(_css_04

 

 修改完成后启动报错....

user对应值改为root依旧报错。

在​​Nginx官方文档​​有说明,如果 group 省略,就认为组名和用户名一样,如下图:

MacBook M1系统启动MxSrvs中的nginx报错:nginx: [emerg] getgrnam(_css_05

 

 root 用户是否也是 root group 呢?查验一下

在终端中输入: id root

id root

uid=0(root) gid=0(wheel) groups=0(wheel),1(daemon),2(kmem),3(sys),4(tty),5(operator),8(procview),9(procmod),12(everyone),20(staff),29(certusers),61(localaccounts),80(admin),701(com.apple.sharepoint.group.1),33(_appstore),98(_lpadmin),100(_lpoperator),204(_developer),250(_analyticsusers),395(com.apple.access_ftp),398(com.apple.access_screensharing),399(com.apple.access_ssh),400(com.apple.access_remote_ae)

从查询结果可以看到root 用户属于 admin 组,那nginx.conf配置中的user root;写法就不对了,它找不到root组,所以第一行需要改成:

MacBook M1系统启动MxSrvs中的nginx报错:nginx: [emerg] getgrnam(_nginx_06

 

 nginx启动成功,终于根本上解决问题。


 


举报

相关推荐

0 条评论