nginx入门-31-学习笔记
环境
环境:虚拟机
ip:10.0.1.0
网关:10.0.1.2
子网掩码:255.255.255.0
测试机器ip:10.0.1.101
概念
1.安装
nginx软件安装:
yum 安装
yum install epel-release
yum install nginx -y
systemctl start nginx
编译安装 (生产环境)
yum -y install pcre-devel openssl-devel zlib-devel gcc
groupadd nginx
useradd -g nginx -s /sbin/nologin nginx
切换到解压后的nginx目录中执行:
wget http://nginx.org/download/nginx-1.18.0.tar.gz
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx
--with-http_ssl_module --with-http_stub_status_module
make make install
启动nginx:/usr/local/nginx/sbin/nginx
关闭nginx:/usr/local/nginx/sbin/nginx -s stop
检查nginx 是否异常:/usr/local/nginx/sbin/nginx -t
重启nginx: nginx -s reload
2.nginx特性支持高并发
常用服务软件:
处理静态资源:apache nginx
动态资源软件:php Tomcat python
nginx服务特点:
1.支持高并发
2.占用资源少
3.可以做负载均衡
4.可以代替LVS
5.可以做缓存
nginx 网络io模型 : epoll模型 select模型
epoll模型
宿舍管理员: 做个登记信息 很快
select模型
遍历
宿舍管理员:一个一个房间找人 会很慢
详解epoll模型和select模型的区别
Nginx 的 epoll 模型和传统的 select 模型都是用于处理网络 I/O 多路复用的技术,它们的主要区别在于:
**Select 模型**:
1. **基本原理**:select 函数允许进程监控多个文件描述符(FDs),并等待它们中的任何一个变得可读或可写。它需要一个固定大小的描述符集合(受限于 FD_SETSIZE,通常是1024个)。
2. **效率问题**:每次调用 select 时,都需要将所有监控的描述符集合复制到内核,当描述符数量较大时,这个过程的开销显著增大。并且,不论是否有事件发生,select 都需要轮询整个集合来检查哪些描述符准备好了。
3. **阻塞**:当没有描述符准备好时,select 会阻塞进程,直到有描述符变为可读或可写。
**Epoll 模型**:
1. **高效通知机制**:epoll 是Linux内核提供的另一种I/O事件通知机制,它克服了 select 的很多局限性。epoll 使用红黑树存储描述符,并通过epoll_create创建一个epoll实例,通过epoll_ctl注册和修改感兴趣的事件,然后通过epoll_wait等待事件的发生。
2. **无上限监控**:epoll 没有描述符数量的硬限制,可以轻松应对高并发连接场景。
3. **水平触发(LT)与边缘触发(ET)**:epoll 提供了两种触发模式。水平触发(Level Triggered, LT)意味着只要有数据可读或可写,epoll_wait就会一直报告这个事件,直到数据被读取或写入。边缘触发(Edge Triggered, ET)则在描述符状态改变时只报告一次事件。
4. **事件驱动**:epoll 使用事件通知机制,内核只会通知应用程序那些就绪的描述符,而不是每次都检查整个集合,大大减少了不必要的系统调用和上下文切换,提高了效率。
总结来说,相比于 select,epoll 在处理大量并发连接时具有更高的性能,因为它避免了每次循环都要遍历所有描述符,只关注那些有事件发生的描述符,同时提供了更好的可扩展性和更低的延迟。这也是为什么 Nginx 在高并发场景下选择 epoll 而非 select 的主要原因。
目录结构
/usr/local/nginx/
/usr/local/nginx/logs 日志目录
/usr/local/nginx/html 发布目录
/usr/local/nginx/conf 配置目录
用户访问网站过程 :淘宝
1 用户访问淘宝,首选请求本地dns ,有没有对应ip
2 本地dns 没有,就会请求我们授权dns ,查找淘宝授权对应ip
3 授权dns 返回请求给出ip给 lnds
4 LNDS 返回域名给客户端 浏览器 ,自己缓存一份 客户端缓存一份
5 客户端ip 请求 淘宝数据
6 域名返回给客户端内容 返回状态200
状态码讲解: 可以快速定位故障
200: 正常访问
404: 页面找不到
301: 永久跳转,请求到新的位置
302: 临时调转
500: 服务器内部错误, 数据库问题
502: 代理异常 ,一般后端出现问题
403: 没权限 请求拒绝
常用服务软件:
处理静态资源: apache nginx
动态资源软件:
php
tomcat
python
nginx 服务特点:
1.支持高并发
2.占用资源少
可以做负载均衡 可以代替 LVS
可以做缓存
nginx 网络i0模型 : epol模型 select 模型
epoll模型:
宿舍管理员:做了登记信息 很快
select 模型
宿舍管理员:一个一个房间找人 会很慢
nginx日志切割:
第一种:脚本实现
#!/bin/bash
mv /usr/local/nginx/logs/access.log /usr/local/nginx/logs/access.log_$(date +%F)
nginx -s reload
第二种 :配置实现
# see "man logrotate" for details
# rotate log files weekly
weekly 日志切割一次一个星期
# keep 4 weeks worth of backlogs
rotate 4 切割4个日志 保留
# create new (empty) log files after rotating old ones
create 创建一个相同文件
# use date as a suffix of the rotated file
dateext
# uncomment this if you want your log files compressed
#compress
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
# no packages own wtmp and btmp -- we'll rotate them here
/usr/local/nginx/logs/access.log
monthly
create 0664 root utmp
minsize 1M
rotate 1
}
目录结构:
/usr/local/nginx/
/usr/local/nginx/logs 日志目录
/usr/local/nginx/html 发布目录
/usr/local/nginx/conf 配置目录
nginx配置讲解:
worker_processes 2;
master process 主进程 负责管理用户运行 boss
worker process 工作进程 用户请求 用户
事件区域:
events {
worker_connections 1024; 接收多少请求
}
配置http区域:
http {
include mime.types; 加载一个配置
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65; 超时
server {
listen 80; 监听端口
server_name localhost; 网站域名
location / {
root html; 发布目录
index test.html; 定义首页文件
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
3.nginx配置文件讲解
目录结构
/usr/local/nginx/
/usr/local/nginx/logs 日志目录
/usr/local/nginx/html 发布目录
/usr/local/nginx/conf 配置目录
先做个备份,不动原文件,看备份文件分析一下
[root@node-1 conf]# cp nginx.conf nginx.conf.bak
- egrep:这是一个增强型的grep命令,用于搜索匹配正则表达式的行。
- -v:表示反向选择,即打印出不符合条件的行。
- ^$:匹配空行,即只包含换行符的行。
- #:匹配以井号(#)开始的行
读取并打印出nginx.conf.bak文件中除空行和注释行以外的所有内容
[root@node-1 conf]# cat nginx.conf.bak |egrep -v "^$|#"
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
配置文件详解
简版
worker_processes 1;
worker_processes 1
master process 主进程 老板 管理服务正常运行
worker process 工作进程 员工 处理用户请求
事件区域
events {
worker_connections 1024; 一个进程可以同时处理1024请求
}
配置http 区域
http {
include mime.types; 加载一个配置文件
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65; 超时时间
虚拟主机 一个网站
server {
listen 80; 网站端口 监听80 可根据自己需求修改
server_name localhost; 网站域名
location / {
root html; 发布目录
index index.html index.htm; 定义首页文件
}
error_page 500 502 503 504 /50x.html; 错误页面跳转
location = /50x.html {
root html;
}
}
}
详细版
1. worker_processes 1;:定义Nginx工作进程的数量,这里设置为1,即只有一个进程处理所有请求。在实际生产环境中,通常会根据服务器CPU核心数来设置更大的值以充分利用多核优势。
2. events 块:
- worker_connections 1024;:设置每个工作进程允许的最大并发连接数,这里设为1024。这意味着在同一时间内最多能处理1024个活跃的TCP连接。
3. http 块是Nginx配置中处理HTTP协议请求的部分:
- include mime.types;:引入mime.types文件,该文件定义了不同文件扩展名与MIME类型的对应关系,以便正确处理不同类型的内容。
- default_type application/octet-stream;:设置默认MIME类型为application/octet-stream,即未知类型的内容将以二进制流的形式发送给客户端。
- sendfile on;:启用高效文件传输模式,提高静态文件的传输效率。
- keepalive_timeout 65;:设置长连接(Keep-alive)超时时间为65秒,即客户端在两次请求间隔内无动作的时间长度,超过这个时间,连接将被关闭。
4. server 块定义了一个监听80端口的HTTP服务器实例:
- listen 80;:设置服务器监听所有IPv4地址的80端口,即默认HTTP端口。
- server_name localhost;:设置服务器名,这里为localhost,意味着服务器主要服务于本地请求,也可以替换为域名或多个域名(用空格分隔)。
- location / { ... }:定义了处理所有根URL("/")请求的配置,这里设置根目录为html,并指定了默认索引文件index.html和index.htm。
- error_page 块定义了错误页面的处理规则,当HTTP状态码为500、502、503、504时,会重定向到/50x.html页面。
- location = /50x.html { ... }:为特定URI(这里是/50x.html)定义一个精确匹配的location块,设置其根目录也为html,当需要显示错误页面时,Nginx会从这个路径寻找文件。
总之,这段配置文件是Nginx基础的HTTP服务器配置,它将监听80端口,并提供静态网页服务,同时具备简单的错误页面处理能力。在实际应用中,根据需要可以添加更多server块以处理不同域名或端口的请求,也可配置代理、负载均衡、缓存等功能。
4.网站访问过程
用户访问网站过程:淘宝
1.用户访问淘宝,首先请求本地dns,有没有对应ip
2.本地dns没有,就会请求我们授权dns,查找淘宝授权对应ip
3.授权dns 返回请求给出ip 给 linds
4.lnds 返回域名给客户端 浏览器,自己缓存一份,客户端缓存一份
5.客户端ip 请求 淘宝数据
6.域名返回客户端内容 返回状态200
状态码讲解 可以快速定位故障
200:正常访问
404:页面找不到
301:永久跳转 请求到新的位置
302:临时的跳转
500:服务器内部错误 一般是数据库问题 可能没有连上数据库 无权限
502:代理异常 一般后端出现问题
403:没权限 请求拒绝
实战
01-yum安装
没有更新yum源的,可以更新一下
1. 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2. 下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/
2.1各版本
centos8
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
centos6
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-6.10.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-6.10.repo
CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
3.各版本epel源
3.1 备份(如有配置其他epel源)
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
3.2 下载新repo 到/etc/yum.repos.d/
epel(RHEL 8)
1)安装 epel 配置包
yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
2)将 repo 配置中的地址替换为阿里云镜像站地址
sed -i 's|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*
epel(RHEL 7)
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
epel(RHEL 6) (epel6官方源已下线,建议切换epel-archive源)
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-archive-6.repo
4.更新缓存和软件
yum clean all
yum makecache
yum update
nginx软件安装:
yum 安装
yum install epel-release
yum install nginx -y
systemctl start nginx
卸载
yum -y remove nginx
具体过程演示
[root@node-1 ~]# yum -y install nginx
Loaded plugins: fastestmirror
base | 3.6 kB 00:00:00
epel | 4.7 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
Resolving Dependencies
--> Running transaction check
---> Package nginx.x86_64 1:1.20.1-10.el7 will be installed
--> Processing Dependency: nginx-filesystem = 1:1.20.1-10.el7 for package: 1:nginx-1.20.1-10.el7.x86_64
--> Processing Dependency: libcrypto.so.1.1(OPENSSL_1_1_0)(64bit) for package: 1:nginx-1.20.1-10.el7.x86_64
--> Processing Dependency: libssl.so.1.1(OPENSSL_1_1_0)(64bit) for package: 1:nginx-1.20.1-10.el7.x86_64
--> Processing Dependency: libssl.so.1.1(OPENSSL_1_1_1)(64bit) for package: 1:nginx-1.20.1-10.el7.x86_64
--> Processing Dependency: nginx-filesystem for package: 1:nginx-1.20.1-10.el7.x86_64
--> Processing Dependency: redhat-indexhtml for package: 1:nginx-1.20.1-10.el7.x86_64
--> Processing Dependency: libcrypto.so.1.1()(64bit) for package: 1:nginx-1.20.1-10.el7.x86_64
--> Processing Dependency: libprofiler.so.0()(64bit) for package: 1:nginx-1.20.1-10.el7.x86_64
--> Processing Dependency: libssl.so.1.1()(64bit) for package: 1:nginx-1.20.1-10.el7.x86_64
--> Running transaction check
---> Package centos-indexhtml.noarch 0:7-9.el7.centos will be installed
---> Package gperftools-libs.x86_64 0:2.6.1-1.el7 will be installed
---> Package nginx-filesystem.noarch 1:1.20.1-10.el7 will be installed
---> Package openssl11-libs.x86_64 1:1.1.1k-7.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===========================================================================================================
Package Arch Version Repository Size
===========================================================================================================
Installing:
nginx x86_64 1:1.20.1-10.el7 epel 588 k
Installing for dependencies:
centos-indexhtml noarch 7-9.el7.centos base 92 k
gperftools-libs x86_64 2.6.1-1.el7 base 272 k
nginx-filesystem noarch 1:1.20.1-10.el7 epel 24 k
openssl11-libs x86_64 1:1.1.1k-7.el7 epel 1.5 M
Transaction Summary
===========================================================================================================
Install 1 Package (+4 Dependent packages)
Total download size: 2.4 M
Installed size: 6.7 M
Downloading packages:
(1/5): nginx-filesystem-1.20.1-10.el7.noarch.rpm | 24 kB 00:00:00
(2/5): gperftools-libs-2.6.1-1.el7.x86_64.rpm | 272 kB 00:00:00
(3/5): centos-indexhtml-7-9.el7.centos.noarch.rpm | 92 kB 00:00:00
(4/5): nginx-1.20.1-10.el7.x86_64.rpm | 588 kB 00:00:01
(5/5): openssl11-libs-1.1.1k-7.el7.x86_64.rpm | 1.5 MB 00:00:01
-----------------------------------------------------------------------------------------------------------
Total 1.3 MB/s | 2.4 MB 00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : 1:openssl11-libs-1.1.1k-7.el7.x86_64 1/5
Installing : 1:nginx-filesystem-1.20.1-10.el7.noarch 2/5
Installing : centos-indexhtml-7-9.el7.centos.noarch 3/5
Installing : gperftools-libs-2.6.1-1.el7.x86_64 4/5
Installing : 1:nginx-1.20.1-10.el7.x86_64 5/5
Verifying : gperftools-libs-2.6.1-1.el7.x86_64 1/5
Verifying : centos-indexhtml-7-9.el7.centos.noarch 2/5
Verifying : 1:nginx-filesystem-1.20.1-10.el7.noarch 3/5
Verifying : 1:nginx-1.20.1-10.el7.x86_64 4/5
Verifying : 1:openssl11-libs-1.1.1k-7.el7.x86_64 5/5
Installed:
nginx.x86_64 1:1.20.1-10.el7
Dependency Installed:
centos-indexhtml.noarch 0:7-9.el7.centos gperftools-libs.x86_64 0:2.6.1-1.el7
nginx-filesystem.noarch 1:1.20.1-10.el7 openssl11-libs.x86_64 1:1.1.1k-7.el7
Complete!
[root@node-1 ~]# systemctl start nginx
[root@node-1 ~]# ss -tulpn
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 *:80 *:* users:(("nginx",2271,6),("nginx",2270,6),("nginx",2269,6))
tcp LISTEN 0 128 *:22 *:* users:(("sshd",1084,3))
tcp LISTEN 0 100 127.0.0.1:25 *:* users:(("master",1519,13))
tcp LISTEN 0 128 :::80 :::* users:(("nginx",2271,7),("nginx",2270,7),("nginx",2269,7))
tcp LISTEN 0 128 :::22 :::* users:(("sshd",1084,4))
tcp LISTEN 0 100 ::1:25 :::* users:(("master",1519,14))
此时可以用自己的ip用浏览器打开看有没有界面
10.0.1.101
卸载
[root@node-1 ~]# yum remove -y nginx
Loaded plugins: fastestmirror
Resolving Dependencies
--> Running transaction check
---> Package nginx.x86_64 1:1.20.1-10.el7 will be erased
--> Finished Dependency Resolution
Dependencies Resolved
===========================================================================================================
Package Arch Version Repository Size
===========================================================================================================
Removing:
nginx x86_64 1:1.20.1-10.el7 @epel 1.7 M
Transaction Summary
===========================================================================================================
Remove 1 Package
Installed size: 1.7 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Erasing : 1:nginx-1.20.1-10.el7.x86_64 1/1
Verifying : 1:nginx-1.20.1-10.el7.x86_64 1/1
Removed:
nginx.x86_64 1:1.20.1-10.el7
Complete!
自己的安装过程--yum
环境:虚拟机
ip:10.0.1.0
网关:10.0.1.2
子网掩码:255.255.255.0
测试机器ip:10.0.1.104
00--没有更新yum源的,可以更新一下
1. 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2. 下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/
2.1各版本
centos8
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
centos6
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-6.10.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-6.10.repo
CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
3.各版本epel源
3.1 备份(如有配置其他epel源)
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
3.2 下载新repo 到/etc/yum.repos.d/
epel(RHEL 8)
1)安装 epel 配置包
yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
2)将 repo 配置中的地址替换为阿里云镜像站地址
sed -i 's|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*
epel(RHEL 7)
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
epel(RHEL 6) (epel6官方源已下线,建议切换epel-archive源)
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-archive-6.repo
4.更新缓存和软件
yum clean all
yum makecache
yum update
#nginx 安装方式
1.nginx软件安装:
yum 安装
yum install epel-release
yum install nginx -y
systemctl start nginx
卸载
yum -y remove nginx
2.编译安装 (生产环境)
yum -y install pcre-devel openssl-devel zlib-devel gcc
groupadd nginx
useradd -g nginx -s /sbin/nologin nginx
切换到解压后的nginx目录中执行:
cd /usr/local/src
wget http://nginx.org/download/nginx-1.18.0.tar.gz
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx
--with-http_ssl_module --with-http_stub_status_module
make
make install
启动nginx:/usr/local/nginx/sbin/nginx
关闭nginx:/usr/local/nginx/sbin/nginx -s stop
检查nginx 是否异常:/usr/local/nginx/sbin/nginx -t
重启nginx: nginx -s reload
每次都需要输入路径才可以重启 检查等操作比较繁琐
用软连接定义
ln -s /usr/local/nginx/sbin/nginx /bin/nginx
这样就可以了
启动 : nginx
停止:nginx -t stop
重启 : nginx -s reload
检查: nginx -t
具体演示效果
1.
yum安装nginx
[root@node-4 ~]# yum -y install nginx
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
Resolving Dependencies
--> Running transaction check
---> Package nginx.x86_64 1:1.20.1-10.el7 will be installed
--> Processing Dependency: nginx-filesystem = 1:1.20.1-10.el7 for package: 1:nginx-1.20.1-10.el7.x86_64
--> Processing Dependency: libcrypto.so.1.1(OPENSSL_1_1_0)(64bit) for package: 1:nginx-1.20.1-10.el7.x86_64
--> Processing Dependency: libssl.so.1.1(OPENSSL_1_1_0)(64bit) for package: 1:nginx-1.20.1-10.el7.x86_64
--> Processing Dependency: libssl.so.1.1(OPENSSL_1_1_1)(64bit) for package: 1:nginx-1.20.1-10.el7.x86_64
--> Processing Dependency: nginx-filesystem for package: 1:nginx-1.20.1-10.el7.x86_64
--> Processing Dependency: redhat-indexhtml for package: 1:nginx-1.20.1-10.el7.x86_64
--> Processing Dependency: libcrypto.so.1.1()(64bit) for package: 1:nginx-1.20.1-10.el7.x86_64
--> Processing Dependency: libprofiler.so.0()(64bit) for package: 1:nginx-1.20.1-10.el7.x86_64
--> Processing Dependency: libssl.so.1.1()(64bit) for package: 1:nginx-1.20.1-10.el7.x86_64
--> Running transaction check
---> Package centos-indexhtml.noarch 0:7-9.el7.centos will be installed
---> Package gperftools-libs.x86_64 0:2.6.1-1.el7 will be installed
---> Package nginx-filesystem.noarch 1:1.20.1-10.el7 will be installed
---> Package openssl11-libs.x86_64 1:1.1.1k-7.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===========================================================================================================
Package Arch Version Repository Size
===========================================================================================================
Installing:
nginx x86_64 1:1.20.1-10.el7 epel 588 k
Installing for dependencies:
centos-indexhtml noarch 7-9.el7.centos base 92 k
gperftools-libs x86_64 2.6.1-1.el7 base 272 k
nginx-filesystem noarch 1:1.20.1-10.el7 epel 24 k
openssl11-libs x86_64 1:1.1.1k-7.el7 epel 1.5 M
Transaction Summary
===========================================================================================================
Install 1 Package (+4 Dependent packages)
Total download size: 2.4 M
Installed size: 6.7 M
Downloading packages:
(1/5): centos-indexhtml-7-9.el7.centos.noarch.rpm | 92 kB 00:00:00
(2/5): nginx-filesystem-1.20.1-10.el7.noarch.rpm | 24 kB 00:00:00
(3/5): gperftools-libs-2.6.1-1.el7.x86_64.rpm | 272 kB 00:00:00
(4/5): nginx-1.20.1-10.el7.x86_64.rpm | 588 kB 00:00:00
(5/5): openssl11-libs-1.1.1k-7.el7.x86_64.rpm | 1.5 MB 00:00:00
-----------------------------------------------------------------------------------------------------------
Total 1.6 MB/s | 2.4 MB 00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : 1:openssl11-libs-1.1.1k-7.el7.x86_64 1/5
Installing : 1:nginx-filesystem-1.20.1-10.el7.noarch 2/5
Installing : centos-indexhtml-7-9.el7.centos.noarch 3/5
Installing : gperftools-libs-2.6.1-1.el7.x86_64 4/5
Installing : 1:nginx-1.20.1-10.el7.x86_64 5/5
Verifying : gperftools-libs-2.6.1-1.el7.x86_64 1/5
Verifying : centos-indexhtml-7-9.el7.centos.noarch 2/5
Verifying : 1:nginx-filesystem-1.20.1-10.el7.noarch 3/5
Verifying : 1:nginx-1.20.1-10.el7.x86_64 4/5
Verifying : 1:openssl11-libs-1.1.1k-7.el7.x86_64 5/5
Installed:
nginx.x86_64 1:1.20.1-10.el7
Dependency Installed:
centos-indexhtml.noarch 0:7-9.el7.centos gperftools-libs.x86_64 0:2.6.1-1.el7
nginx-filesystem.noarch 1:1.20.1-10.el7 openssl11-libs.x86_64 1:1.1.1k-7.el7
Complete!
[root@node-4 ~]# systemctl start nginx
[root@node-4 ~]# systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2024-03-22 10:00:42 CST; 7s ago
Process: 50125 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 50122 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 50120 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 50127 (nginx)
CGroup: /system.slice/nginx.service
├─50127 nginx: master process /usr/sbin/nginx
├─50128 nginx: worker process
└─50129 nginx: worker process
Mar 22 10:00:42 node-4 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Mar 22 10:00:42 node-4 nginx[50122]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Mar 22 10:00:42 node-4 nginx[50122]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Mar 22 10:00:42 node-4 systemd[1]: Started The nginx HTTP and reverse proxy server.
[root@node-4 ~]# yum remove -y nginx
Loaded plugins: fastestmirror
Resolving Dependencies
--> Running transaction check
---> Package nginx.x86_64 1:1.20.1-10.el7 will be erased
--> Finished Dependency Resolution
Dependencies Resolved
===========================================================================================================
Package Arch Version Repository Size
===========================================================================================================
Removing:
nginx x86_64 1:1.20.1-10.el7 @epel 1.7 M
Transaction Summary
===========================================================================================================
Remove 1 Package
Installed size: 1.7 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Erasing : 1:nginx-1.20.1-10.el7.x86_64 1/1
Verifying : 1:nginx-1.20.1-10.el7.x86_64 1/1
Removed:
nginx.x86_64 1:1.20.1-10.el7
Complete!
此时打开自己的本机ip自己去浏览器查看一下就可以了
02-编译安装--重点
yum -y install pcre-devel openssl-devel zlib-devel gcc
groupadd nginx
useradd -g nginx -s /sbin/nologin nginx
切换到解压后的nginx目录中执行:
cd /usr/local/src
wget http://nginx.org/download/nginx-1.18.0.tar.gz
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx
--with-http_ssl_module --with-http_stub_status_module
make
make install
启动nginx:/usr/local/nginx/sbin/nginx
关闭nginx:/usr/local/nginx/sbin/nginx -s stop
检查nginx 是否异常:/usr/local/nginx/sbin/nginx -t
重启nginx: nginx -s reload
每次都需要输入路径才可以重启 检查等操作比较繁琐
用软连接定义
ln -s /usr/local/nginx/sbin/nginx /bin/nginx
这样就可以了
启动 : nginx
停止:nginx -t stop
重启 : nginx -s reload
检查: nginx -t
具体过程演示:
nginx-1.18.0/src/http/modules/perl/
nginx-1.18.0/src/http/modules/ngx_http_flv_module.c
nginx-1.18.0/src/http/modules/ngx_http_geo_module.c
nginx-1.18.0/src/http/modules/ngx_http_geoip_module.c
nginx-1.18.0/src/http/modules/ngx_http_grpc_module.c
nginx-1.18.0/src/http/modules/ngx_http_gunzip_filter_module.c
nginx-1.18.0/src/http/modules/ngx_http_gzip_filter_module.c
nginx-1.18.0/src/http/modules/ngx_http_gzip_static_module.c
nginx-1.18.0/src/http/modules/ngx_http_headers_filter_module.c
nginx-1.18.0/src/http/modules/ngx_http_image_filter_module.c
nginx-1.18.0/src/http/modules/ngx_http_index_module.c
nginx-1.18.0/src/http/modules/ngx_http_limit_conn_module.c
nginx-1.18.0/src/http/modules/ngx_http_limit_req_module.c
nginx-1.18.0/src/http/modules/ngx_http_log_module.c
nginx-1.18.0/src/http/modules/ngx_http_map_module.c
nginx-1.18.0/src/http/modules/ngx_http_memcached_module.c
nginx-1.18.0/src/http/modules/ngx_http_mirror_module.c
nginx-1.18.0/src/http/modules/ngx_http_mp4_module.c
nginx-1.18.0/src/http/modules/ngx_http_not_modified_filter_module.c
nginx-1.18.0/src/http/modules/ngx_http_proxy_module.c
nginx-1.18.0/src/http/modules/ngx_http_random_index_module.c
nginx-1.18.0/src/http/modules/ngx_http_range_filter_module.c
nginx-1.18.0/src/http/modules/ngx_http_realip_module.c
nginx-1.18.0/src/http/modules/ngx_http_referer_module.c
nginx-1.18.0/src/http/modules/ngx_http_rewrite_module.c
nginx-1.18.0/src/http/modules/ngx_http_scgi_module.c
nginx-1.18.0/src/http/modules/ngx_http_secure_link_module.c
nginx-1.18.0/src/http/modules/ngx_http_slice_filter_module.c
nginx-1.18.0/src/http/modules/ngx_http_split_clients_module.c
nginx-1.18.0/src/http/modules/ngx_http_ssi_filter_module.c
nginx-1.18.0/src/http/modules/ngx_http_ssi_filter_module.h
nginx-1.18.0/src/http/modules/ngx_http_ssl_module.c
nginx-1.18.0/src/http/modules/ngx_http_ssl_module.h
nginx-1.18.0/src/http/modules/ngx_http_static_module.c
nginx-1.18.0/src/http/modules/ngx_http_stub_status_module.c
nginx-1.18.0/src/http/modules/ngx_http_sub_filter_module.c
nginx-1.18.0/src/http/modules/ngx_http_try_files_module.c
nginx-1.18.0/src/http/modules/ngx_http_upstream_hash_module.c
nginx-1.18.0/src/http/modules/ngx_http_upstream_ip_hash_module.c
nginx-1.18.0/src/http/modules/ngx_http_upstream_keepalive_module.c
nginx-1.18.0/src/http/modules/ngx_http_upstream_random_module.c
nginx-1.18.0/src/http/modules/ngx_http_upstream_least_conn_module.c
nginx-1.18.0/src/http/modules/ngx_http_upstream_zone_module.c
nginx-1.18.0/src/http/modules/ngx_http_userid_filter_module.c
nginx-1.18.0/src/http/modules/ngx_http_uwsgi_module.c
nginx-1.18.0/src/http/modules/ngx_http_xslt_filter_module.c
nginx-1.18.0/src/http/modules/perl/Makefile.PL
nginx-1.18.0/src/http/modules/perl/nginx.pm
nginx-1.18.0/src/http/modules/perl/nginx.xs
nginx-1.18.0/src/http/modules/perl/ngx_http_perl_module.c
nginx-1.18.0/src/http/modules/perl/ngx_http_perl_module.h
nginx-1.18.0/src/http/modules/perl/typemap
nginx-1.18.0/src/event/modules/
nginx-1.18.0/src/event/ngx_event.c
nginx-1.18.0/src/event/ngx_event.h
nginx-1.18.0/src/event/ngx_event_accept.c
nginx-1.18.0/src/event/ngx_event_connect.c
nginx-1.18.0/src/event/ngx_event_connect.h
nginx-1.18.0/src/event/ngx_event_openssl.c
nginx-1.18.0/src/event/ngx_event_openssl.h
nginx-1.18.0/src/event/ngx_event_openssl_stapling.c
nginx-1.18.0/src/event/ngx_event_pipe.c
nginx-1.18.0/src/event/ngx_event_pipe.h
nginx-1.18.0/src/event/ngx_event_posted.c
nginx-1.18.0/src/event/ngx_event_posted.h
nginx-1.18.0/src/event/ngx_event_timer.c
nginx-1.18.0/src/event/ngx_event_timer.h
nginx-1.18.0/src/event/ngx_event_udp.c
nginx-1.18.0/src/event/modules/ngx_devpoll_module.c
nginx-1.18.0/src/event/modules/ngx_epoll_module.c
nginx-1.18.0/src/event/modules/ngx_eventport_module.c
nginx-1.18.0/src/event/modules/ngx_kqueue_module.c
nginx-1.18.0/src/event/modules/ngx_poll_module.c
nginx-1.18.0/src/event/modules/ngx_select_module.c
nginx-1.18.0/src/event/modules/ngx_win32_poll_module.c
nginx-1.18.0/src/event/modules/ngx_win32_select_module.c
nginx-1.18.0/src/core/nginx.c
nginx-1.18.0/src/core/nginx.h
nginx-1.18.0/src/core/ngx_array.c
nginx-1.18.0/src/core/ngx_array.h
nginx-1.18.0/src/core/ngx_buf.c
nginx-1.18.0/src/core/ngx_buf.h
nginx-1.18.0/src/core/ngx_conf_file.c
nginx-1.18.0/src/core/ngx_conf_file.h
nginx-1.18.0/src/core/ngx_config.h
nginx-1.18.0/src/core/ngx_connection.c
nginx-1.18.0/src/core/ngx_connection.h
nginx-1.18.0/src/core/ngx_core.h
nginx-1.18.0/src/core/ngx_cpuinfo.c
nginx-1.18.0/src/core/ngx_crc.h
nginx-1.18.0/src/core/ngx_crc32.c
nginx-1.18.0/src/core/ngx_crc32.h
nginx-1.18.0/src/core/ngx_crypt.c
nginx-1.18.0/src/core/ngx_crypt.h
nginx-1.18.0/src/core/ngx_cycle.c
nginx-1.18.0/src/core/ngx_cycle.h
nginx-1.18.0/src/core/ngx_file.c
nginx-1.18.0/src/core/ngx_file.h
nginx-1.18.0/src/core/ngx_hash.c
nginx-1.18.0/src/core/ngx_hash.h
nginx-1.18.0/src/core/ngx_inet.c
nginx-1.18.0/src/core/ngx_inet.h
nginx-1.18.0/src/core/ngx_list.c
nginx-1.18.0/src/core/ngx_list.h
nginx-1.18.0/src/core/ngx_log.c
nginx-1.18.0/src/core/ngx_log.h
nginx-1.18.0/src/core/ngx_md5.c
nginx-1.18.0/src/core/ngx_md5.h
nginx-1.18.0/src/core/ngx_module.c
nginx-1.18.0/src/core/ngx_module.h
nginx-1.18.0/src/core/ngx_murmurhash.c
nginx-1.18.0/src/core/ngx_murmurhash.h
nginx-1.18.0/src/core/ngx_open_file_cache.c
nginx-1.18.0/src/core/ngx_open_file_cache.h
nginx-1.18.0/src/core/ngx_output_chain.c
nginx-1.18.0/src/core/ngx_palloc.c
nginx-1.18.0/src/core/ngx_palloc.h
nginx-1.18.0/src/core/ngx_parse.c
nginx-1.18.0/src/core/ngx_parse.h
nginx-1.18.0/src/core/ngx_parse_time.c
nginx-1.18.0/src/core/ngx_queue.c
nginx-1.18.0/src/core/ngx_parse_time.h
nginx-1.18.0/src/core/ngx_proxy_protocol.c
nginx-1.18.0/src/core/ngx_proxy_protocol.h
nginx-1.18.0/src/core/ngx_queue.h
nginx-1.18.0/src/core/ngx_radix_tree.c
nginx-1.18.0/src/core/ngx_radix_tree.h
nginx-1.18.0/src/core/ngx_rbtree.c
nginx-1.18.0/src/core/ngx_rbtree.h
nginx-1.18.0/src/core/ngx_regex.c
nginx-1.18.0/src/core/ngx_regex.h
nginx-1.18.0/src/core/ngx_resolver.c
nginx-1.18.0/src/core/ngx_resolver.h
nginx-1.18.0/src/core/ngx_rwlock.c
nginx-1.18.0/src/core/ngx_rwlock.h
nginx-1.18.0/src/core/ngx_sha1.c
nginx-1.18.0/src/core/ngx_sha1.h
nginx-1.18.0/src/core/ngx_shmtx.c
nginx-1.18.0/src/core/ngx_shmtx.h
nginx-1.18.0/src/core/ngx_slab.c
nginx-1.18.0/src/core/ngx_slab.h
nginx-1.18.0/src/core/ngx_spinlock.c
nginx-1.18.0/src/core/ngx_string.c
nginx-1.18.0/src/core/ngx_string.h
nginx-1.18.0/src/core/ngx_syslog.c
nginx-1.18.0/src/core/ngx_syslog.h
nginx-1.18.0/src/core/ngx_thread_pool.c
nginx-1.18.0/src/core/ngx_thread_pool.h
nginx-1.18.0/src/core/ngx_times.c
nginx-1.18.0/src/core/ngx_times.h
nginx-1.18.0/contrib/README
nginx-1.18.0/contrib/geo2nginx.pl
nginx-1.18.0/contrib/unicode2nginx/
nginx-1.18.0/contrib/vim/
nginx-1.18.0/contrib/vim/ftdetect/
nginx-1.18.0/contrib/vim/ftplugin/
nginx-1.18.0/contrib/vim/indent/
nginx-1.18.0/contrib/vim/syntax/
nginx-1.18.0/contrib/vim/syntax/nginx.vim
nginx-1.18.0/contrib/vim/indent/nginx.vim
nginx-1.18.0/contrib/vim/ftplugin/nginx.vim
nginx-1.18.0/contrib/vim/ftdetect/nginx.vim
nginx-1.18.0/contrib/unicode2nginx/koi-utf
nginx-1.18.0/contrib/unicode2nginx/unicode-to-nginx.pl
nginx-1.18.0/contrib/unicode2nginx/win-utf
nginx-1.18.0/conf/fastcgi.conf
nginx-1.18.0/conf/fastcgi_params
nginx-1.18.0/conf/koi-utf
nginx-1.18.0/conf/koi-win
nginx-1.18.0/conf/mime.types
nginx-1.18.0/conf/nginx.conf
nginx-1.18.0/conf/scgi_params
nginx-1.18.0/conf/uwsgi_params
nginx-1.18.0/conf/win-utf
nginx-1.18.0/auto/cc/
nginx-1.18.0/auto/define
nginx-1.18.0/auto/endianness
nginx-1.18.0/auto/feature
nginx-1.18.0/auto/have
nginx-1.18.0/auto/have_headers
nginx-1.18.0/auto/headers
nginx-1.18.0/auto/include
nginx-1.18.0/auto/init
nginx-1.18.0/auto/install
nginx-1.18.0/auto/lib/
nginx-1.18.0/auto/make
nginx-1.18.0/auto/module
nginx-1.18.0/auto/modules
nginx-1.18.0/auto/nohave
nginx-1.18.0/auto/options
nginx-1.18.0/auto/os/
nginx-1.18.0/auto/sources
nginx-1.18.0/auto/stubs
nginx-1.18.0/auto/summary
nginx-1.18.0/auto/threads
nginx-1.18.0/auto/types/
nginx-1.18.0/auto/unix
nginx-1.18.0/auto/types/sizeof
nginx-1.18.0/auto/types/typedef
nginx-1.18.0/auto/types/uintptr_t
nginx-1.18.0/auto/types/value
nginx-1.18.0/auto/os/conf
nginx-1.18.0/auto/os/darwin
nginx-1.18.0/auto/os/freebsd
nginx-1.18.0/auto/os/linux
nginx-1.18.0/auto/os/solaris
nginx-1.18.0/auto/os/win32
nginx-1.18.0/auto/lib/conf
nginx-1.18.0/auto/lib/geoip/
nginx-1.18.0/auto/lib/google-perftools/
nginx-1.18.0/auto/lib/libatomic/
nginx-1.18.0/auto/lib/libgd/
nginx-1.18.0/auto/lib/libxslt/
nginx-1.18.0/auto/lib/make
nginx-1.18.0/auto/lib/openssl/
nginx-1.18.0/auto/lib/pcre/
nginx-1.18.0/auto/lib/perl/
nginx-1.18.0/auto/lib/zlib/
nginx-1.18.0/auto/lib/zlib/conf
nginx-1.18.0/auto/lib/zlib/make
nginx-1.18.0/auto/lib/zlib/makefile.bcc
nginx-1.18.0/auto/lib/zlib/makefile.msvc
nginx-1.18.0/auto/lib/zlib/makefile.owc
nginx-1.18.0/auto/lib/perl/conf
nginx-1.18.0/auto/lib/perl/make
nginx-1.18.0/auto/lib/pcre/conf
nginx-1.18.0/auto/lib/pcre/make
nginx-1.18.0/auto/lib/pcre/makefile.bcc
nginx-1.18.0/auto/lib/pcre/makefile.msvc
nginx-1.18.0/auto/lib/pcre/makefile.owc
nginx-1.18.0/auto/lib/openssl/conf
nginx-1.18.0/auto/lib/openssl/make
nginx-1.18.0/auto/lib/openssl/makefile.bcc
nginx-1.18.0/auto/lib/openssl/makefile.msvc
nginx-1.18.0/auto/lib/libxslt/conf
nginx-1.18.0/auto/lib/libgd/conf
nginx-1.18.0/auto/lib/libatomic/conf
nginx-1.18.0/auto/lib/libatomic/make
nginx-1.18.0/auto/lib/google-perftools/conf
nginx-1.18.0/auto/lib/geoip/conf
nginx-1.18.0/auto/cc/acc
nginx-1.18.0/auto/cc/bcc
nginx-1.18.0/auto/cc/ccc
nginx-1.18.0/auto/cc/clang
nginx-1.18.0/auto/cc/conf
nginx-1.18.0/auto/cc/gcc
nginx-1.18.0/auto/cc/icc
nginx-1.18.0/auto/cc/msvc
nginx-1.18.0/auto/cc/name
nginx-1.18.0/auto/cc/owc
nginx-1.18.0/auto/cc/sunc
[root@node-1 src]# ls
nginx-1.18.0 nginx-1.18.0.tar.gz
[root@node-1 src]# cd nginx-1.18.0
[root@node-1 nginx-1.18.0]# ls
auto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src
[root@node-1 nginx-1.18.0]# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx
checking for OS
+ Linux 3.10.0-229.el7.x86_64 x86_64
checking for C compiler ... found
+ using GNU C compiler
+ gcc version: 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
checking for gcc -pipe switch ... found
checking for -Wl,-E switch ... found
checking for gcc builtin atomic operations ... found
checking for C99 variadic macros ... found
checking for gcc variadic macros ... found
checking for gcc builtin 64 bit byteswap ... found
checking for unistd.h ... found
checking for inttypes.h ... found
checking for limits.h ... found
checking for sys/filio.h ... not found
checking for sys/param.h ... found
checking for sys/mount.h ... found
checking for sys/statvfs.h ... found
checking for crypt.h ... found
checking for Linux specific features
checking for epoll ... found
checking for EPOLLRDHUP ... found
checking for EPOLLEXCLUSIVE ... not found
checking for O_PATH ... found
checking for sendfile() ... found
checking for sendfile64() ... found
checking for sys/prctl.h ... found
checking for prctl(PR_SET_DUMPABLE) ... found
checking for prctl(PR_SET_KEEPCAPS) ... found
checking for capabilities ... found
checking for crypt_r() ... found
checking for sys/vfs.h ... found
checking for poll() ... found
checking for /dev/poll ... not found
checking for kqueue ... not found
checking for crypt() ... not found
checking for crypt() in libcrypt ... found
checking for F_READAHEAD ... not found
checking for posix_fadvise() ... found
checking for O_DIRECT ... found
checking for F_NOCACHE ... not found
checking for directio() ... not found
checking for statfs() ... found
checking for statvfs() ... found
checking for dlopen() ... not found
checking for dlopen() in libdl ... found
checking for sched_yield() ... found
checking for sched_setaffinity() ... found
checking for SO_SETFIB ... not found
checking for SO_REUSEPORT ... found
checking for SO_ACCEPTFILTER ... not found
checking for SO_BINDANY ... not found
checking for IP_TRANSPARENT ... found
checking for IP_BINDANY ... not found
checking for IP_BIND_ADDRESS_NO_PORT ... found
checking for IP_RECVDSTADDR ... not found
checking for IP_SENDSRCADDR ... not found
checking for IP_PKTINFO ... found
checking for IPV6_RECVPKTINFO ... found
checking for TCP_DEFER_ACCEPT ... found
checking for TCP_KEEPIDLE ... found
checking for TCP_FASTOPEN ... found
checking for TCP_INFO ... found
checking for accept4() ... found
checking for eventfd() ... found
checking for int size ... 4 bytes
checking for long size ... 8 bytes
checking for long long size ... 8 bytes
checking for void * size ... 8 bytes
checking for uint32_t ... found
checking for uint64_t ... found
checking for sig_atomic_t ... found
checking for sig_atomic_t size ... 4 bytes
checking for socklen_t ... found
checking for in_addr_t ... found
checking for in_port_t ... found
checking for rlim_t ... found
checking for uintptr_t ... uintptr_t found
checking for system byte ordering ... little endian
checking for size_t size ... 8 bytes
checking for off_t size ... 8 bytes
checking for time_t size ... 8 bytes
checking for AF_INET6 ... found
checking for setproctitle() ... not found
checking for pread() ... found
checking for pwrite() ... found
checking for pwritev() ... found
checking for sys_nerr ... found
checking for localtime_r() ... found
checking for clock_gettime(CLOCK_MONOTONIC) ... found
checking for posix_memalign() ... found
checking for memalign() ... found
checking for mmap(MAP_ANON|MAP_SHARED) ... found
checking for mmap("/dev/zero", MAP_SHARED) ... found
checking for System V shared memory ... found
checking for POSIX semaphores ... not found
checking for POSIX semaphores in libpthread ... found
checking for struct msghdr.msg_control ... found
checking for ioctl(FIONBIO) ... found
checking for ioctl(FIONREAD) ... found
checking for struct tm.tm_gmtoff ... found
checking for struct dirent.d_namlen ... not found
checking for struct dirent.d_type ... found
checking for sysconf(_SC_NPROCESSORS_ONLN) ... found
checking for sysconf(_SC_LEVEL1_DCACHE_LINESIZE) ... found
checking for openat(), fstatat() ... found
checking for getaddrinfo() ... found
checking for PCRE library ... found
checking for PCRE JIT support ... found
checking for zlib library ... found
creating objs/Makefile
Configuration summary
+ using system PCRE library
+ OpenSSL library is not used
+ using system zlib library
nginx path prefix: "/usr/local/nginx"
nginx binary file: "/usr/local/nginx/sbin/nginx"
nginx modules path: "/usr/local/nginx/modules"
nginx configuration prefix: "/usr/local/nginx/conf"
nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
nginx pid file: "/usr/local/nginx/logs/nginx.pid"
nginx error log file: "/usr/local/nginx/logs/error.log"
nginx http access log file: "/usr/local/nginx/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"
[root@node-1 nginx-1.18.0]# make
make -f objs/Makefile
make[1]: Entering directory /usr/local/src/nginx-1.18.0'
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/nginx.o \
src/core/nginx.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_log.o \
src/core/ngx_log.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_palloc.o \
src/core/ngx_palloc.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_array.o \
src/core/ngx_array.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_list.o \
src/core/ngx_list.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_hash.o \
src/core/ngx_hash.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_buf.o \
src/core/ngx_buf.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_queue.o \
src/core/ngx_queue.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_output_chain.o \
src/core/ngx_output_chain.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_string.o \
src/core/ngx_string.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_parse.o \
src/core/ngx_parse.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_parse_time.o \
src/core/ngx_parse_time.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_inet.o \
src/core/ngx_inet.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_file.o \
src/core/ngx_file.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_crc32.o \
src/core/ngx_crc32.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_murmurhash.o \
src/core/ngx_murmurhash.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_md5.o \
src/core/ngx_md5.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_sha1.o \
src/core/ngx_sha1.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_rbtree.o \
src/core/ngx_rbtree.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_radix_tree.o \
src/core/ngx_radix_tree.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_slab.o \
src/core/ngx_slab.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_times.o \
src/core/ngx_times.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_shmtx.o \
src/core/ngx_shmtx.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_connection.o \
src/core/ngx_connection.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_cycle.o \
src/core/ngx_cycle.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_spinlock.o \
src/core/ngx_spinlock.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_rwlock.o \
src/core/ngx_rwlock.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_cpuinfo.o \
src/core/ngx_cpuinfo.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_conf_file.o \
src/core/ngx_conf_file.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_module.o \
src/core/ngx_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_resolver.o \
src/core/ngx_resolver.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_open_file_cache.o \
src/core/ngx_open_file_cache.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_crypt.o \
src/core/ngx_crypt.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_proxy_protocol.o \
src/core/ngx_proxy_protocol.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_syslog.o \
src/core/ngx_syslog.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/event/ngx_event.o \
src/event/ngx_event.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/event/ngx_event_timer.o \
src/event/ngx_event_timer.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/event/ngx_event_posted.o \
src/event/ngx_event_posted.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/event/ngx_event_accept.o \
src/event/ngx_event_accept.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/event/ngx_event_udp.o \
src/event/ngx_event_udp.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/event/ngx_event_connect.o \
src/event/ngx_event_connect.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/event/ngx_event_pipe.o \
src/event/ngx_event_pipe.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_time.o \
src/os/unix/ngx_time.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_errno.o \
src/os/unix/ngx_errno.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_alloc.o \
src/os/unix/ngx_alloc.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_files.o \
src/os/unix/ngx_files.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_socket.o \
src/os/unix/ngx_socket.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_recv.o \
src/os/unix/ngx_recv.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_readv_chain.o \
src/os/unix/ngx_readv_chain.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_udp_recv.o \
src/os/unix/ngx_udp_recv.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_send.o \
src/os/unix/ngx_send.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_writev_chain.o \
src/os/unix/ngx_writev_chain.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_udp_send.o \
src/os/unix/ngx_udp_send.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_udp_sendmsg_chain.o \
src/os/unix/ngx_udp_sendmsg_chain.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_channel.o \
src/os/unix/ngx_channel.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_shmem.o \
src/os/unix/ngx_shmem.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_process.o \
src/os/unix/ngx_process.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_daemon.o \
src/os/unix/ngx_daemon.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_setaffinity.o \
src/os/unix/ngx_setaffinity.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_setproctitle.o \
src/os/unix/ngx_setproctitle.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_posix_init.o \
src/os/unix/ngx_posix_init.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_user.o \
src/os/unix/ngx_user.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_dlopen.o \
src/os/unix/ngx_dlopen.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_process_cycle.o \
src/os/unix/ngx_process_cycle.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_linux_init.o \
src/os/unix/ngx_linux_init.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/event/modules/ngx_epoll_module.o \
src/event/modules/ngx_epoll_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_linux_sendfile_chain.o \
src/os/unix/ngx_linux_sendfile_chain.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_regex.o \
src/core/ngx_regex.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http.o \
src/http/ngx_http.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_core_module.o \
src/http/ngx_http_core_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_special_response.o \
src/http/ngx_http_special_response.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_request.o \
src/http/ngx_http_request.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_parse.o \
src/http/ngx_http_parse.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_log_module.o \
src/http/modules/ngx_http_log_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_request_body.o \
src/http/ngx_http_request_body.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_variables.o \
src/http/ngx_http_variables.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_script.o \
src/http/ngx_http_script.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_upstream.o \
src/http/ngx_http_upstream.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_upstream_round_robin.o \
src/http/ngx_http_upstream_round_robin.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_file_cache.o \
src/http/ngx_http_file_cache.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_write_filter_module.o \
src/http/ngx_http_write_filter_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_header_filter_module.o \
src/http/ngx_http_header_filter_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_chunked_filter_module.o \
src/http/modules/ngx_http_chunked_filter_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_range_filter_module.o \
src/http/modules/ngx_http_range_filter_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_gzip_filter_module.o \
src/http/modules/ngx_http_gzip_filter_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_postpone_filter_module.o \
src/http/ngx_http_postpone_filter_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_ssi_filter_module.o \
src/http/modules/ngx_http_ssi_filter_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_charset_filter_module.o \
src/http/modules/ngx_http_charset_filter_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_userid_filter_module.o \
src/http/modules/ngx_http_userid_filter_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_headers_filter_module.o \
src/http/modules/ngx_http_headers_filter_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_copy_filter_module.o \
src/http/ngx_http_copy_filter_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_not_modified_filter_module.o \
src/http/modules/ngx_http_not_modified_filter_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_static_module.o \
src/http/modules/ngx_http_static_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_autoindex_module.o \
src/http/modules/ngx_http_autoindex_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_index_module.o \
src/http/modules/ngx_http_index_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_mirror_module.o \
src/http/modules/ngx_http_mirror_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_try_files_module.o \
src/http/modules/ngx_http_try_files_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_auth_basic_module.o \
src/http/modules/ngx_http_auth_basic_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_access_module.o \
src/http/modules/ngx_http_access_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_limit_conn_module.o \
src/http/modules/ngx_http_limit_conn_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_limit_req_module.o \
src/http/modules/ngx_http_limit_req_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_geo_module.o \
src/http/modules/ngx_http_geo_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_map_module.o \
src/http/modules/ngx_http_map_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_split_clients_module.o \
src/http/modules/ngx_http_split_clients_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_referer_module.o \
src/http/modules/ngx_http_referer_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_rewrite_module.o \
src/http/modules/ngx_http_rewrite_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_proxy_module.o \
src/http/modules/ngx_http_proxy_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_fastcgi_module.o \
src/http/modules/ngx_http_fastcgi_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_uwsgi_module.o \
src/http/modules/ngx_http_uwsgi_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_scgi_module.o \
src/http/modules/ngx_http_scgi_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_memcached_module.o \
src/http/modules/ngx_http_memcached_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_empty_gif_module.o \
src/http/modules/ngx_http_empty_gif_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_browser_module.o \
src/http/modules/ngx_http_browser_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_upstream_hash_module.o \
src/http/modules/ngx_http_upstream_hash_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_upstream_ip_hash_module.o \
src/http/modules/ngx_http_upstream_ip_hash_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_upstream_least_conn_module.o \
src/http/modules/ngx_http_upstream_least_conn_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_upstream_random_module.o \
src/http/modules/ngx_http_upstream_random_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_upstream_keepalive_module.o \
src/http/modules/ngx_http_upstream_keepalive_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_upstream_zone_module.o \
src/http/modules/ngx_http_upstream_zone_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/ngx_modules.o \
objs/ngx_modules.c
cc -o objs/nginx \
objs/src/core/nginx.o \
objs/src/core/ngx_log.o \
objs/src/core/ngx_palloc.o \
objs/src/core/ngx_array.o \
objs/src/core/ngx_list.o \
objs/src/core/ngx_hash.o \
objs/src/core/ngx_buf.o \
objs/src/core/ngx_queue.o \
objs/src/core/ngx_output_chain.o \
objs/src/core/ngx_string.o \
objs/src/core/ngx_parse.o \
objs/src/core/ngx_parse_time.o \
objs/src/core/ngx_inet.o \
objs/src/core/ngx_file.o \
objs/src/core/ngx_crc32.o \
objs/src/core/ngx_murmurhash.o \
objs/src/core/ngx_md5.o \
objs/src/core/ngx_sha1.o \
objs/src/core/ngx_rbtree.o \
objs/src/core/ngx_radix_tree.o \
objs/src/core/ngx_slab.o \
objs/src/core/ngx_times.o \
objs/src/core/ngx_shmtx.o \
objs/src/core/ngx_connection.o \
objs/src/core/ngx_cycle.o \
objs/src/core/ngx_spinlock.o \
objs/src/core/ngx_rwlock.o \
objs/src/core/ngx_cpuinfo.o \
objs/src/core/ngx_conf_file.o \
objs/src/core/ngx_module.o \
objs/src/core/ngx_resolver.o \
objs/src/core/ngx_open_file_cache.o \
objs/src/core/ngx_crypt.o \
objs/src/core/ngx_proxy_protocol.o \
objs/src/core/ngx_syslog.o \
objs/src/event/ngx_event.o \
objs/src/event/ngx_event_timer.o \
objs/src/event/ngx_event_posted.o \
objs/src/event/ngx_event_accept.o \
objs/src/event/ngx_event_udp.o \
objs/src/event/ngx_event_connect.o \
objs/src/event/ngx_event_pipe.o \
objs/src/os/unix/ngx_time.o \
objs/src/os/unix/ngx_errno.o \
objs/src/os/unix/ngx_alloc.o \
objs/src/os/unix/ngx_files.o \
objs/src/os/unix/ngx_socket.o \
objs/src/os/unix/ngx_recv.o \
objs/src/os/unix/ngx_readv_chain.o \
objs/src/os/unix/ngx_udp_recv.o \
objs/src/os/unix/ngx_send.o \
objs/src/os/unix/ngx_writev_chain.o \
objs/src/os/unix/ngx_udp_send.o \
objs/src/os/unix/ngx_udp_sendmsg_chain.o \
objs/src/os/unix/ngx_channel.o \
objs/src/os/unix/ngx_shmem.o \
objs/src/os/unix/ngx_process.o \
objs/src/os/unix/ngx_daemon.o \
objs/src/os/unix/ngx_setaffinity.o \
objs/src/os/unix/ngx_setproctitle.o \
objs/src/os/unix/ngx_posix_init.o \
objs/src/os/unix/ngx_user.o \
objs/src/os/unix/ngx_dlopen.o \
objs/src/os/unix/ngx_process_cycle.o \
objs/src/os/unix/ngx_linux_init.o \
objs/src/event/modules/ngx_epoll_module.o \
objs/src/os/unix/ngx_linux_sendfile_chain.o \
objs/src/core/ngx_regex.o \
objs/src/http/ngx_http.o \
objs/src/http/ngx_http_core_module.o \
objs/src/http/ngx_http_special_response.o \
objs/src/http/ngx_http_request.o \
objs/src/http/ngx_http_parse.o \
objs/src/http/modules/ngx_http_log_module.o \
objs/src/http/ngx_http_request_body.o \
objs/src/http/ngx_http_variables.o \
objs/src/http/ngx_http_script.o \
objs/src/http/ngx_http_upstream.o \
objs/src/http/ngx_http_upstream_round_robin.o \
objs/src/http/ngx_http_file_cache.o \
objs/src/http/ngx_http_write_filter_module.o \
objs/src/http/ngx_http_header_filter_module.o \
objs/src/http/modules/ngx_http_chunked_filter_module.o \
objs/src/http/modules/ngx_http_range_filter_module.o \
objs/src/http/modules/ngx_http_gzip_filter_module.o \
objs/src/http/ngx_http_postpone_filter_module.o \
objs/src/http/modules/ngx_http_ssi_filter_module.o \
objs/src/http/modules/ngx_http_charset_filter_module.o \
objs/src/http/modules/ngx_http_userid_filter_module.o \
objs/src/http/modules/ngx_http_headers_filter_module.o \
objs/src/http/ngx_http_copy_filter_module.o \
objs/src/http/modules/ngx_http_not_modified_filter_module.o \
objs/src/http/modules/ngx_http_static_module.o \
objs/src/http/modules/ngx_http_autoindex_module.o \
objs/src/http/modules/ngx_http_index_module.o \
objs/src/http/modules/ngx_http_mirror_module.o \
objs/src/http/modules/ngx_http_try_files_module.o \
objs/src/http/modules/ngx_http_auth_basic_module.o \
objs/src/http/modules/ngx_http_access_module.o \
objs/src/http/modules/ngx_http_limit_conn_module.o \
objs/src/http/modules/ngx_http_limit_req_module.o \
objs/src/http/modules/ngx_http_geo_module.o \
objs/src/http/modules/ngx_http_map_module.o \
objs/src/http/modules/ngx_http_split_clients_module.o \
objs/src/http/modules/ngx_http_referer_module.o \
objs/src/http/modules/ngx_http_rewrite_module.o \
objs/src/http/modules/ngx_http_proxy_module.o \
objs/src/http/modules/ngx_http_fastcgi_module.o \
objs/src/http/modules/ngx_http_uwsgi_module.o \
objs/src/http/modules/ngx_http_scgi_module.o \
objs/src/http/modules/ngx_http_memcached_module.o \
objs/src/http/modules/ngx_http_empty_gif_module.o \
objs/src/http/modules/ngx_http_browser_module.o \
objs/src/http/modules/ngx_http_upstream_hash_module.o \
objs/src/http/modules/ngx_http_upstream_ip_hash_module.o \
objs/src/http/modules/ngx_http_upstream_least_conn_module.o \
objs/src/http/modules/ngx_http_upstream_random_module.o \
objs/src/http/modules/ngx_http_upstream_keepalive_module.o \
objs/src/http/modules/ngx_http_upstream_zone_module.o \
objs/ngx_modules.o \
-ldl -lpthread -lcrypt -lpcre -lz \
-Wl,-E
sed -e "s|%%PREFIX%%|/usr/local/nginx|" \
-e "s|%%PID_PATH%%|/usr/local/nginx/logs/nginx.pid|" \
-e "s|%%CONF_PATH%%|/usr/local/nginx/conf/nginx.conf|" \
-e "s|%%ERROR_LOG_PATH%%|/usr/local/nginx/logs/error.log|" \
< man/nginx.8 > objs/nginx.8
make[1]: Leaving directory /usr/local/src/nginx-1.18.0'
[root@node-1 nginx-1.18.0]# make install
make -f objs/Makefile install
make[1]: Entering directory /usr/local/src/nginx-1.18.0'
test -d '/usr/local/nginx' || mkdir -p '/usr/local/nginx'
test -d '/usr/local/nginx/sbin' \
|| mkdir -p '/usr/local/nginx/sbin'
test ! -f '/usr/local/nginx/sbin/nginx' \
|| mv '/usr/local/nginx/sbin/nginx' \
'/usr/local/nginx/sbin/nginx.old'
cp objs/nginx '/usr/local/nginx/sbin/nginx'
test -d '/usr/local/nginx/conf' \
|| mkdir -p '/usr/local/nginx/conf'
cp conf/koi-win '/usr/local/nginx/conf'
cp conf/koi-utf '/usr/local/nginx/conf'
cp conf/win-utf '/usr/local/nginx/conf'
test -f '/usr/local/nginx/conf/mime.types' \
|| cp conf/mime.types '/usr/local/nginx/conf'
cp conf/mime.types '/usr/local/nginx/conf/mime.types.default'
test -f '/usr/local/nginx/conf/fastcgi_params' \
|| cp conf/fastcgi_params '/usr/local/nginx/conf'
cp conf/fastcgi_params \
'/usr/local/nginx/conf/fastcgi_params.default'
test -f '/usr/local/nginx/conf/fastcgi.conf' \
|| cp conf/fastcgi.conf '/usr/local/nginx/conf'
cp conf/fastcgi.conf '/usr/local/nginx/conf/fastcgi.conf.default'
test -f '/usr/local/nginx/conf/uwsgi_params' \
|| cp conf/uwsgi_params '/usr/local/nginx/conf'
cp conf/uwsgi_params \
'/usr/local/nginx/conf/uwsgi_params.default'
test -f '/usr/local/nginx/conf/scgi_params' \
|| cp conf/scgi_params '/usr/local/nginx/conf'
cp conf/scgi_params \
'/usr/local/nginx/conf/scgi_params.default'
test -f '/usr/local/nginx/conf/nginx.conf' \
|| cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf'
cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf.default'
test -d '/usr/local/nginx/logs' \
|| mkdir -p '/usr/local/nginx/logs'
test -d '/usr/local/nginx/logs' \
|| mkdir -p '/usr/local/nginx/logs'
test -d '/usr/local/nginx/html' \
|| cp -R html '/usr/local/nginx'
test -d '/usr/local/nginx/logs' \
|| mkdir -p '/usr/local/nginx/logs'
make[1]: Leaving directory /usr/local/src/nginx-1.18.0'
关闭他
[root@node-1 nginx-1.18.0]# /usr/local/nginx/sbin/nginx -s stop
查看是否异常
[root@node-1 nginx-1.18.0]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
启用他 查看他的80端口
[root@node-1怕= nginx-1.18.0]# /usr/local/nginx/sbin/nginx
[root@node-1 nginx-1.18.0]# ss -tulpn
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 *:80 *:* users:(("nginx",14877,6),("nginx",14876,6))
tcp LISTEN 0 128 *:22 *:* users:(("sshd",1084,3))
tcp LISTEN 0 100 127.0.0.1:25 *:* users:(("master",1519,13))
tcp LISTEN 0 128 :::22 :::* users:(("sshd",1084,4))
tcp LISTEN 0 100 ::1:25 :::* users:(("master",1519,14))
重启
[root@node-1 nginx-1.18.0]# /usr/local/nginx/sbin/nginx -s reload
同样可以用10.0.1.101来查看一下浏览器是否可以访问
自己的安装过程--编译
2.
编译安装(nginx)
1.1#安装一下gcc编译工具和依赖
yum -y install pcre-devel openssl-devel zlib-devel gcc
1.2#创建用户组和设置此用户组不可以登录(如果你有了,就不用创建了)
groupadd nginx
useradd -g nginx -s /sbin/nologin nginx
1.3#解压一下(一般你自己选个解压目录,便于管理和配置)
切换到解压后的nginx目录中执行:
cd /usr/local/src
wget http://nginx.org/download/nginx-1.18.0.tar.gz
解压压缩包
tar zxvf nginx-1.18.0.tar.gz (解压)
tar zcvf nginx-1.18.0.tar.gz (压缩)
1.4#编译一下他的用户和所属组以及配置安装路径--生成马克file文件
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx
--with-http_ssl_module --with-http_stub_status_module
注解:
您提供的命令是对 ./configure 脚本的调用,该脚本通常位于采用 GNU Autotools 构建系统的软件项目源代码目录中。这个脚本用于为项目的编译和安装做前期准备,根据用户提供的配置选项生成相应的 Makefile 文件。具体到您给出的命令:
bash
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx \
--with-http_ssl_module --with-http_stub_status_module
各个选项含义如下:
- --user=nginx: 指定编译安装后,Nginx 服务运行时所属的系统用户为 nginx。这意味着当 Nginx 服务启动时,将以 nginx 用户的身份运行。
- --group=nginx: 指定编译安装后,Nginx 服务运行时所属的系统组为 nginx。这意味着当 Nginx 服务启动时,将以 nginx 组的成员身份运行。
- --prefix=/usr/local/nginx: 设置 Nginx 的安装目录为 /usr/local/nginx。这意味着编译完成后,Nginx 的可执行文件、配置文件、库文件、文档等将被安装到这个路径下。例如,Nginx 主程序通常会被安装到 /usr/local/nginx/sbin/nginx,配置文件则位于 /usr/local/nginx/conf/nginx.conf。
- --with-http_ssl_module: 启用 SSL/TLS 支持模块。配置此项后,编译出的 Nginx 将具备处理 HTTPS 请求的能力,允许网站提供安全的加密通信。
- --with-http_stub_status_module: 启用 stub_status 模块。该模块提供了一个简单的 HTTP 接口,可以用来查询 Nginx 服务器的基本状态信息,如当前活动连接数、处理过的请求总数等。这对于监控 Nginx 服务器的运行状态非常有用。
执行以上命令后,./configure 脚本将检查系统环境,确认依赖项是否满足,并根据指定的选项生成相应的 Makefile。接下来,用户通常会执行 make 命令编译源代码,然后执行 make install 命令将编译好的程序安装到指定的位置。这样,一个带有 SSL 支持和 stub_status 模块的 Nginx 服务器就安装完成了,并将以 nginx 用户和组的身份运行。
make
make install
启动nginx:/usr/local/nginx/sbin/nginx
关闭nginx:/usr/local/nginx/sbin/nginx -s stop
检查nginx 是否异常:/usr/local/nginx/sbin/nginx -t
重启nginx: nginx -s reload
1.5#定义一下软连接(提高效率)
每次都需要输入路径才可以重启 检查等操作比较繁琐
用软连接定义
ln -s /usr/local/nginx/sbin/nginx /bin/nginx
这样就可以了
启动 : nginx
停止:nginx -t stop
重启 : nginx -s reload
检查: nginx -t
[root@node-4 ~]# yum -y install pcre-devel openssl-devel zlib-devel gcc
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
Resolving Dependencies
--> Running transaction check
---> Package gcc.x86_64 0:4.8.5-44.el7 will be installed
--> Processing Dependency: cpp = 4.8.5-44.el7 for package: gcc-4.8.5-44.el7.x86_64
--> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc-4.8.5-44.el7.x86_64
--> Processing Dependency: libmpfr.so.4()(64bit) for package: gcc-4.8.5-44.el7.x86_64
--> Processing Dependency: libmpc.so.3()(64bit) for package: gcc-4.8.5-44.el7.x86_64
---> Package openssl-devel.x86_64 1:1.0.2k-26.el7_9 will be installed
--> Processing Dependency: krb5-devel(x86-64) for package: 1:openssl-devel-1.0.2k-26.el7_9.x86_64
---> Package pcre-devel.x86_64 0:8.32-17.el7 will be installed
---> Package zlib-devel.x86_64 0:1.2.7-21.el7_9 will be installed
--> Running transaction check
---> Package cpp.x86_64 0:4.8.5-44.el7 will be installed
---> Package glibc-devel.x86_64 0:2.17-326.el7_9 will be installed
--> Processing Dependency: glibc-headers = 2.17-326.el7_9 for package: glibc-devel-2.17-326.el7_9.x86_64
--> Processing Dependency: glibc-headers for package: glibc-devel-2.17-326.el7_9.x86_64
---> Package krb5-devel.x86_64 0:1.15.1-55.el7_9 will be installed
--> Processing Dependency: libkadm5(x86-64) = 1.15.1-55.el7_9 for package: krb5-devel-1.15.1-55.el7_9.x86_64
--> Processing Dependency: libverto-devel for package: krb5-devel-1.15.1-55.el7_9.x86_64
--> Processing Dependency: libselinux-devel for package: krb5-devel-1.15.1-55.el7_9.x86_64
--> Processing Dependency: libcom_err-devel for package: krb5-devel-1.15.1-55.el7_9.x86_64
--> Processing Dependency: keyutils-libs-devel for package: krb5-devel-1.15.1-55.el7_9.x86_64
---> Package libmpc.x86_64 0:1.0.1-3.el7 will be installed
---> Package mpfr.x86_64 0:3.1.1-4.el7 will be installed
--> Running transaction check
---> Package glibc-headers.x86_64 0:2.17-326.el7_9 will be installed
--> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.17-326.el7_9.x86_64
--> Processing Dependency: kernel-headers for package: glibc-headers-2.17-326.el7_9.x86_64
---> Package keyutils-libs-devel.x86_64 0:1.5.8-3.el7 will be installed
---> Package libcom_err-devel.x86_64 0:1.42.9-19.el7 will be installed
---> Package libkadm5.x86_64 0:1.15.1-55.el7_9 will be installed
---> Package libselinux-devel.x86_64 0:2.5-15.el7 will be installed
--> Processing Dependency: libsepol-devel(x86-64) >= 2.5-10 for package: libselinux-devel-2.5-15.el7.x86_64
--> Processing Dependency: pkgconfig(libsepol) for package: libselinux-devel-2.5-15.el7.x86_64
---> Package libverto-devel.x86_64 0:0.2.5-4.el7 will be installed
--> Running transaction check
---> Package kernel-headers.x86_64 0:3.10.0-1160.108.1.el7 will be installed
---> Package libsepol-devel.x86_64 0:2.5-10.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===========================================================================================================
Package Arch Version Repository Size
===========================================================================================================
Installing:
gcc x86_64 4.8.5-44.el7 base 16 M
openssl-devel x86_64 1:1.0.2k-26.el7_9 updates 1.5 M
pcre-devel x86_64 8.32-17.el7 base 480 k
zlib-devel x86_64 1.2.7-21.el7_9 updates 50 k
Installing for dependencies:
cpp x86_64 4.8.5-44.el7 base 5.9 M
glibc-devel x86_64 2.17-326.el7_9 updates 1.1 M
glibc-headers x86_64 2.17-326.el7_9 updates 691 k
kernel-headers x86_64 3.10.0-1160.108.1.el7 updates 9.1 M
keyutils-libs-devel x86_64 1.5.8-3.el7 base 37 k
krb5-devel x86_64 1.15.1-55.el7_9 updates 273 k
libcom_err-devel x86_64 1.42.9-19.el7 base 32 k
libkadm5 x86_64 1.15.1-55.el7_9 updates 180 k
libmpc x86_64 1.0.1-3.el7 base 51 k
libselinux-devel x86_64 2.5-15.el7 base 187 k
libsepol-devel x86_64 2.5-10.el7 base 77 k
libverto-devel x86_64 0.2.5-4.el7 base 12 k
mpfr x86_64 3.1.1-4.el7 base 203 k
Transaction Summary
===========================================================================================================
Install 4 Packages (+13 Dependent packages)
Total download size: 36 M
Installed size: 66 M
Downloading packages:
(1/17): glibc-headers-2.17-326.el7_9.x86_64.rpm | 691 kB 00:00:00
(2/17): glibc-devel-2.17-326.el7_9.x86_64.rpm | 1.1 MB 00:00:01
(3/17): cpp-4.8.5-44.el7.x86_64.rpm | 5.9 MB 00:00:04
(4/17): keyutils-libs-devel-1.5.8-3.el7.x86_64.rpm | 37 kB 00:00:00
(5/17): libcom_err-devel-1.42.9-19.el7.x86_64.rpm | 32 kB 00:00:00
(6/17): krb5-devel-1.15.1-55.el7_9.x86_64.rpm | 273 kB 00:00:01
(7/17): libkadm5-1.15.1-55.el7_9.x86_64.rpm | 180 kB 00:00:00
(8/17): kernel-headers-3.10.0-1160.108.1.el7.x86_64.rpm | 9.1 MB 00:00:05
(9/17): libmpc-1.0.1-3.el7.x86_64.rpm | 51 kB 00:00:01
(10/17): libselinux-devel-2.5-15.el7.x86_64.rpm | 187 kB 00:00:00
(11/17): libsepol-devel-2.5-10.el7.x86_64.rpm | 77 kB 00:00:00
(12/17): libverto-devel-0.2.5-4.el7.x86_64.rpm | 12 kB 00:00:00
(13/17): mpfr-3.1.1-4.el7.x86_64.rpm | 203 kB 00:00:00
(14/17): pcre-devel-8.32-17.el7.x86_64.rpm | 480 kB 00:00:00
(15/17): openssl-devel-1.0.2k-26.el7_9.x86_64.rpm | 1.5 MB 00:00:01
(16/17): zlib-devel-1.2.7-21.el7_9.x86_64.rpm | 50 kB 00:00:01
(17/17): gcc-4.8.5-44.el7.x86_64.rpm | 16 MB 00:00:09
-----------------------------------------------------------------------------------------------------------
Total 3.6 MB/s | 36 MB 00:00:09
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : mpfr-3.1.1-4.el7.x86_64 1/17
Installing : libmpc-1.0.1-3.el7.x86_64 2/17
Installing : cpp-4.8.5-44.el7.x86_64 3/17
Installing : zlib-devel-1.2.7-21.el7_9.x86_64 4/17
Installing : libcom_err-devel-1.42.9-19.el7.x86_64 5/17
Installing : pcre-devel-8.32-17.el7.x86_64 6/17
Installing : kernel-headers-3.10.0-1160.108.1.el7.x86_64 7/17
Installing : glibc-headers-2.17-326.el7_9.x86_64 8/17
Installing : glibc-devel-2.17-326.el7_9.x86_64 9/17
Installing : libkadm5-1.15.1-55.el7_9.x86_64 10/17
Installing : libverto-devel-0.2.5-4.el7.x86_64 11/17
Installing : keyutils-libs-devel-1.5.8-3.el7.x86_64 12/17
Installing : libsepol-devel-2.5-10.el7.x86_64 13/17
Installing : libselinux-devel-2.5-15.el7.x86_64 14/17
Installing : krb5-devel-1.15.1-55.el7_9.x86_64 15/17
Installing : 1:openssl-devel-1.0.2k-26.el7_9.x86_64 16/17
Installing : gcc-4.8.5-44.el7.x86_64 17/17
Verifying : libsepol-devel-2.5-10.el7.x86_64 1/17
Verifying : glibc-headers-2.17-326.el7_9.x86_64 2/17
Verifying : 1:openssl-devel-1.0.2k-26.el7_9.x86_64 3/17
Verifying : libselinux-devel-2.5-15.el7.x86_64 4/17
Verifying : keyutils-libs-devel-1.5.8-3.el7.x86_64 5/17
Verifying : libverto-devel-0.2.5-4.el7.x86_64 6/17
Verifying : gcc-4.8.5-44.el7.x86_64 7/17
Verifying : libkadm5-1.15.1-55.el7_9.x86_64 8/17
Verifying : kernel-headers-3.10.0-1160.108.1.el7.x86_64 9/17
Verifying : mpfr-3.1.1-4.el7.x86_64 10/17
Verifying : glibc-devel-2.17-326.el7_9.x86_64 11/17
Verifying : cpp-4.8.5-44.el7.x86_64 12/17
Verifying : krb5-devel-1.15.1-55.el7_9.x86_64 13/17
Verifying : pcre-devel-8.32-17.el7.x86_64 14/17
Verifying : libmpc-1.0.1-3.el7.x86_64 15/17
Verifying : libcom_err-devel-1.42.9-19.el7.x86_64 16/17
Verifying : zlib-devel-1.2.7-21.el7_9.x86_64 17/17
Installed:
gcc.x86_64 0:4.8.5-44.el7 openssl-devel.x86_64 1:1.0.2k-26.el7_9
pcre-devel.x86_64 0:8.32-17.el7 zlib-devel.x86_64 0:1.2.7-21.el7_9
Dependency Installed:
cpp.x86_64 0:4.8.5-44.el7 glibc-devel.x86_64 0:2.17-326.el7_9
glibc-headers.x86_64 0:2.17-326.el7_9 kernel-headers.x86_64 0:3.10.0-1160.108.1.el7
keyutils-libs-devel.x86_64 0:1.5.8-3.el7 krb5-devel.x86_64 0:1.15.1-55.el7_9
libcom_err-devel.x86_64 0:1.42.9-19.el7 libkadm5.x86_64 0:1.15.1-55.el7_9
libmpc.x86_64 0:1.0.1-3.el7 libselinux-devel.x86_64 0:2.5-15.el7
libsepol-devel.x86_64 0:2.5-10.el7 libverto-devel.x86_64 0:0.2.5-4.el7
mpfr.x86_64 0:3.1.1-4.el7
Complete!
[root@node-4 ~]# groupadd nginx
groupadd: group 'nginx' already exists
[root@node-4 ~]# useradd -g nginx -s /sbin/nologin nginx
useradd: user 'nginx' already exists
[root@node-4 ~]# cd /usr/local/src
[root@node-4 src]# wget http://nginx.org/download/nginx-1.18.0.tar.gz
--2024-03-22 10:06:29-- http://nginx.org/download/nginx-1.18.0.tar.gz
Resolving nginx.org (nginx.org)... 3.125.197.172, 52.58.199.22, 2a05:d014:5c0:2601::6, ...
Connecting to nginx.org (nginx.org)|3.125.197.172|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1039530 (1015K) [application/octet-stream]
Saving to: ‘nginx-1.18.0.tar.gz’
100%[=================================================================>] 1,039,530 15.6KB/s in 53s
2024-03-22 10:07:22 (19.3 KB/s) - ‘nginx-1.18.0.tar.gz’ saved [1039530/1039530]
[root@node-4 src]# tar zxvf nginx-1.18.0.tar.gz
nginx-1.18.0/
nginx-1.18.0/auto/
nginx-1.18.0/conf/
nginx-1.18.0/contrib/
nginx-1.18.0/src/
nginx-1.18.0/configure
nginx-1.18.0/LICENSE
nginx-1.18.0/README
nginx-1.18.0/html/
nginx-1.18.0/man/
nginx-1.18.0/CHANGES.ru
nginx-1.18.0/CHANGES
nginx-1.18.0/man/nginx.8
nginx-1.18.0/html/50x.html
nginx-1.18.0/html/index.html
nginx-1.18.0/src/core/
nginx-1.18.0/src/event/
nginx-1.18.0/src/http/
nginx-1.18.0/src/mail/
nginx-1.18.0/src/misc/
nginx-1.18.0/src/os/
nginx-1.18.0/src/stream/
nginx-1.18.0/src/stream/ngx_stream.c
nginx-1.18.0/src/stream/ngx_stream.h
nginx-1.18.0/src/stream/ngx_stream_access_module.c
nginx-1.18.0/src/stream/ngx_stream_core_module.c
nginx-1.18.0/src/stream/ngx_stream_geo_module.c
nginx-1.18.0/src/stream/ngx_stream_geoip_module.c
nginx-1.18.0/src/stream/ngx_stream_handler.c
nginx-1.18.0/src/stream/ngx_stream_limit_conn_module.c
nginx-1.18.0/src/stream/ngx_stream_log_module.c
nginx-1.18.0/src/stream/ngx_stream_map_module.c
nginx-1.18.0/src/stream/ngx_stream_proxy_module.c
nginx-1.18.0/src/stream/ngx_stream_realip_module.c
nginx-1.18.0/src/stream/ngx_stream_return_module.c
nginx-1.18.0/src/stream/ngx_stream_script.c
nginx-1.18.0/src/stream/ngx_stream_script.h
nginx-1.18.0/src/stream/ngx_stream_split_clients_module.c
nginx-1.18.0/src/stream/ngx_stream_ssl_module.c
nginx-1.18.0/src/stream/ngx_stream_ssl_module.h
nginx-1.18.0/src/stream/ngx_stream_ssl_preread_module.c
nginx-1.18.0/src/stream/ngx_stream_upstream.c
nginx-1.18.0/src/stream/ngx_stream_upstream.h
nginx-1.18.0/src/stream/ngx_stream_upstream_hash_module.c
nginx-1.18.0/src/stream/ngx_stream_upstream_least_conn_module.c
nginx-1.18.0/src/stream/ngx_stream_upstream_random_module.c
nginx-1.18.0/src/stream/ngx_stream_upstream_round_robin.c
nginx-1.18.0/src/stream/ngx_stream_upstream_round_robin.h
nginx-1.18.0/src/stream/ngx_stream_upstream_zone_module.c
nginx-1.18.0/src/stream/ngx_stream_variables.c
nginx-1.18.0/src/stream/ngx_stream_variables.h
nginx-1.18.0/src/stream/ngx_stream_write_filter_module.c
nginx-1.18.0/src/os/unix/
nginx-1.18.0/src/os/unix/ngx_alloc.c
nginx-1.18.0/src/os/unix/ngx_alloc.h
nginx-1.18.0/src/os/unix/ngx_atomic.h
nginx-1.18.0/src/os/unix/ngx_channel.c
nginx-1.18.0/src/os/unix/ngx_channel.h
nginx-1.18.0/src/os/unix/ngx_daemon.c
nginx-1.18.0/src/os/unix/ngx_darwin.h
nginx-1.18.0/src/os/unix/ngx_darwin_config.h
nginx-1.18.0/src/os/unix/ngx_darwin_init.c
nginx-1.18.0/src/os/unix/ngx_darwin_sendfile_chain.c
nginx-1.18.0/src/os/unix/ngx_dlopen.c
nginx-1.18.0/src/os/unix/ngx_dlopen.h
nginx-1.18.0/src/os/unix/ngx_errno.c
nginx-1.18.0/src/os/unix/ngx_errno.h
nginx-1.18.0/src/os/unix/ngx_file_aio_read.c
nginx-1.18.0/src/os/unix/ngx_files.c
nginx-1.18.0/src/os/unix/ngx_files.h
nginx-1.18.0/src/os/unix/ngx_freebsd.h
nginx-1.18.0/src/os/unix/ngx_freebsd_config.h
nginx-1.18.0/src/os/unix/ngx_linux.h
nginx-1.18.0/src/os/unix/ngx_freebsd_init.c
nginx-1.18.0/src/os/unix/ngx_freebsd_sendfile_chain.c
nginx-1.18.0/src/os/unix/ngx_gcc_atomic_amd64.h
nginx-1.18.0/src/os/unix/ngx_gcc_atomic_ppc.h
nginx-1.18.0/src/os/unix/ngx_gcc_atomic_sparc64.h
nginx-1.18.0/src/os/unix/ngx_gcc_atomic_x86.h
nginx-1.18.0/src/os/unix/ngx_linux_aio_read.c
nginx-1.18.0/src/os/unix/ngx_linux_config.h
nginx-1.18.0/src/os/unix/ngx_linux_init.c
nginx-1.18.0/src/os/unix/ngx_linux_sendfile_chain.c
nginx-1.18.0/src/os/unix/ngx_os.h
nginx-1.18.0/src/os/unix/ngx_posix_config.h
nginx-1.18.0/src/os/unix/ngx_posix_init.c
nginx-1.18.0/src/os/unix/ngx_process.c
nginx-1.18.0/src/os/unix/ngx_process.h
nginx-1.18.0/src/os/unix/ngx_process_cycle.c
nginx-1.18.0/src/os/unix/ngx_process_cycle.h
nginx-1.18.0/src/os/unix/ngx_readv_chain.c
nginx-1.18.0/src/os/unix/ngx_recv.c
nginx-1.18.0/src/os/unix/ngx_send.c
nginx-1.18.0/src/os/unix/ngx_setaffinity.c
nginx-1.18.0/src/os/unix/ngx_setaffinity.h
nginx-1.18.0/src/os/unix/ngx_setproctitle.c
nginx-1.18.0/src/os/unix/ngx_setproctitle.h
nginx-1.18.0/src/os/unix/ngx_shmem.c
nginx-1.18.0/src/os/unix/ngx_shmem.h
nginx-1.18.0/src/os/unix/ngx_socket.c
nginx-1.18.0/src/os/unix/ngx_socket.h
nginx-1.18.0/src/os/unix/ngx_solaris.h
nginx-1.18.0/src/os/unix/ngx_solaris_config.h
nginx-1.18.0/src/os/unix/ngx_solaris_init.c
nginx-1.18.0/src/os/unix/ngx_solaris_sendfilev_chain.c
nginx-1.18.0/src/os/unix/ngx_sunpro_amd64.il
nginx-1.18.0/src/os/unix/ngx_sunpro_atomic_sparc64.h
nginx-1.18.0/src/os/unix/ngx_sunpro_sparc64.il
nginx-1.18.0/src/os/unix/ngx_thread.h
nginx-1.18.0/src/os/unix/ngx_sunpro_x86.il
nginx-1.18.0/src/os/unix/ngx_thread_cond.c
nginx-1.18.0/src/os/unix/ngx_thread_id.c
nginx-1.18.0/src/os/unix/ngx_thread_mutex.c
nginx-1.18.0/src/os/unix/ngx_time.c
nginx-1.18.0/src/os/unix/ngx_time.h
nginx-1.18.0/src/os/unix/ngx_udp_recv.c
nginx-1.18.0/src/os/unix/ngx_udp_send.c
nginx-1.18.0/src/os/unix/ngx_udp_sendmsg_chain.c
nginx-1.18.0/src/os/unix/ngx_user.c
nginx-1.18.0/src/os/unix/ngx_user.h
nginx-1.18.0/src/os/unix/ngx_writev_chain.c
nginx-1.18.0/src/misc/ngx_cpp_test_module.cpp
nginx-1.18.0/src/misc/ngx_google_perftools_module.c
nginx-1.18.0/src/mail/ngx_mail.c
nginx-1.18.0/src/mail/ngx_mail.h
nginx-1.18.0/src/mail/ngx_mail_auth_http_module.c
nginx-1.18.0/src/mail/ngx_mail_core_module.c
nginx-1.18.0/src/mail/ngx_mail_handler.c
nginx-1.18.0/src/mail/ngx_mail_imap_handler.c
nginx-1.18.0/src/mail/ngx_mail_imap_module.c
nginx-1.18.0/src/mail/ngx_mail_imap_module.h
nginx-1.18.0/src/mail/ngx_mail_parse.c
nginx-1.18.0/src/mail/ngx_mail_pop3_handler.c
nginx-1.18.0/src/mail/ngx_mail_pop3_module.c
nginx-1.18.0/src/mail/ngx_mail_pop3_module.h
nginx-1.18.0/src/mail/ngx_mail_proxy_module.c
nginx-1.18.0/src/mail/ngx_mail_smtp_handler.c
nginx-1.18.0/src/mail/ngx_mail_smtp_module.c
nginx-1.18.0/src/mail/ngx_mail_smtp_module.h
nginx-1.18.0/src/mail/ngx_mail_ssl_module.c
nginx-1.18.0/src/mail/ngx_mail_ssl_module.h
nginx-1.18.0/src/http/modules/
nginx-1.18.0/src/http/ngx_http.c
nginx-1.18.0/src/http/ngx_http.h
nginx-1.18.0/src/http/ngx_http_cache.h
nginx-1.18.0/src/http/ngx_http_config.h
nginx-1.18.0/src/http/ngx_http_copy_filter_module.c
nginx-1.18.0/src/http/ngx_http_core_module.c
nginx-1.18.0/src/http/ngx_http_core_module.h
nginx-1.18.0/src/http/ngx_http_file_cache.c
nginx-1.18.0/src/http/ngx_http_header_filter_module.c
nginx-1.18.0/src/http/ngx_http_parse.c
nginx-1.18.0/src/http/ngx_http_postpone_filter_module.c
nginx-1.18.0/src/http/ngx_http_request.c
nginx-1.18.0/src/http/ngx_http_request.h
nginx-1.18.0/src/http/ngx_http_request_body.c
nginx-1.18.0/src/http/ngx_http_script.c
nginx-1.18.0/src/http/v2/
nginx-1.18.0/src/http/ngx_http_script.h
nginx-1.18.0/src/http/ngx_http_special_response.c
nginx-1.18.0/src/http/ngx_http_upstream.c
nginx-1.18.0/src/http/ngx_http_upstream.h
nginx-1.18.0/src/http/ngx_http_upstream_round_robin.c
nginx-1.18.0/src/http/ngx_http_upstream_round_robin.h
nginx-1.18.0/src/http/ngx_http_variables.c
nginx-1.18.0/src/http/ngx_http_variables.h
nginx-1.18.0/src/http/ngx_http_write_filter_module.c
nginx-1.18.0/src/http/v2/ngx_http_v2.c
nginx-1.18.0/src/http/v2/ngx_http_v2.h
nginx-1.18.0/src/http/v2/ngx_http_v2_encode.c
nginx-1.18.0/src/http/v2/ngx_http_v2_filter_module.c
nginx-1.18.0/src/http/v2/ngx_http_v2_huff_decode.c
nginx-1.18.0/src/http/v2/ngx_http_v2_huff_encode.c
nginx-1.18.0/src/http/v2/ngx_http_v2_module.c
nginx-1.18.0/src/http/v2/ngx_http_v2_module.h
nginx-1.18.0/src/http/v2/ngx_http_v2_table.c
nginx-1.18.0/src/http/modules/ngx_http_access_module.c
nginx-1.18.0/src/http/modules/ngx_http_addition_filter_module.c
nginx-1.18.0/src/http/modules/ngx_http_auth_basic_module.c
nginx-1.18.0/src/http/modules/ngx_http_auth_request_module.c
nginx-1.18.0/src/http/modules/ngx_http_autoindex_module.c
nginx-1.18.0/src/http/modules/ngx_http_browser_module.c
nginx-1.18.0/src/http/modules/ngx_http_charset_filter_module.c
nginx-1.18.0/src/http/modules/ngx_http_chunked_filter_module.c
nginx-1.18.0/src/http/modules/ngx_http_dav_module.c
nginx-1.18.0/src/http/modules/ngx_http_degradation_module.c
nginx-1.18.0/src/http/modules/ngx_http_empty_gif_module.c
nginx-1.18.0/src/http/modules/ngx_http_fastcgi_module.c
nginx-1.18.0/src/http/modules/perl/
nginx-1.18.0/src/http/modules/ngx_http_flv_module.c
nginx-1.18.0/src/http/modules/ngx_http_geo_module.c
nginx-1.18.0/src/http/modules/ngx_http_geoip_module.c
nginx-1.18.0/src/http/modules/ngx_http_grpc_module.c
nginx-1.18.0/src/http/modules/ngx_http_gunzip_filter_module.c
nginx-1.18.0/src/http/modules/ngx_http_gzip_filter_module.c
nginx-1.18.0/src/http/modules/ngx_http_gzip_static_module.c
nginx-1.18.0/src/http/modules/ngx_http_headers_filter_module.c
nginx-1.18.0/src/http/modules/ngx_http_image_filter_module.c
nginx-1.18.0/src/http/modules/ngx_http_index_module.c
nginx-1.18.0/src/http/modules/ngx_http_limit_conn_module.c
nginx-1.18.0/src/http/modules/ngx_http_limit_req_module.c
nginx-1.18.0/src/http/modules/ngx_http_log_module.c
nginx-1.18.0/src/http/modules/ngx_http_map_module.c
nginx-1.18.0/src/http/modules/ngx_http_memcached_module.c
nginx-1.18.0/src/http/modules/ngx_http_mirror_module.c
nginx-1.18.0/src/http/modules/ngx_http_mp4_module.c
nginx-1.18.0/src/http/modules/ngx_http_not_modified_filter_module.c
nginx-1.18.0/src/http/modules/ngx_http_proxy_module.c
nginx-1.18.0/src/http/modules/ngx_http_random_index_module.c
nginx-1.18.0/src/http/modules/ngx_http_range_filter_module.c
nginx-1.18.0/src/http/modules/ngx_http_realip_module.c
nginx-1.18.0/src/http/modules/ngx_http_referer_module.c
nginx-1.18.0/src/http/modules/ngx_http_rewrite_module.c
nginx-1.18.0/src/http/modules/ngx_http_scgi_module.c
nginx-1.18.0/src/http/modules/ngx_http_secure_link_module.c
nginx-1.18.0/src/http/modules/ngx_http_slice_filter_module.c
nginx-1.18.0/src/http/modules/ngx_http_split_clients_module.c
nginx-1.18.0/src/http/modules/ngx_http_ssi_filter_module.c
nginx-1.18.0/src/http/modules/ngx_http_ssi_filter_module.h
nginx-1.18.0/src/http/modules/ngx_http_ssl_module.c
nginx-1.18.0/src/http/modules/ngx_http_ssl_module.h
nginx-1.18.0/src/http/modules/ngx_http_static_module.c
nginx-1.18.0/src/http/modules/ngx_http_stub_status_module.c
nginx-1.18.0/src/http/modules/ngx_http_sub_filter_module.c
nginx-1.18.0/src/http/modules/ngx_http_try_files_module.c
nginx-1.18.0/src/http/modules/ngx_http_upstream_hash_module.c
nginx-1.18.0/src/http/modules/ngx_http_upstream_ip_hash_module.c
nginx-1.18.0/src/http/modules/ngx_http_upstream_keepalive_module.c
nginx-1.18.0/src/http/modules/ngx_http_upstream_random_module.c
nginx-1.18.0/src/http/modules/ngx_http_upstream_least_conn_module.c
nginx-1.18.0/src/http/modules/ngx_http_upstream_zone_module.c
nginx-1.18.0/src/http/modules/ngx_http_userid_filter_module.c
nginx-1.18.0/src/http/modules/ngx_http_uwsgi_module.c
nginx-1.18.0/src/http/modules/ngx_http_xslt_filter_module.c
nginx-1.18.0/src/http/modules/perl/Makefile.PL
nginx-1.18.0/src/http/modules/perl/nginx.pm
nginx-1.18.0/src/http/modules/perl/nginx.xs
nginx-1.18.0/src/http/modules/perl/ngx_http_perl_module.c
nginx-1.18.0/src/http/modules/perl/ngx_http_perl_module.h
nginx-1.18.0/src/http/modules/perl/typemap
nginx-1.18.0/src/event/modules/
nginx-1.18.0/src/event/ngx_event.c
nginx-1.18.0/src/event/ngx_event.h
nginx-1.18.0/src/event/ngx_event_accept.c
nginx-1.18.0/src/event/ngx_event_connect.c
nginx-1.18.0/src/event/ngx_event_connect.h
nginx-1.18.0/src/event/ngx_event_openssl.c
nginx-1.18.0/src/event/ngx_event_openssl.h
nginx-1.18.0/src/event/ngx_event_openssl_stapling.c
nginx-1.18.0/src/event/ngx_event_pipe.c
nginx-1.18.0/src/event/ngx_event_pipe.h
nginx-1.18.0/src/event/ngx_event_posted.c
nginx-1.18.0/src/event/ngx_event_posted.h
nginx-1.18.0/src/event/ngx_event_timer.c
nginx-1.18.0/src/event/ngx_event_timer.h
nginx-1.18.0/src/event/ngx_event_udp.c
nginx-1.18.0/src/event/modules/ngx_devpoll_module.c
nginx-1.18.0/src/event/modules/ngx_epoll_module.c
nginx-1.18.0/src/event/modules/ngx_eventport_module.c
nginx-1.18.0/src/event/modules/ngx_kqueue_module.c
nginx-1.18.0/src/event/modules/ngx_poll_module.c
nginx-1.18.0/src/event/modules/ngx_select_module.c
nginx-1.18.0/src/event/modules/ngx_win32_poll_module.c
nginx-1.18.0/src/event/modules/ngx_win32_select_module.c
nginx-1.18.0/src/core/nginx.c
nginx-1.18.0/src/core/nginx.h
nginx-1.18.0/src/core/ngx_array.c
nginx-1.18.0/src/core/ngx_array.h
nginx-1.18.0/src/core/ngx_buf.c
nginx-1.18.0/src/core/ngx_buf.h
nginx-1.18.0/src/core/ngx_conf_file.c
nginx-1.18.0/src/core/ngx_conf_file.h
nginx-1.18.0/src/core/ngx_config.h
nginx-1.18.0/src/core/ngx_connection.c
nginx-1.18.0/src/core/ngx_connection.h
nginx-1.18.0/src/core/ngx_core.h
nginx-1.18.0/src/core/ngx_cpuinfo.c
nginx-1.18.0/src/core/ngx_crc.h
nginx-1.18.0/src/core/ngx_crc32.c
nginx-1.18.0/src/core/ngx_crc32.h
nginx-1.18.0/src/core/ngx_crypt.c
nginx-1.18.0/src/core/ngx_crypt.h
nginx-1.18.0/src/core/ngx_cycle.c
nginx-1.18.0/src/core/ngx_cycle.h
nginx-1.18.0/src/core/ngx_file.c
nginx-1.18.0/src/core/ngx_file.h
nginx-1.18.0/src/core/ngx_hash.c
nginx-1.18.0/src/core/ngx_hash.h
nginx-1.18.0/src/core/ngx_inet.c
nginx-1.18.0/src/core/ngx_inet.h
nginx-1.18.0/src/core/ngx_list.c
nginx-1.18.0/src/core/ngx_list.h
nginx-1.18.0/src/core/ngx_log.c
nginx-1.18.0/src/core/ngx_log.h
nginx-1.18.0/src/core/ngx_md5.c
nginx-1.18.0/src/core/ngx_md5.h
nginx-1.18.0/src/core/ngx_module.c
nginx-1.18.0/src/core/ngx_module.h
nginx-1.18.0/src/core/ngx_murmurhash.c
nginx-1.18.0/src/core/ngx_murmurhash.h
nginx-1.18.0/src/core/ngx_open_file_cache.c
nginx-1.18.0/src/core/ngx_open_file_cache.h
nginx-1.18.0/src/core/ngx_output_chain.c
nginx-1.18.0/src/core/ngx_palloc.c
nginx-1.18.0/src/core/ngx_palloc.h
nginx-1.18.0/src/core/ngx_parse.c
nginx-1.18.0/src/core/ngx_parse.h
nginx-1.18.0/src/core/ngx_parse_time.c
nginx-1.18.0/src/core/ngx_queue.c
nginx-1.18.0/src/core/ngx_parse_time.h
nginx-1.18.0/src/core/ngx_proxy_protocol.c
nginx-1.18.0/src/core/ngx_proxy_protocol.h
nginx-1.18.0/src/core/ngx_queue.h
nginx-1.18.0/src/core/ngx_radix_tree.c
nginx-1.18.0/src/core/ngx_radix_tree.h
nginx-1.18.0/src/core/ngx_rbtree.c
nginx-1.18.0/src/core/ngx_rbtree.h
nginx-1.18.0/src/core/ngx_regex.c
nginx-1.18.0/src/core/ngx_regex.h
nginx-1.18.0/src/core/ngx_resolver.c
nginx-1.18.0/src/core/ngx_resolver.h
nginx-1.18.0/src/core/ngx_rwlock.c
nginx-1.18.0/src/core/ngx_rwlock.h
nginx-1.18.0/src/core/ngx_sha1.c
nginx-1.18.0/src/core/ngx_sha1.h
nginx-1.18.0/src/core/ngx_shmtx.c
nginx-1.18.0/src/core/ngx_shmtx.h
nginx-1.18.0/src/core/ngx_slab.c
nginx-1.18.0/src/core/ngx_slab.h
nginx-1.18.0/src/core/ngx_spinlock.c
nginx-1.18.0/src/core/ngx_string.c
nginx-1.18.0/src/core/ngx_string.h
nginx-1.18.0/src/core/ngx_syslog.c
nginx-1.18.0/src/core/ngx_syslog.h
nginx-1.18.0/src/core/ngx_thread_pool.c
nginx-1.18.0/src/core/ngx_thread_pool.h
nginx-1.18.0/src/core/ngx_times.c
nginx-1.18.0/src/core/ngx_times.h
nginx-1.18.0/contrib/README
nginx-1.18.0/contrib/geo2nginx.pl
nginx-1.18.0/contrib/unicode2nginx/
nginx-1.18.0/contrib/vim/
nginx-1.18.0/contrib/vim/ftdetect/
nginx-1.18.0/contrib/vim/ftplugin/
nginx-1.18.0/contrib/vim/indent/
nginx-1.18.0/contrib/vim/syntax/
nginx-1.18.0/contrib/vim/syntax/nginx.vim
nginx-1.18.0/contrib/vim/indent/nginx.vim
nginx-1.18.0/contrib/vim/ftplugin/nginx.vim
nginx-1.18.0/contrib/vim/ftdetect/nginx.vim
nginx-1.18.0/contrib/unicode2nginx/koi-utf
nginx-1.18.0/contrib/unicode2nginx/unicode-to-nginx.pl
nginx-1.18.0/contrib/unicode2nginx/win-utf
nginx-1.18.0/conf/fastcgi.conf
nginx-1.18.0/conf/fastcgi_params
nginx-1.18.0/conf/koi-utf
nginx-1.18.0/conf/koi-win
nginx-1.18.0/conf/mime.types
nginx-1.18.0/conf/nginx.conf
nginx-1.18.0/conf/scgi_params
nginx-1.18.0/conf/uwsgi_params
nginx-1.18.0/conf/win-utf
nginx-1.18.0/auto/cc/
nginx-1.18.0/auto/define
nginx-1.18.0/auto/endianness
nginx-1.18.0/auto/feature
nginx-1.18.0/auto/have
nginx-1.18.0/auto/have_headers
nginx-1.18.0/auto/headers
nginx-1.18.0/auto/include
nginx-1.18.0/auto/init
nginx-1.18.0/auto/install
nginx-1.18.0/auto/lib/
nginx-1.18.0/auto/make
nginx-1.18.0/auto/module
nginx-1.18.0/auto/modules
nginx-1.18.0/auto/nohave
nginx-1.18.0/auto/options
nginx-1.18.0/auto/os/
nginx-1.18.0/auto/sources
nginx-1.18.0/auto/stubs
nginx-1.18.0/auto/summary
nginx-1.18.0/auto/threads
nginx-1.18.0/auto/types/
nginx-1.18.0/auto/unix
nginx-1.18.0/auto/types/sizeof
nginx-1.18.0/auto/types/typedef
nginx-1.18.0/auto/types/uintptr_t
nginx-1.18.0/auto/types/value
nginx-1.18.0/auto/os/conf
nginx-1.18.0/auto/os/darwin
nginx-1.18.0/auto/os/freebsd
nginx-1.18.0/auto/os/linux
nginx-1.18.0/auto/os/solaris
nginx-1.18.0/auto/os/win32
nginx-1.18.0/auto/lib/conf
nginx-1.18.0/auto/lib/geoip/
nginx-1.18.0/auto/lib/google-perftools/
nginx-1.18.0/auto/lib/libatomic/
nginx-1.18.0/auto/lib/libgd/
nginx-1.18.0/auto/lib/libxslt/
nginx-1.18.0/auto/lib/make
nginx-1.18.0/auto/lib/openssl/
nginx-1.18.0/auto/lib/pcre/
nginx-1.18.0/auto/lib/perl/
nginx-1.18.0/auto/lib/zlib/
nginx-1.18.0/auto/lib/zlib/conf
nginx-1.18.0/auto/lib/zlib/make
nginx-1.18.0/auto/lib/zlib/makefile.bcc
nginx-1.18.0/auto/lib/zlib/makefile.msvc
nginx-1.18.0/auto/lib/zlib/makefile.owc
nginx-1.18.0/auto/lib/perl/conf
nginx-1.18.0/auto/lib/perl/make
nginx-1.18.0/auto/lib/pcre/conf
nginx-1.18.0/auto/lib/pcre/make
nginx-1.18.0/auto/lib/pcre/makefile.bcc
nginx-1.18.0/auto/lib/pcre/makefile.msvc
nginx-1.18.0/auto/lib/pcre/makefile.owc
nginx-1.18.0/auto/lib/openssl/conf
nginx-1.18.0/auto/lib/openssl/make
nginx-1.18.0/auto/lib/openssl/makefile.bcc
nginx-1.18.0/auto/lib/openssl/makefile.msvc
nginx-1.18.0/auto/lib/libxslt/conf
nginx-1.18.0/auto/lib/libgd/conf
nginx-1.18.0/auto/lib/libatomic/conf
nginx-1.18.0/auto/lib/libatomic/make
nginx-1.18.0/auto/lib/google-perftools/conf
nginx-1.18.0/auto/lib/geoip/conf
nginx-1.18.0/auto/cc/acc
nginx-1.18.0/auto/cc/bcc
nginx-1.18.0/auto/cc/ccc
nginx-1.18.0/auto/cc/clang
nginx-1.18.0/auto/cc/conf
nginx-1.18.0/auto/cc/gcc
nginx-1.18.0/auto/cc/icc
nginx-1.18.0/auto/cc/msvc
nginx-1.18.0/auto/cc/name
nginx-1.18.0/auto/cc/owc
nginx-1.18.0/auto/cc/sunc
[root@node-4 src]# ls
nginx-1.18.0 nginx-1.18.0.tar.gz
[root@node-4 src]# cd nginx-1.18.0
[root@node-4 nginx-1.18.0]# ls
auto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src
[root@node-4 nginx-1.18.0]# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx \
> --with-http_ssl_module --with-http_stub_status_module
checking for OS
+ Linux 3.10.0-229.el7.x86_64 x86_64
checking for C compiler ... found
+ using GNU C compiler
+ gcc version: 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
checking for gcc -pipe switch ... found
checking for -Wl,-E switch ... found
checking for gcc builtin atomic operations ... found
checking for C99 variadic macros ... found
checking for gcc variadic macros ... found
checking for gcc builtin 64 bit byteswap ... found
checking for unistd.h ... found
checking for inttypes.h ... found
checking for limits.h ... found
checking for sys/filio.h ... not found
checking for sys/param.h ... found
checking for sys/mount.h ... found
checking for sys/statvfs.h ... found
checking for crypt.h ... found
checking for Linux specific features
checking for epoll ... found
checking for EPOLLRDHUP ... found
checking for EPOLLEXCLUSIVE ... not found
checking for O_PATH ... found
checking for sendfile() ... found
checking for sendfile64() ... found
checking for sys/prctl.h ... found
checking for prctl(PR_SET_DUMPABLE) ... found
checking for prctl(PR_SET_KEEPCAPS) ... found
checking for capabilities ... found
checking for crypt_r() ... found
checking for sys/vfs.h ... found
checking for poll() ... found
checking for /dev/poll ... not found
checking for kqueue ... not found
checking for crypt() ... not found
checking for crypt() in libcrypt ... found
checking for F_READAHEAD ... not found
checking for posix_fadvise() ... found
checking for O_DIRECT ... found
checking for F_NOCACHE ... not found
checking for directio() ... not found
checking for statfs() ... found
checking for statvfs() ... found
checking for dlopen() ... not found
checking for dlopen() in libdl ... found
checking for sched_yield() ... found
checking for sched_setaffinity() ... found
checking for SO_SETFIB ... not found
checking for SO_REUSEPORT ... found
checking for SO_ACCEPTFILTER ... not found
checking for SO_BINDANY ... not found
checking for IP_TRANSPARENT ... found
checking for IP_BINDANY ... not found
checking for IP_BIND_ADDRESS_NO_PORT ... found
checking for IP_RECVDSTADDR ... not found
checking for IP_SENDSRCADDR ... not found
checking for IP_PKTINFO ... found
checking for IPV6_RECVPKTINFO ... found
checking for TCP_DEFER_ACCEPT ... found
checking for TCP_KEEPIDLE ... found
checking for TCP_FASTOPEN ... found
checking for TCP_INFO ... found
checking for accept4() ... found
checking for eventfd() ... found
checking for int size ... 4 bytes
checking for long size ... 8 bytes
checking for long long size ... 8 bytes
checking for void * size ... 8 bytes
checking for uint32_t ... found
checking for uint64_t ... found
checking for sig_atomic_t ... found
checking for sig_atomic_t size ... 4 bytes
checking for socklen_t ... found
checking for in_addr_t ... found
checking for in_port_t ... found
checking for rlim_t ... found
checking for uintptr_t ... uintptr_t found
checking for system byte ordering ... little endian
checking for size_t size ... 8 bytes
checking for off_t size ... 8 bytes
checking for time_t size ... 8 bytes
checking for AF_INET6 ... found
checking for setproctitle() ... not found
checking for pread() ... found
checking for pwrite() ... found
checking for pwritev() ... found
checking for sys_nerr ... found
checking for localtime_r() ... found
checking for clock_gettime(CLOCK_MONOTONIC) ... found
checking for posix_memalign() ... found
checking for memalign() ... found
checking for mmap(MAP_ANON|MAP_SHARED) ... found
checking for mmap("/dev/zero", MAP_SHARED) ... found
checking for System V shared memory ... found
checking for POSIX semaphores ... not found
checking for POSIX semaphores in libpthread ... found
checking for struct msghdr.msg_control ... found
checking for ioctl(FIONBIO) ... found
checking for ioctl(FIONREAD) ... found
checking for struct tm.tm_gmtoff ... found
checking for struct dirent.d_namlen ... not found
checking for struct dirent.d_type ... found
checking for sysconf(_SC_NPROCESSORS_ONLN) ... found
checking for sysconf(_SC_LEVEL1_DCACHE_LINESIZE) ... found
checking for openat(), fstatat() ... found
checking for getaddrinfo() ... found
checking for PCRE library ... found
checking for PCRE JIT support ... found
checking for OpenSSL library ... found
checking for zlib library ... found
creating objs/Makefile
Configuration summary
+ using system PCRE library
+ using system OpenSSL library
+ using system zlib library
nginx path prefix: "/usr/local/nginx"
nginx binary file: "/usr/local/nginx/sbin/nginx"
nginx modules path: "/usr/local/nginx/modules"
nginx configuration prefix: "/usr/local/nginx/conf"
nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
nginx pid file: "/usr/local/nginx/logs/nginx.pid"
nginx error log file: "/usr/local/nginx/logs/error.log"
nginx http access log file: "/usr/local/nginx/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"
[root@node-4 nginx-1.18.0]# make
make -f objs/Makefile
make[1]: Entering directory `/usr/local/src/nginx-1.18.0'
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/nginx.o \
src/core/nginx.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_log.o \
src/core/ngx_log.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_palloc.o \
src/core/ngx_palloc.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_array.o \
src/core/ngx_array.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_list.o \
src/core/ngx_list.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_hash.o \
src/core/ngx_hash.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_buf.o \
src/core/ngx_buf.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_queue.o \
src/core/ngx_queue.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_output_chain.o \
src/core/ngx_output_chain.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_string.o \
src/core/ngx_string.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_parse.o \
src/core/ngx_parse.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_parse_time.o \
src/core/ngx_parse_time.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_inet.o \
src/core/ngx_inet.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_file.o \
src/core/ngx_file.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_crc32.o \
src/core/ngx_crc32.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_murmurhash.o \
src/core/ngx_murmurhash.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_md5.o \
src/core/ngx_md5.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_sha1.o \
src/core/ngx_sha1.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_rbtree.o \
src/core/ngx_rbtree.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_radix_tree.o \
src/core/ngx_radix_tree.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_slab.o \
src/core/ngx_slab.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_times.o \
src/core/ngx_times.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_shmtx.o \
src/core/ngx_shmtx.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_connection.o \
src/core/ngx_connection.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_cycle.o \
src/core/ngx_cycle.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_spinlock.o \
src/core/ngx_spinlock.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_rwlock.o \
src/core/ngx_rwlock.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_cpuinfo.o \
src/core/ngx_cpuinfo.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_conf_file.o \
src/core/ngx_conf_file.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_module.o \
src/core/ngx_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_resolver.o \
src/core/ngx_resolver.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_open_file_cache.o \
src/core/ngx_open_file_cache.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_crypt.o \
src/core/ngx_crypt.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_proxy_protocol.o \
src/core/ngx_proxy_protocol.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_syslog.o \
src/core/ngx_syslog.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/event/ngx_event.o \
src/event/ngx_event.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/event/ngx_event_timer.o \
src/event/ngx_event_timer.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/event/ngx_event_posted.o \
src/event/ngx_event_posted.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/event/ngx_event_accept.o \
src/event/ngx_event_accept.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/event/ngx_event_udp.o \
src/event/ngx_event_udp.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/event/ngx_event_connect.o \
src/event/ngx_event_connect.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/event/ngx_event_pipe.o \
src/event/ngx_event_pipe.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_time.o \
src/os/unix/ngx_time.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_errno.o \
src/os/unix/ngx_errno.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_alloc.o \
src/os/unix/ngx_alloc.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_files.o \
src/os/unix/ngx_files.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_socket.o \
src/os/unix/ngx_socket.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_recv.o \
src/os/unix/ngx_recv.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_readv_chain.o \
src/os/unix/ngx_readv_chain.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_udp_recv.o \
src/os/unix/ngx_udp_recv.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_send.o \
src/os/unix/ngx_send.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_writev_chain.o \
src/os/unix/ngx_writev_chain.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_udp_send.o \
src/os/unix/ngx_udp_send.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_udp_sendmsg_chain.o \
src/os/unix/ngx_udp_sendmsg_chain.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_channel.o \
src/os/unix/ngx_channel.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_shmem.o \
src/os/unix/ngx_shmem.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_process.o \
src/os/unix/ngx_process.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_daemon.o \
src/os/unix/ngx_daemon.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_setaffinity.o \
src/os/unix/ngx_setaffinity.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_setproctitle.o \
src/os/unix/ngx_setproctitle.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_posix_init.o \
src/os/unix/ngx_posix_init.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_user.o \
src/os/unix/ngx_user.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_dlopen.o \
src/os/unix/ngx_dlopen.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_process_cycle.o \
src/os/unix/ngx_process_cycle.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_linux_init.o \
src/os/unix/ngx_linux_init.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/event/modules/ngx_epoll_module.o \
src/event/modules/ngx_epoll_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_linux_sendfile_chain.o \
src/os/unix/ngx_linux_sendfile_chain.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/event/ngx_event_openssl.o \
src/event/ngx_event_openssl.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/event/ngx_event_openssl_stapling.o \
src/event/ngx_event_openssl_stapling.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/core/ngx_regex.o \
src/core/ngx_regex.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http.o \
src/http/ngx_http.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_core_module.o \
src/http/ngx_http_core_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_special_response.o \
src/http/ngx_http_special_response.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_request.o \
src/http/ngx_http_request.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_parse.o \
src/http/ngx_http_parse.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_log_module.o \
src/http/modules/ngx_http_log_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_request_body.o \
src/http/ngx_http_request_body.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_variables.o \
src/http/ngx_http_variables.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_script.o \
src/http/ngx_http_script.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_upstream.o \
src/http/ngx_http_upstream.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_upstream_round_robin.o \
src/http/ngx_http_upstream_round_robin.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_file_cache.o \
src/http/ngx_http_file_cache.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_write_filter_module.o \
src/http/ngx_http_write_filter_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_header_filter_module.o \
src/http/ngx_http_header_filter_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_chunked_filter_module.o \
src/http/modules/ngx_http_chunked_filter_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_range_filter_module.o \
src/http/modules/ngx_http_range_filter_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_gzip_filter_module.o \
src/http/modules/ngx_http_gzip_filter_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_postpone_filter_module.o \
src/http/ngx_http_postpone_filter_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_ssi_filter_module.o \
src/http/modules/ngx_http_ssi_filter_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_charset_filter_module.o \
src/http/modules/ngx_http_charset_filter_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_userid_filter_module.o \
src/http/modules/ngx_http_userid_filter_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_headers_filter_module.o \
src/http/modules/ngx_http_headers_filter_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/ngx_http_copy_filter_module.o \
src/http/ngx_http_copy_filter_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_not_modified_filter_module.o \
src/http/modules/ngx_http_not_modified_filter_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_static_module.o \
src/http/modules/ngx_http_static_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_autoindex_module.o \
src/http/modules/ngx_http_autoindex_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_index_module.o \
src/http/modules/ngx_http_index_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_mirror_module.o \
src/http/modules/ngx_http_mirror_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_try_files_module.o \
src/http/modules/ngx_http_try_files_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_auth_basic_module.o \
src/http/modules/ngx_http_auth_basic_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_access_module.o \
src/http/modules/ngx_http_access_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_limit_conn_module.o \
src/http/modules/ngx_http_limit_conn_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_limit_req_module.o \
src/http/modules/ngx_http_limit_req_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_geo_module.o \
src/http/modules/ngx_http_geo_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_map_module.o \
src/http/modules/ngx_http_map_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_split_clients_module.o \
src/http/modules/ngx_http_split_clients_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_referer_module.o \
src/http/modules/ngx_http_referer_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_rewrite_module.o \
src/http/modules/ngx_http_rewrite_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_ssl_module.o \
src/http/modules/ngx_http_ssl_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_proxy_module.o \
src/http/modules/ngx_http_proxy_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_fastcgi_module.o \
src/http/modules/ngx_http_fastcgi_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_uwsgi_module.o \
src/http/modules/ngx_http_uwsgi_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_scgi_module.o \
src/http/modules/ngx_http_scgi_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_memcached_module.o \
src/http/modules/ngx_http_memcached_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_empty_gif_module.o \
src/http/modules/ngx_http_empty_gif_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_browser_module.o \
src/http/modules/ngx_http_browser_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_upstream_hash_module.o \
src/http/modules/ngx_http_upstream_hash_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_upstream_ip_hash_module.o \
src/http/modules/ngx_http_upstream_ip_hash_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_upstream_least_conn_module.o \
src/http/modules/ngx_http_upstream_least_conn_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_upstream_random_module.o \
src/http/modules/ngx_http_upstream_random_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_upstream_keepalive_module.o \
src/http/modules/ngx_http_upstream_keepalive_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_upstream_zone_module.o \
src/http/modules/ngx_http_upstream_zone_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \
-o objs/src/http/modules/ngx_http_stub_status_module.o \
src/http/modules/ngx_http_stub_status_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/ngx_modules.o \
objs/ngx_modules.c
cc -o objs/nginx \
objs/src/core/nginx.o \
objs/src/core/ngx_log.o \
objs/src/core/ngx_palloc.o \
objs/src/core/ngx_array.o \
objs/src/core/ngx_list.o \
objs/src/core/ngx_hash.o \
objs/src/core/ngx_buf.o \
objs/src/core/ngx_queue.o \
objs/src/core/ngx_output_chain.o \
objs/src/core/ngx_string.o \
objs/src/core/ngx_parse.o \
objs/src/core/ngx_parse_time.o \
objs/src/core/ngx_inet.o \
objs/src/core/ngx_file.o \
objs/src/core/ngx_crc32.o \
objs/src/core/ngx_murmurhash.o \
objs/src/core/ngx_md5.o \
objs/src/core/ngx_sha1.o \
objs/src/core/ngx_rbtree.o \
objs/src/core/ngx_radix_tree.o \
objs/src/core/ngx_slab.o \
objs/src/core/ngx_times.o \
objs/src/core/ngx_shmtx.o \
objs/src/core/ngx_connection.o \
objs/src/core/ngx_cycle.o \
objs/src/core/ngx_spinlock.o \
objs/src/core/ngx_rwlock.o \
objs/src/core/ngx_cpuinfo.o \
objs/src/core/ngx_conf_file.o \
objs/src/core/ngx_module.o \
objs/src/core/ngx_resolver.o \
objs/src/core/ngx_open_file_cache.o \
objs/src/core/ngx_crypt.o \
objs/src/core/ngx_proxy_protocol.o \
objs/src/core/ngx_syslog.o \
objs/src/event/ngx_event.o \
objs/src/event/ngx_event_timer.o \
objs/src/event/ngx_event_posted.o \
objs/src/event/ngx_event_accept.o \
objs/src/event/ngx_event_udp.o \
objs/src/event/ngx_event_connect.o \
objs/src/event/ngx_event_pipe.o \
objs/src/os/unix/ngx_time.o \
objs/src/os/unix/ngx_errno.o \
objs/src/os/unix/ngx_alloc.o \
objs/src/os/unix/ngx_files.o \
objs/src/os/unix/ngx_socket.o \
objs/src/os/unix/ngx_recv.o \
objs/src/os/unix/ngx_readv_chain.o \
objs/src/os/unix/ngx_udp_recv.o \
objs/src/os/unix/ngx_send.o \
objs/src/os/unix/ngx_writev_chain.o \
objs/src/os/unix/ngx_udp_send.o \
objs/src/os/unix/ngx_udp_sendmsg_chain.o \
objs/src/os/unix/ngx_channel.o \
objs/src/os/unix/ngx_shmem.o \
objs/src/os/unix/ngx_process.o \
objs/src/os/unix/ngx_daemon.o \
objs/src/os/unix/ngx_setaffinity.o \
objs/src/os/unix/ngx_setproctitle.o \
objs/src/os/unix/ngx_posix_init.o \
objs/src/os/unix/ngx_user.o \
objs/src/os/unix/ngx_dlopen.o \
objs/src/os/unix/ngx_process_cycle.o \
objs/src/os/unix/ngx_linux_init.o \
objs/src/event/modules/ngx_epoll_module.o \
objs/src/os/unix/ngx_linux_sendfile_chain.o \
objs/src/event/ngx_event_openssl.o \
objs/src/event/ngx_event_openssl_stapling.o \
objs/src/core/ngx_regex.o \
objs/src/http/ngx_http.o \
objs/src/http/ngx_http_core_module.o \
objs/src/http/ngx_http_special_response.o \
objs/src/http/ngx_http_request.o \
objs/src/http/ngx_http_parse.o \
objs/src/http/modules/ngx_http_log_module.o \
objs/src/http/ngx_http_request_body.o \
objs/src/http/ngx_http_variables.o \
objs/src/http/ngx_http_script.o \
objs/src/http/ngx_http_upstream.o \
objs/src/http/ngx_http_upstream_round_robin.o \
objs/src/http/ngx_http_file_cache.o \
objs/src/http/ngx_http_write_filter_module.o \
objs/src/http/ngx_http_header_filter_module.o \
objs/src/http/modules/ngx_http_chunked_filter_module.o \
objs/src/http/modules/ngx_http_range_filter_module.o \
objs/src/http/modules/ngx_http_gzip_filter_module.o \
objs/src/http/ngx_http_postpone_filter_module.o \
objs/src/http/modules/ngx_http_ssi_filter_module.o \
objs/src/http/modules/ngx_http_charset_filter_module.o \
objs/src/http/modules/ngx_http_userid_filter_module.o \
objs/src/http/modules/ngx_http_headers_filter_module.o \
objs/src/http/ngx_http_copy_filter_module.o \
objs/src/http/modules/ngx_http_not_modified_filter_module.o \
objs/src/http/modules/ngx_http_static_module.o \
objs/src/http/modules/ngx_http_autoindex_module.o \
objs/src/http/modules/ngx_http_index_module.o \
objs/src/http/modules/ngx_http_mirror_module.o \
objs/src/http/modules/ngx_http_try_files_module.o \
objs/src/http/modules/ngx_http_auth_basic_module.o \
objs/src/http/modules/ngx_http_access_module.o \
objs/src/http/modules/ngx_http_limit_conn_module.o \
objs/src/http/modules/ngx_http_limit_req_module.o \
objs/src/http/modules/ngx_http_geo_module.o \
objs/src/http/modules/ngx_http_map_module.o \
objs/src/http/modules/ngx_http_split_clients_module.o \
objs/src/http/modules/ngx_http_referer_module.o \
objs/src/http/modules/ngx_http_rewrite_module.o \
objs/src/http/modules/ngx_http_ssl_module.o \
objs/src/http/modules/ngx_http_proxy_module.o \
objs/src/http/modules/ngx_http_fastcgi_module.o \
objs/src/http/modules/ngx_http_uwsgi_module.o \
objs/src/http/modules/ngx_http_scgi_module.o \
objs/src/http/modules/ngx_http_memcached_module.o \
objs/src/http/modules/ngx_http_empty_gif_module.o \
objs/src/http/modules/ngx_http_browser_module.o \
objs/src/http/modules/ngx_http_upstream_hash_module.o \
objs/src/http/modules/ngx_http_upstream_ip_hash_module.o \
objs/src/http/modules/ngx_http_upstream_least_conn_module.o \
objs/src/http/modules/ngx_http_upstream_random_module.o \
objs/src/http/modules/ngx_http_upstream_keepalive_module.o \
objs/src/http/modules/ngx_http_upstream_zone_module.o \
objs/src/http/modules/ngx_http_stub_status_module.o \
objs/ngx_modules.o \
-ldl -lpthread -lcrypt -lpcre -lssl -lcrypto -ldl -lpthread -lz \
-Wl,-E
sed -e "s|%%PREFIX%%|/usr/local/nginx|" \
-e "s|%%PID_PATH%%|/usr/local/nginx/logs/nginx.pid|" \
-e "s|%%CONF_PATH%%|/usr/local/nginx/conf/nginx.conf|" \
-e "s|%%ERROR_LOG_PATH%%|/usr/local/nginx/logs/error.log|" \
< man/nginx.8 > objs/nginx.8
make[1]: Leaving directory `/usr/local/src/nginx-1.18.0'
[root@node-4 nginx-1.18.0]# make install
make -f objs/Makefile install
make[1]: Entering directory `/usr/local/src/nginx-1.18.0'
test -d '/usr/local/nginx' || mkdir -p '/usr/local/nginx'
test -d '/usr/local/nginx/sbin' \
|| mkdir -p '/usr/local/nginx/sbin'
test ! -f '/usr/local/nginx/sbin/nginx' \
|| mv '/usr/local/nginx/sbin/nginx' \
'/usr/local/nginx/sbin/nginx.old'
cp objs/nginx '/usr/local/nginx/sbin/nginx'
test -d '/usr/local/nginx/conf' \
|| mkdir -p '/usr/local/nginx/conf'
cp conf/koi-win '/usr/local/nginx/conf'
cp conf/koi-utf '/usr/local/nginx/conf'
cp conf/win-utf '/usr/local/nginx/conf'
test -f '/usr/local/nginx/conf/mime.types' \
|| cp conf/mime.types '/usr/local/nginx/conf'
cp conf/mime.types '/usr/local/nginx/conf/mime.types.default'
test -f '/usr/local/nginx/conf/fastcgi_params' \
|| cp conf/fastcgi_params '/usr/local/nginx/conf'
cp conf/fastcgi_params \
'/usr/local/nginx/conf/fastcgi_params.default'
test -f '/usr/local/nginx/conf/fastcgi.conf' \
|| cp conf/fastcgi.conf '/usr/local/nginx/conf'
cp conf/fastcgi.conf '/usr/local/nginx/conf/fastcgi.conf.default'
test -f '/usr/local/nginx/conf/uwsgi_params' \
|| cp conf/uwsgi_params '/usr/local/nginx/conf'
cp conf/uwsgi_params \
'/usr/local/nginx/conf/uwsgi_params.default'
test -f '/usr/local/nginx/conf/scgi_params' \
|| cp conf/scgi_params '/usr/local/nginx/conf'
cp conf/scgi_params \
'/usr/local/nginx/conf/scgi_params.default'
test -f '/usr/local/nginx/conf/nginx.conf' \
|| cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf'
cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf.default'
test -d '/usr/local/nginx/logs' \
|| mkdir -p '/usr/local/nginx/logs'
test -d '/usr/local/nginx/logs' \
|| mkdir -p '/usr/local/nginx/logs'
test -d '/usr/local/nginx/html' \
|| cp -R html '/usr/local/nginx'
test -d '/usr/local/nginx/logs' \
|| mkdir -p '/usr/local/nginx/logs'
make[1]: Leaving directory `/usr/local/src/nginx-1.18.0'
[root@node-4 nginx-1.18.0]# ln -s /usr/local/nginx/sbin/nginx /bin/nginx
[root@node-4 nginx-1.18.0]# nginx
[root@node-4 nginx-1.18.0]# nginx -s reload
[root@node-4 nginx-1.18.0]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
此时你可以去看一下浏览器哪里有没有页面了,一般都是会显示页面的
3.nginx日志切割(必会)
nginx日志切割
00#需知nginx--目录结构
/usr/local/nginx/
/usr/local/nginx/logs 日志目录
/usr/local/nginx/html 发布目录
/usr/local/nginx/conf 配置目录
tips:我自己解压路径是在这个位置,你如果解压到别的地方,自己找一下。用find工具查找一下目录
find / -name nginx
#步骤
1.nginx日志路径
cd /usr/local/nginx/logs/
access.log 切割这个日志
2.实现方式
第一种:脚本实现
#2.1重命名一下access.log 日志文件
mv /usr/local/nginx/logs/access.log /usr/local/nginx/logs/access.log_$(date +%F)
#2.2重载一下nginx
nginx -s reload
tips:
再次运行nginx,因为原来的access.log日志文件没有了,所以重载一下,会生成新的日志
#2.3切割脚本雏形
mv /usr/local/nginx/logs/access.log /usr/local/nginx/logs/access.log_$(date +%F)
nginx -s reload
#2.3整理成脚本
#!/bin/bash
mv /usr/local/nginx/logs/access.log /usr/local/nginx/logs/access.log_$(date +%F)
nginx -s reload
#2.4创建脚本+给权限
cd /usr/local/nginx/logs/
vi nginx.sh
chmod +x nginx.sh
tips:我自己把脚本放在这个目录了,你如果想放在其他地方,可以自己选择
#2.5测试
bash nginx.sh
tips :这时你可以看到脚本运行,并且会为你创建日志的文件
ls
第二种:配置实现
1.1#打开原配置文件
vi /etc/logrotate.conf
tips:下面是脚本注释
# see "man logrotate" for details
# rotate log files weekly
weekly 代表一个星期日志切割一次
# keep 4 weeks worth of backlogs
rotate 4 切割日志 保留4个日志
# create new (empty) log files after rotating old ones
create 创建一个相同文件
# use date as a suffix of the rotated file
dateext
# uncomment this if you want your log files compressed
#compress
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {
monthly
create 0664 root utmp
minsize 1M
rotate 1
}
/var/log/btmp {
missingok
monthly
create 0600 root utmp
rotate 1
}
1.2#修改后的配置文件
tips:重点把这个目录的位置修改为我们的日志文件的位置,因为nginx的日志配置文件,里面也有帮助我们实现切割日志功能的,只不过原配置文件设置的是一周切割一次,我们一般不动切割周期,也就是改个切割路径,让他切割我们的日志文件,不切割别的
/usr/local/nginx/logs/access.log {
monthly
create 0664 root utmp
minsize 1M
rotate 1
具体实现效果
第一种(脚本实现)
[root@node-1 ~]# cd /usr/local/nginx/logs/
[root@node-1 logs]# ls
access.log error.log nginx.pid
[root@node-1 logs]# mv /usr/local/nginx/logs/access.log /usr/local/nginx/logs/access.log_$(date +%F)
[root@node-1 logs]# ls
access.log_2024-03-20 error.log nginx.pid
[root@node-1 logs]# nginx -s reload
[root@node-1 logs]# ls
access.log access.log_2024-03-20 error.log nginx.pid
[root@node-1 ~]# cd /usr/local/nginx/logs/
[root@node-1 logs]# ls
access.log access.log_2024-03-20 error.log nginx.pid
[root@node-1 logs]# vi nginx.sh
[root@node-1 logs]# ls
access.log access.log_2024-03-20 error.log nginx.pid nginx.sh
[root@node-1 logs]# chmod +x nginx.sh
[root@node-1 logs]# ls
access.log access.log_2024-03-20 error.log nginx.pid nginx.sh
[root@node-1 logs]# bash nginx.sh
nginx.sh: line 1: !#/bin/bash: No such file or directory
[root@node-1 logs]# vi nginx.sh
[root@node-1 logs]# bash nginx.sh
[root@node-1 logs]# ls
access.log access.log_2024-03-20 error.log nginx.pid nginx.sh
第二种(配置实现)
这种文件只能有vi打开,cd切不进去的
[root@node-1 ~]# vi /etc/logrotate.conf
填充下面这行 具体的事这个位置,把目录位置改一下就可以了
# no packages own wtmp and btmp -- we'll rotate them here
/usr/local/nginx/logs/access.log {
monthly
create 0664 root utmp
minsize 1M
rotate 1
}
# see "man logrotate" for details
# rotate log files weekly
weekly
# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating old ones
create
# use date as a suffix of the rotated file
dateext
# uncomment this if you want your log files compressed
#compress
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
# no packages own wtmp and btmp -- we'll rotate them here
/usr/local/nginx/logs/access.log {
monthly
create 0664 root utmp
minsize 1M
rotate 1
}
/var/log/btmp {
missingok
monthly
create 0600 root utmp
rotate 1
}
tips:
测试取看一下对应的日志目录就可以了,ls
4.错误页面跳转
环境:虚拟机
ip:10.0.1.0
网关:10.0.1.2
子网掩码:255.255.255.0
测试机器ip:10.0.1.101
目录结构
/usr/local/nginx/
/usr/local/nginx/logs 日志目录
/usr/local/nginx/html 发布目录
/usr/local/nginx/conf 配置目录
nginx.conf.bak |egrep -v "^$|#"
1--错误页面实现方式
#步骤详解
1.1找到nginx配置目录-修改错误页面配置路径
cd/local/nginx/conf
vi nginx.conf
在这一行添加404 和404.html网页
error_page 500 502 503 504 404 /404.html;
location = /40x.html {
保存退出就可以了
tips:location = /40x.html 这里的40x,x代表一个变量 如果由多个网页的话,那么他可以显示以40开头的所有错误网页,404.html这个不要设置错了,首先这个文件一定要有,其次这个文件不能填写40x这类的路径,一定要完全一样,我这里放了错误,添了40x以为和下面的location一样,结果页面是打不开的,页面出现报错了,你们也要注意一下
1.2添加网页404.html进行测试
cd /usr/local/nginx/html
echo weihuzhong > 404.html
tips:追加一下错误页面的内容,你可以随便编辑,一般生产环境中,都是有精美的错误界面,这里测试就不那么玄乎了
1.3 重启--测试
nginx -s reload
nginx -t
tips:这里由于你添加了,新的网页,如果不重载的话,页面还是不会显示的,相当于清理一下缓存,所以我这里直接重载了,最好再检查一下页面是否是正常的
具体操作演示
[root@node-1 ~]# cd /usr/local/nginx/html/
[root@node-1 html]# ls
404.html 50x.html index.html
[root@node-1 html]# echo niubi666 > 405.html
[root@node-1 html]# cd ../conf
[root@node-1 conf]# ls
fastcgi.conf koi-utf nginx.conf scgi_params.default
fastcgi.conf.default koi-win nginx.conf.bak uwsgi_params
fastcgi_params mime.types nginx.conf.default uwsgi_params.default
fastcgi_params.default mime.types.default scgi_params win-utf
[root@node-1 conf]# vi nginx.conf
在这一行添加404 和404.html网页
error_page 500 502 503 504 404 /404.html;
location = /40x.html {
注解:location = /40x.html 这里的40x,x代表一个变量 如果由多个网页的话,那么他可以显示以40开头的所有错误网页
[root@node-1 conf]# nginx -s reload
重启
测试
10.0.1.101
nginx--故障实例
[root@web html]# nginx
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
此端口被占用了,80端口被其他进程占用了,找出来杀掉
或者nginx配置其他端口
nginx常见错误
1.端口是否占用
2.配置文件路径是否错误
3.添加的网页是否未进行重载更新
4.nginx服务是否启动
5.nginx 依赖包问题 nginx -t nginx -V 查看一下
6.dns是否解析?
7.对应状态码 如下所示
状态码 | 含义 | 解释 |
---|---|---|
状态码 | 含义 | 解释 |
200 | OK | 请求正常处理完毕 |
301 | Moved Permanently | 永久重定向 |
302 | Found | 临时重定向 |
304 | Not Modified | 条件式请求,资源未该被修改 |
400 | Bad Request | 请求报文语法错误或参数错误 |
401 | Unauthorized | 需要通过HTTP认证,或认证失败 |
403 | Forbidden | 请求资源被拒绝(例如:黑名单,状态检测资源等) |
404 | Not Found | 无法找到请求资源 |
409 | Conflict | 表示请求与当前服务器端的状态相冲突;冲突最有可能发生在对 PUT 请求的响应中。例如,当上传文件的版本比服务器上已存在的要旧,从而导致版本冲突的时候,那么就有可能收到状态码为 409 的响应。 |
500 | Internal Server Error | 服务器故障或Web应用故障 |
502 | Bad Gateway | 代理服务器,从上游服务器中接收到的响应是无效的 |
503 | Service Unavailable | 服务器超负载或停机维护 |
504 | Gateway Timeout | 代理服务器无法在规定的时间内获得想要的响应 |
505 | HTTP Version Not Supported | 表示服务器不支持请求所使用的 HTTP 版本 |
nginx故障详细版--附带排查思路
一 Nginx工作场景
Nginx是最受欢迎的HTTP服务器之一,在我们公司扮演着举足轻重的作用,做为我们公司的核心组件之一,在整个访问链路上是不可或缺的一环,而且, Nginx组件、模块、版本众多, 所以如何管理好Nginx将显得至关重要.
Before we get started,我们先来看看Nginx的工作场景:
「1」静态资源的web服务器
「2」http、smtp、pop3等协议的反向代理服务器
「3」缓存加速和负载均衡
我们公司主要用到了Nginx的第二个功能,即反向代理服务器,我们的服务都通过Nginx代理至Real Server,既保证Real Server的安全性,也起到了访问流量的负载均衡.
二 Nginx问题处理流程
1 Nginx自身排查
如果出了问题,第一时间检查是否是nginx自身因素导致的服务不可用,
「1」检查Nginx服务是否启动,
sudo lsof -P -n -i :80 -i :443 | grep LISTEN
ps aux | grep nginx
「2」如果服务宕掉,先试着启动服务
sudo /opt/nginx/sbin/nginx -c /opt/nginx/conf/nginx.conf
「3」如果2成功,则访问对应的服务,看是否正常,
如果2失败,则需要检查nginx的配置文件,以及各功能模块,为了能够更加精确的定位,我们需要开启debug模式.然后执行:
nginx –t
tail –f /data/log/nginx/error.log
「4」可查看nginx编译时的参数,看看是不是有些功能模块未编译进来.
nginx -V
2 外界因素排查
这里的外界干扰主要Nginx这一环以外的问题导致服务不可用,像Navigator,APIRouter等.
「1」 如果是新发的配置,确保Navigator发布的版本生效
「2」 绑定该nginx集群对应的LB的外网地址到本地hosts,观察访问服务是否可用
「3」 检查DNS records
如果「2」可用,则说明是Nginx之前的环节出了问题,此时需使用dig 工具查看看解析是否正确.如果是解析错误,修正即可.
dig 域名
dig –t A +trace 域名
3 根具返回客户端状态判断故障发生点
「1」3xx类响应码
3xx类状态码,通常为重定向类响应状态码,其中301为永久重定向,302为临时重定向,304表示从缓存中响应,如果访问某域名是,出现跳转问题,那么就要检查nginx的配置,看看rewrite规则是否合理,location是否出现优先级问题.
「2」4xx类响应码
4xx类状态码,通常来说表示客户端类错误,
如果出现400错误, 通常表示client发送了一个无效的请求.如果一个http1.1的请求没有host域,那么server应该给client段发送400的状态码,表明这个请求server不能处理。
如果出现403错误,会提示Forbidden,表示禁止访问,这类原因通常来说会有2种可能,一是:客户端请求的资源做了黑白名单,或者是一些特殊的资源(例如:status页面);二是:
如果出现404错误,会返回NOT Found状态吗,产生这种错误,一般是用户发起了错误的请求,请求的资源不存在. Nginx需要访问目录,但是autoindex选项被关闭.
「3」5xx类响应码
500类响应码通常表示服务器端出现了问题,这里可能是nginx除了问题,也又可能是后端Real Server出现了故障.
502错误会返回Bad Gateway,及网关错误,这中情况,可能与cgi类型有关
504 错误会返回Time Out,通常表示nginx作为代理时,没有及时从上游服务器收到请求,这中情况要么是后端服务处理不了nginx转发的请求,导致请求超时,要么就是后端服务器除了故障,比如服务意外停止…
三 常见的状态码
状态码信息查询地址:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status
状态码 | 含义 | 解释 |
---|---|---|
状态码 | 含义 | 解释 |
200 | OK | 请求正常处理完毕 |
301 | Moved Permanently | 永久重定向 |
302 | Found | 临时重定向 |
304 | Not Modified | 条件式请求,资源未该被修改 |
400 | Bad Request | 请求报文语法错误或参数错误 |
401 | Unauthorized | 需要通过HTTP认证,或认证失败 |
403 | Forbidden | 请求资源被拒绝(例如:黑名单,状态检测资源等) |
404 | Not Found | 无法找到请求资源 |
409 | Conflict | 表示请求与当前服务器端的状态相冲突;冲突最有可能发生在对 PUT 请求的响应中。例如,当上传文件的版本比服务器上已存在的要旧,从而导致版本冲突的时候,那么就有可能收到状态码为 409 的响应。 |
500 | Internal Server Error | 服务器故障或Web应用故障 |
502 | Bad Gateway | 代理服务器,从上游服务器中接收到的响应是无效的 |
503 | Service Unavailable | 服务器超负载或停机维护 |
504 | Gateway Timeout | 代理服务器无法在规定的时间内获得想要的响应 |
505 | HTTP Version Not Supported | 表示服务器不支持请求所使用的 HTTP 版本 |