目录
一、下载
二、报错提醒&环境安装
1、安装gcc编译器
2、安装perl库
3、安装 zlib库
4、也可通过命令进行统一安装
三、编译及安装
四、启动并访问
1、启动
2、访问
3、问题排查
五、安装成系统文件
一、下载
官网地址:nginx news
Nginx官网提供了三个类型的版本:
Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版
Stable version:最新稳定版,生产环境上建议使用的版本
Legacy versions:遗留的老版本的稳定版
下载stable版本,并将tar.gz文件导出到:我导入到/opt目录下,并解压此文件。在目录下解压出nginx-1.21.6目录。
tar -zxvf nginx-1.21.6.tar.gz
文件目录介绍
auto |
存放的是编译相关的脚本
|
CHANGES |
版本变更记录
|
CHANGES.ru |
俄罗斯文的版本变更记录
|
conf |
nginx
默认的配置文件
|
configure |
nginx
软件的自动脚本程序
,
是一个比较重要的文件,作用如下:
(1)检测环境及根据环境检测结果生成
C
代码
(2)生成编译代码需要的
Makefile
文件
|
contrib |
存放的是几个特殊的脚本文件,其中
README
中对脚本有着详细的说明
|
html |
存放的是
Nginx
自带的两个
html
页面,访问
Nginx
的首页和错误页面
|
LICENSE |
许可证的相关描述文件
|
man |
nginx
的
man
手册
|
README |
Nginx
的阅读指南
|
src |
Nginx
的源代码
|
二、报错提醒&环境安装
进入nginx目录,执行以下命令
# 将nginx安装在/usr/local/nginx
./configure --prefix=/usr/local/nginx
1、安装gcc编译器
不安装gcc会有报错提示:
checking for OS+ Linux 3.10.0-693.el7.x86_64 x86_64checking for C compiler ... not found
yum install -y gcc
2、安装perl库
此时运行编译命令,报错提示:
需要安装perl库
yum install -y pcre pcre-devel
3、安装 zlib库
此时运行编译命令,报错提示:
需要安装zlib库
yum install -y zlib zlib-devel
4、也可通过命令进行统一安装
yum install -y gcc pcre pcre-devel zlib zlib-devel
此时运行./configure命令,可正常运行不报错:
运行编译文件前:
运行命令后,生成makefile文件:
生成Makefile文件
三、编译及安装
# 编译
make
# 安装
make install
查看/usr/local目录下,生成nginx目录,nginx安装到此处。
四、启动并访问
1、启动
运行你nginx安装目录下sbin文件夹中的nginx命令:
# 启动
./nginx
# 快速停止
./nginx -s stop
# 优雅关闭,在退出前完成已经接受的连接请求
./nginx -s quit
# 重新加载配置
./nginx -s reload
2、访问
此刻通过nginx所在的ip访问,即可访问nginx欢迎页面。
3、问题排查
防火墙问题
机器一般默认开启防火墙(active状态),如果是在另一台机器通过ip访问,有可能访问不到。此时需要关闭防火墙。
# 查看防火墙状态
systemctl status firewalld
# 关闭防火墙
systemctl stop firewalld
# 开启防火墙
systemctl start firewalld
五、安装成系统文件
1、创建服务脚本,可以通过systemctl管理
vi /usr/lib/systemd/system/nginx.service
编辑的文件中,复制以下配置项,里边nginx的路径就是安装路径。
[Unit]Description=nginx - web serverAfter=network.target remote-fs.target nss-lookup.target[Service]Type=forkingPIDFile=/usr/local/nginx/logs/nginx.pidExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.confExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.confExecReload=/usr/local/nginx/sbin/nginx -s reloadExecStop=/usr/local/nginx/sbin/nginx -s stopExecQuit=/usr/local/nginx/sbin/nginx -s quitPrivateTmp=true[Install]WantedBy=multi-user.target
2、重新加载系统服务
systemctl daemon-reload
注意:在使用命令之前,如果启动过nginx,先将服务停止,或者通过kill命令杀死进程。否则可能报错。
3、相关命令
# 开机启动nginx
systemctl enable nginx.service
# 查看状态
systemctl status nginx.service
# 开启服务
systemctl start nginx.service
# 关闭服务
systemctl stop nginx.service
# 重启服务
systemctl restart nginx.service