简介

前面有介绍了怎么安装Nginx-ui和nginx,但是那个基于官方的方法安装的nginx,也就是直接使用yum或者是apt安装的nginx

后面有同学和我说,说我使用的是LNMP脚本安装的环境,现在想加一个nginx-ui,但是文件路径这些不对就导致了nginx-ui安装不上,有没有办法

这个也是有办法的,我们手动配置nginx-ui需要的文件路径即可

这个方法不但可以适用一键lnmp安装的nginx,如果的是其他的脚本也可以使用这个方法配置nginx-ui



安装nginx

这里我也使用一键lnmp脚本来演示,但是我只使用这个脚本安装nginx,为了节省时间就不安装完整的php环境了

首先打开一键lnmp官网

官网地址:https://lnmp.org/

1.png

点击【安装】

2.png

ssh连接服务器,复制安装命令,粘贴到终端里面回车执行

完整的安装命令

wget https://soft.lnmp.com/lnmp/lnmp2.2.tar.gz -O lnmp2.2.tar.gz && tar zxf lnmp2.2.tar.gz && cd lnmp2.2 && ./install.sh lnmp

但是我这里演示只需要安装nginx,所以命令如下

wget https://soft.lnmp.com/lnmp/lnmp2.2.tar.gz -O lnmp2.2.tar.gz && tar zxf lnmp2.2.tar.gz && cd lnmp2.2 && ./install.sh nginx

3.png

根据提示进行安装,等待安装完成

5.png



安装nginx-ui

nginx-ui的安装方式仍然和之前的nginx-ui安装教程一样,直接使用官方的一键安装命令安装即可

bash -c "$(curl -L https://cloud.nginxui.com/install.sh)" @ install -r https://cloud.nginxui.com/

6.png

等待安装完成

7.png

这时候使用服务器ip+9000端口就可以访问nginx-ui了

但是可以看到全部报错,安装不了,这是因为nginx-ui的默认nginx配置和我们使用的lnmp安装的nginx配置路径不对,需要我们手动修改

8.png



修改nginx-ui配置路径

使用下面命令查看nginx-ui的配置

cat /usr/local/etc/nginx-ui/app.ini

可以看到nginx的配置是空的,也就是目前使用的是默认配置,我们把使用lnmp安装nginx后对应的文件路径填写进去即可

[nginx]
AccessLogPath   = 
ErrorLogPath    = 
LogDirWhiteList = 
ConfigDir       = 
ConfigPath      = 
PIDPath         = 
SbinPath        = 
TestConfigCmd   = 
ReloadCmd       = 
RestartCmd      = 
StubStatusPort  = 0
ContainerName   = 

9.png

首先查询nginx的配置文件,文件名一般为nginx.conf


查找/查看nginx主配置文件

使用下面命令查询

ps -ef | grep nginx

可以看到配置文件路径是/usr/local/nginx/conf/nginx.conf

10.png

查看配置文件

cat 配置文件路径

cat /usr/local/nginx/conf/nginx.conf

12.png

然后对照上面我们看的app.ini里面的nginx这部分,找到我们需要的记录下来

[nginx]
# 访问日志路径
AccessLogPath   = 
# 错误日志路径
ErrorLogPath    = 
# 日志文件夹路径
LogDirWhiteList = 
# 配置文件夹路径
ConfigDir       = 
# 主配置文件路径
ConfigPath      = 
# pid路径
PIDPath         = 
# nginx二进制文件路径
SbinPath        = 
# 检查配置命令
TestConfigCmd   = 
# 平滑加载配置命令
ReloadCmd       = 
# 重启命令 (先停止再启动)
RestartCmd      = 
# StubStatus 模块端口(如果有配置 nginx status,可以写端口号;否则 0 表示未启用)
StubStatusPort  = 0
# 容器名(如果在 Docker 里运行,可以填容器名;裸机部署就留空)
ContainerName   = 

把上面那个复制到记事本

13.png

然后从配置文件中找到对应的复制粘贴进去,在配置文件中可以找到四个配置路径


AccessLogPath填写内容

第一个是访问日志路径AccessLogPath,在配置文件中是access_log

14.png

复制路径,粘贴到记事本中

