这里的LNPM
是指Linux,Nginx,php
-fpm和Mysql.具体版本如下。
- Linux : centos7.9
- Nginx: 1.22.1
- php-fpm:7.4
- Mysql: 8.0
一、centos7.9 编译安装Nginx
为了弄清楚Nginx各种配置,我们采用编译安装的形式部署Nginx。
1.下载安装包
首先下载Nginx软件包,大家根据自己的实际情况下载所需的版本,本文以Nginx 1.22.1 为例,Nginx 1.22.1下载地址.下载完成后进入下载目录,解压nginx-1.22.1.tar.gz
文件。
tar -zxvf nginx-1.22.1.tar.gz
然后进入nginx-1.22.1
cd nginx-1.22.1/
2.生成配置文件
构建Nginx,由于我们要监控Nginx的状态,需要在configure时添加http_stub_status
模块。
./configure --with-http_stub_status_module
这一步非常的顺利,构建成功后,configure会打印出配置摘要,这一步非常的人性化,建议大家把最后一步截图保留,方便以后维护时使用。
上图就是我的配置文件摘要。接下来直接编译安装就可以了。
make & make install
这一步一般不会出现大的问题,最可能出现的问题就是系统缺少相关的依赖包,大家根据报错信息进行安装就可以了,在此不多赘述。
3.将nginx主程序文件加入到/usr/bin
到目前为止,Nginx的编译安装基本已经完成,是不是非常的简单?Nginx的二进制运行文件默认安装在/usr/local/nginx/sbin
目录中,使用起来不太方便,除非你修改系统环境变量。我通常是将二进制运行文件复制到/usr/bin
目录中。复制完成后,不用修改环境变更也可以在任意目录下运行nginx
命令了。
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
4.将Nginx加入开机自启
将应用加入开机自启是一个很好的习惯,毕竟服务器和个人PC还是有所区别的,个人PC追求更快的开机速度,因此各种优化软件会尽量的减少你的开机服务,而服务器以服务为主,应当将你的服务设置成开机自启。在Linux系统中将应用加入开机自启有很多方法,可以在/etc/init.d/创建启动文件,也可以在/etc/rc.local
文件中添加启动命令,但官方推荐使用添加开机服务的方式来实现开机自启,在高版本的Ubuntu中已经没有rc.local
文件了。通过上述方法编译安装的Nginx是没有nginx.service
文件的,需要我们自己编辑一个nginx.service
文件。
编辑Nginx.service
文件。
vim /lib/systemd/system/nginx.service
添加以下的内容
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/bin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/bin/nginx -s reload
ExecStop=/usr/bin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
👿 在编辑上述文件时,注意nginx的可执行文件的路径,大家要根据自己的实际情况进行修改,如果照抄我的可能无法正常启动服务,大家可以使用which nginx
命令查看自己的nginx的安装路径,上述nginx.service
要以which nginx
查找出来路径为准。
👿注意nginx.service
文件的路径,一定是在/lib/systemd/system/
目录下。
将nginx服务加入开机自启。
通过上面的操作,我们新建了nginx.service
文件,并且把它放到了正确的路径下,接下来使用下面的命令将nginx
服务添加到开机自启。
systemctl enable nginx
通过下图中的命令大家可检查自己的操作是否正确,生效。