Linux系统下配置nginx执行vim nginx.conf后出现一片空白的原因

发布时间 2023-03-22 21:11:22作者: 精芯计算

Linux系统下配置nginx执行vim nginx.conf后出现一片空白,如下图:

上网查了有几个相同情况的都是输错文件名造成的,

1、https://www.imooc.com/qadetail/352451

2、https://www.imooc.com/qadetail/292654

我也检查文件名没有错误,而是文件路径问题,如果是在该文件的目录下直接执行vim nginx.conf是正常的,如果是在其他目录下执行这个命令就会出现上面的空白现象,原因是路径错误,vim认为你要当前目录新建一个nginx.conf的文件,所以打开的只是新建的空白文档,如果是在其他目录想打开nginx.conf这个文件请使用绝对路径,否则请直接cd进入该目录下再执行vim命令打开nginx.conf文件。

[ec2-user@ip-172-31-2-206 ~]$ cd /
[ec2-user@ip-172-31-2-206 /]$ ls
bin  boot  dev  etc  home  lib  lib64  local  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[ec2-user@ip-172-31-2-206 /]$ cd usr
[ec2-user@ip-172-31-2-206 usr]$ ls
bin  games  include  lib  lib64  libexec  local  sbin  share  src  tmp
[ec2-user@ip-172-31-2-206 usr]$ cd local
[ec2-user@ip-172-31-2-206 local]$ ls
bin  games    lib    libexec  nginx-1.20.2         node-v18.15.0-linux-x64         sbin   src
etc  include  lib64  nginx    nginx-1.20.2.tar.gz  node-v18.15.0-linux-x64.tar.xz  share
[ec2-user@ip-172-31-2-206 local]$ cd nginx
[ec2-user@ip-172-31-2-206 nginx]$ ls
client_body_temp  conf  fastcgi_temp  html  logs  proxy_temp  sbin  scgi_temp  uwsgi_temp
[ec2-user@ip-172-31-2-206 nginx]$ cd conf
[ec2-user@ip-172-31-2-206 conf]$ ls
fastcgi.conf          fastcgi_params.default  mime.types          nginx.conf.default   uwsgi_params
fastcgi.conf.default  koi-utf                 mime.types.default  scgi_params          uwsgi_params.default
fastcgi_params        koi-win                 nginx.conf          scgi_params.default  win-utf
[ec2-user@ip-172-31-2-206 conf]$ vim nginx.conf

上面代码cd是进入目录,ls是查看目录相当于CMD的dir命令。

我的nginx.conf的绝对路径是/usr/local/nginx/conf/nginx.conf,请根据自己Linux系统nginx的实际安装路径为准。

最终打开效果如下图:

请注意:

1、如果vim nginx.fonf出现报错permission denied是因为用户权限问题,

可以输入sudo chmod -R 777 /用户目录,将该目录许可普通用户能够打开阅读。

2、修改conf文件中端口号无法保存退出的原因是用户权限不够,会有各种报错:

E45: 'readonly' option is set (add ! to override)

E37: No write since last change (add ! to override):

只读文件不能修改

需要使用su root命令转换root管理员身份来修改。

没有root初始化密码的,请用sudo passwd root命令来设置密码。

设置成功后用root管理员密码登陆

前置的系统提示符由$变成#,而且用户名(ec2-user)变成root,

[ec2-user@ip-172-31-2-206 conf]$ vim nginx.conf
[ec2-user@ip-172-31-2-206 conf]$ su root
Password:
[root@ip-172-31-2-206 conf]#

这时再用vim打开nginx.conf修改内容就可以保存生效了。