15.png


ErrorLogPath填写内容

然后就是ErrorLogPath,在配置文件中是error_log,也是复制了粘贴到记事本中,这里注意,我们只需要复制路径,路径后面还有一个crit,这个是不需要复制的

16.png

复制粘贴到记事本中

17.png


LogDirWhiteList填写内容

下面是日志文件夹LogDirWhiteList,这个在配置文件中没有直接写明,但是我们可以通过上面两个路径推断出来

18.png


ConfigDir填写内容

下一个配置是配置文件夹路径ConfigDir,这个nginx.conf里面也是没有的,但是我们在之前查询nginx的配置文件的时候,就已经查询出来了

如果忘记了可以再次使用下面命令查询

ps -ef | grep nginx

查询出配置文件后,复制路径

19.png

粘贴到记事本里面,然后把/nginx.conf删除

20.png


ConfigPath填写内容

主配置文件路径ConfigPath,这个刚刚已经使用ps -ef | grep nginx命令查询出来了,就是上一步,我们把/nginx.conf删除了,不删除/nginx.conf就是我们这个配置的路径

22.png


PIDPath填写内容

pid路径PIDPath,这个配置文件里面是有的,返回我们打开的配置文件,找到pid

23.png

复制下来,粘贴到记事本

24.png


SbinPath填写内容

nginx二进制文件路径SbinPath,这个在上一步使用ps -ef | grep nginx查询nginx.conf的时候就已经查询出来了

21.png

复制粘贴到记事本

25.png


TestConfigCmd填写内容

检查配置命令TestConfigCmd,最稳妥发方法就是在nginx的二进制路径后面加一个-t参数

26.png


ReloadCmd填写内容

平滑加载配置命令ReloadCmd,这个是在nginx的二进制文件路径后面加-s reload

27.png


RestartCmd填写内容

重启命令 (先停止再启动)RestartCmd,这个如果nginx支持systemctl restart nginx这个命令重启可以直接填写这个,如果不知道nginx是否支持systemctl restart nginx这个命令,可以直接在二进制路径后面加 -s stop && nginx二进制文件路径

28.png


其他选项

最后两个选项StubStatus 模块端口StubStatusPort和容器名ContainerName默认即可

29.png


正式修改app.ini

现在所有需要改的地方的我们已经找到需要填写的内容了,接下来就是正式修改nginx-ui的app.ini配置文件了

打开我们nginx-ui的app.ini文件

vi /usr/local/etc/nginx-ui/app.ini

30.png

输入“i”进入编辑模式

31.png

找到nginx的配置,然后把记事本里面对应的内容粘贴进去

32.png

编辑完成后按“esc”退出编辑模式,输入“:wq”保存并退出

33.png


重启nginx-ui

使用下面命令重启nginx-ui,让配置文件得到应用

systemctl restart nginx-ui

34.png



完成nginx-ui安装

现在在浏览器中重新访问nginx-ui,可以看到一部分已经打勾了,还有一部分还是不通过

35.png

点击旁边的【尝试修复】即可修复

36.png

这时候就可以点击下一步,然后设置账号信息了

37.png

到这里了就可以正常安装了

如果使用的是其他脚本安装的,也按照上面教程来,查询到nginx配置路径,然后修改即可



其他问题

到这里的时候nginx-ui和nginx已经正常了,但是实际使用中可能还会出现一些问题,例如使用一键lnmp创建的站点配置文件在conf目录下的vhos目录里面,但是使用nginx-ui创建的站点在conf目录下面的sites-available里面,这就会导致如果我们使用一键lnmp创建的站点在nginx-ui上面是看不到的,使用nginx-ui创建的站点在lnmp上是检测不到的

这时候就可以使用软链接来解决这个问题,我们把vhos软连接到sites-available即可

首先删除现有的sites-available文件夹

rm -rf /usr/local/nginx/conf/sites-available

38.png

然后进行ln命令进行软链接

ln -s /usr/local/nginx/conf/vhost /usr/local/nginx/conf/sites-available

39.png

这样就可以解决这个问题了,如果遇到其他类似的因为文件路径不对引发的问题也可以使用软链接解决

二维码

发表评论