Nginx安装完成没有生成Sbin目录的解决方法

错误描述:

1、在Linux(CentOS 7 64)系统上完成Nginx(1.18.0)的安装后,找不到sbin启动目录.

0D0A72CC-3269-E4A3-7069-BDDC84F1CD8A.png

2、用nginx -v查看版本提示命令未找到

BEA43EE9-D19B-EEC4-E80C-D1E75FEC9B33.png

问题1:没有生成sbin目录

试过以下几个失败的解决方法:

方法一、下载1.19版本,重新安装,我试了安装1.19,还是没有sbin目录

8E33C381-0F95-B4FB-3D9D-AA6AFAF0CB11.png

方法二、网上找的一个办法:

找到报错的文件,在解压的nginx文件下src/os/unix/ngx_user.c,使用vi命令编辑它,并注释报错的地方,保存退出;然后进入解压目录的objs文件夹下下,编辑Makefile文件,将-Werror删除

0F8B2363-ABCE-F575-50CB-F2012A6CC86C.png

AC675FAF-C038-E870-C01C-0C3B54B53161.png

但是我在ngx_user.c下没有找到报错信息,然后去Makefile文件下删除了-Werror重新编译,同样没有生成sbin目录

问题2:nginx -v 查看版本号失败

解决方法:配置Nginx环境变量

执行vi /etc/profile命令,shift + G跳到最后,按I进入编辑模式将如下代码添加到最后

export NGINX_HOME=/usr/local/nginx
export PATH=$PATH:$NGINX_HOME/sbin

3703535B-3039-F359-02F6-C4D7CE5A8EC4.png

执行source /etc/profile命令重新加载配置文件,就能查看版本号了

DF2D6D5A-F0E8-03C6-70B0-C7BBD6FEC679.png

虽然没有sbin,但是Nginx还是能启动 执行/usr/local/nginx/sbin/nginx命令启动Nginx执行ps -ef | grep nginx查看是否有Nginx进程

173547F2-7445-9000-F5C3-7F9E31CE0BB9.png

花了大半天的时间终于搞清楚问题出在哪里了

虽然Nginx的压缩包和解压后的文件夹都是放在个人用户下的,但是通过su root切换到root用户,并执行Nginx安装操作,最终生成的Nginx文件夹应该在root根目录,而不是在个人用户下

8D8DD17E-589E-B01F-037E-BAA0966ACD47.png

所以,应该cd /root根目录,查看usr/local/nginx文件夹下的sbin目录,这个路径是不是很熟悉?没错,就是环境变量里面配置的那个路径!

B1B4F20A-8901-4243-3790-19712FCBAE7C.png

总结:

对于不太熟悉Linux虚拟机的小伙伴而言,一定要区分root用户个人用户,希望踩过这个坑以后就不会再犯同样的错误了。

//root根目录
/usr/local/nginx
//个人用户目录
/home/wanjk/usr/local/nginx/
收藏 (0)
评论列表
正在载入评论列表...
我是有底线的