错误描述:
1、在Linux(CentOS 7 64)系统上完成Nginx(1.18.0)的安装后,找不到sbin启动目录.
![](/d/20211016/763c8792beb0326f6710e0d3bdc6e449.gif)
2、用nginx -v
查看版本提示命令未找到
![](/d/20211016/fec289930ba98e1466f6481c1cc37610.gif)
问题1:没有生成sbin目录
试过以下几个失败的解决方法:
方法一、下载1.19版本,重新安装,我试了安装1.19,还是没有sbin目录
![](/d/20211016/039f23ead12a1cde7eac1508e6bfb150.gif)
方法二、网上找的一个办法:
找到报错的文件,在解压的nginx文件下src/os/unix/ngx_user.c
,使用vi
命令编辑它,并注释报错的地方,保存退出;然后进入解压目录的objs
文件夹下下,编辑Makefile
文件,将-Werror
删除
![](/d/20211016/50622207cdd3d14ab830190901c692e2.gif)
![](/d/20211016/fa952e581a7b9ac77bc053eb2a598a8d.gif)
但是我在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
![](/d/20211016/2ebadb66f42e1c3cc363e9d8275e0f30.gif)
执行source /etc/profile
命令重新加载配置文件,就能查看版本号了
![](/d/20211016/41a14869336b09167b745e694dc6dffe.gif)
虽然没有sbin,但是Nginx还是能启动 执行/usr/local/nginx/sbin/nginx
命令启动Nginx执行ps -ef | grep nginx
查看是否有Nginx进程
花了大半天的时间终于搞清楚问题出在哪里了
虽然Nginx的压缩包和解压后的文件夹都是放在个人用户下的,但是通过su root
切换到root用户,并执行Nginx安装操作,最终生成的Nginx文件夹应该在root根目录,而不是在个人用户下
![](/d/20211016/f8f21ded4e87bfe107595e329ec4f56c.gif)
所以,应该cd /
到root
根目录,查看usr/local/nginx
文件夹下的sbin目录,这个路径是不是很熟悉?没错,就是环境变量里面配置的那个路径!
![](/d/20211016/1697e72c69c2d6259a0874cfe292dbad.gif)
总结:
对于不太熟悉Linux虚拟机的小伙伴而言,一定要区分root用户和个人用户,希望踩过这个坑以后就不会再犯同样的错误了。
//root根目录
/usr/local/nginx
//个人用户目录
/home/wanjk/usr/local/nginx/
到此这篇关于Nginx安装完成没有生成sbin目录的解决方法的文章就介绍到这了,更多相关Nginx没有生成sbin目录内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!