简介
前面有介绍了怎么安装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/
点击【安装】
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
根据提示进行安装,等待安装完成
安装nginx-ui
nginx-ui的安装方式仍然和之前的nginx-ui安装教程一样,直接使用官方的一键安装命令安装即可
bash -c "$(curl -L https://cloud.nginxui.com/install.sh)" @ install -r https://cloud.nginxui.com/
等待安装完成
这时候使用服务器ip+9000端口就可以访问nginx-ui了
但是可以看到全部报错,安装不了,这是因为nginx-ui的默认nginx配置和我们使用的lnmp安装的nginx配置路径不对,需要我们手动修改
修改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 =
首先查询nginx的配置文件,文件名一般为nginx.conf
查找/查看nginx主配置文件
使用下面命令查询
ps -ef | grep nginx
可以看到配置文件路径是/usr/local/nginx/conf/nginx.conf
查看配置文件
cat 配置文件路径
cat /usr/local/nginx/conf/nginx.conf
然后对照上面我们看的app.ini里面的nginx这部分,找到我们需要的记录下来
[nginx]
# 访问日志路径
AccessLogPath =
# 错误日志路径
ErrorLogPath =
# 日志文件夹路径
LogDirWhiteList =
# 配置文件夹路径
ConfigDir =
# 主配置文件路径
ConfigPath =
# pid路径
PIDPath =
# nginx二进制文件路径
SbinPath =
# 检查配置命令
TestConfigCmd =
# 平滑加载配置命令
ReloadCmd =
# 重启命令 (先停止再启动)
RestartCmd =
# StubStatus 模块端口(如果有配置 nginx status,可以写端口号;否则 0 表示未启用)
StubStatusPort = 0
# 容器名(如果在 Docker 里运行,可以填容器名;裸机部署就留空)
ContainerName =
把上面那个复制到记事本
然后从配置文件中找到对应的复制粘贴进去,在配置文件中可以找到四个配置路径
AccessLogPath填写内容
第一个是访问日志路径AccessLogPath,在配置文件中是access_log
复制路径,粘贴到记事本中
ErrorLogPath填写内容
然后就是ErrorLogPath,在配置文件中是error_log,也是复制了粘贴到记事本中,这里注意,我们只需要复制路径,路径后面还有一个crit,这个是不需要复制的
复制粘贴到记事本中
LogDirWhiteList填写内容
下面是日志文件夹LogDirWhiteList,这个在配置文件中没有直接写明,但是我们可以通过上面两个路径推断出来
ConfigDir填写内容
下一个配置是配置文件夹路径ConfigDir,这个nginx.conf里面也是没有的,但是我们在之前查询nginx的配置文件的时候,就已经查询出来了
如果忘记了可以再次使用下面命令查询
ps -ef | grep nginx
查询出配置文件后,复制路径
粘贴到记事本里面,然后把/nginx.conf删除
ConfigPath填写内容
主配置文件路径ConfigPath,这个刚刚已经使用ps -ef | grep nginx
命令查询出来了,就是上一步,我们把/nginx.conf删除了,不删除/nginx.conf就是我们这个配置的路径
PIDPath填写内容
pid路径PIDPath,这个配置文件里面是有的,返回我们打开的配置文件,找到pid
复制下来,粘贴到记事本
SbinPath填写内容
nginx二进制文件路径SbinPath,这个在上一步使用ps -ef | grep nginx
查询nginx.conf的时候就已经查询出来了
复制粘贴到记事本
TestConfigCmd填写内容
检查配置命令TestConfigCmd,最稳妥发方法就是在nginx的二进制路径后面加一个-t参数
ReloadCmd填写内容
平滑加载配置命令ReloadCmd,这个是在nginx的二进制文件路径后面加-s reload
RestartCmd填写内容
重启命令 (先停止再启动)RestartCmd,这个如果nginx支持systemctl restart nginx
这个命令重启可以直接填写这个,如果不知道nginx是否支持systemctl restart nginx
这个命令,可以直接在二进制路径后面加 -s stop && nginx二进制文件路径
其他选项
最后两个选项StubStatus 模块端口StubStatusPort和容器名ContainerName默认即可
正式修改app.ini
现在所有需要改的地方的我们已经找到需要填写的内容了,接下来就是正式修改nginx-ui的app.ini配置文件了
打开我们nginx-ui的app.ini文件
vi /usr/local/etc/nginx-ui/app.ini
输入“i”进入编辑模式
找到nginx的配置,然后把记事本里面对应的内容粘贴进去
编辑完成后按“esc”退出编辑模式,输入“:wq”保存并退出
重启nginx-ui
使用下面命令重启nginx-ui,让配置文件得到应用
systemctl restart nginx-ui
完成nginx-ui安装
现在在浏览器中重新访问nginx-ui,可以看到一部分已经打勾了,还有一部分还是不通过
点击旁边的【尝试修复】即可修复
这时候就可以点击下一步,然后设置账号信息了
到这里了就可以正常安装了
如果使用的是其他脚本安装的,也按照上面教程来,查询到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
然后进行ln命令进行软链接
ln -s /usr/local/nginx/conf/vhost /usr/local/nginx/conf/sites-available
这样就可以解决这个问题了,如果遇到其他类似的因为文件路径不对引发的问题也可以使用软链接解决