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安装
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!
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来查看一下浏览器是否可以访问
3.nginx日志切割(必会)
nginx日志切割
目录结构
/usr/local/nginx/
/usr/local/nginx/logs 日志目录
/usr/local/nginx/html 发布目录
/usr/local/nginx/conf 配置目录
nginx日志路径
cd /usr/local/nginx/logs/
access.log 切割这个日志
[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)
再次运行nginx,因为原来的access.log日志文件没有了,所以重载一下,会生成新的日志
[root@node-1 logs]# nginx -s reload
mv /usr/local/nginx/logs/access.log /usr/local/nginx/logs/access.log_$(date +%F)
nginx -s reload
整理成脚本
#!/bin/bash
mv /usr/local/nginx/logs/access.log /usr/local/nginx/logs/access.log_$(date +%F)
nginx -s reload
vi nginx.sh
chmod +x nginx.sh
第二种:配置实现
原配置文件
[root@node-1 ~]# vi /etc/logrotate.conf
# 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
}
修改后的配置文件
[root@node-1 ~]# vi /etc/logrotate.conf
# 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
}
具体实现效果
第一种(脚本实现)
[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
}
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 "^$|#"
步骤详解
cd /usr/local/nginx/html
echo weihuzhong > 404.html
cd/local/nginx/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开头的所有错误网页
保存退出
重启
nginx -s reload
具体操作演示
[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
标签:src,objs,http,入门,31,modules,nginx,ngx
From: https://www.cnblogs.com/nwq1101/p/18086366