Administrator
发布于 2021-12-27 / 464 阅读
0
0

Linux-二进制编译安装nginx

Linux-二进制编译安装nginx

1.安装编译nginx编译依赖包

#使用yum安装编译的依赖
yum -y install gcc gcc-c++ autoconf automake make openssl openssl-devel pcre-devel

2.下载nginx安装包

#在官网下载nginx源码包推荐下载稳定版
官网地址:http://nginx.org/en/download.html

3.上传到系统目录并解压nginx安装包

tar -zxvf nginx-1.22.0.tar.gz

4.安装nginx

#进入解压后的文件目录
cd nginx-1.22.0
#修改nginx版本号(避免低危漏洞)
vim src/core/nginx.h
#修改项
#define NGINX_VERSION      "2.0"   版本号
#define NGINX_VER          "webserver/" NGINX_VERSION   服务名字

#根据需求添加模块
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-http_sub_module --with-http_gzip_static_module --with-pcre

#编译源代码并安装生成的文件
make && make install

编译配置项说明:

#代表安装的路径
--prefix=/usr/local/nginx

#安装SSL
--with-http_ssl_module

#查看nginx的客户端状态
--with-http_stub_status_module

#或者可以通过输入./configure --help可以查看Nginx所有支持配置的内置模块的配置信息

1. with开头的表示该模块默认是未开启的,可以使用--with开启。
2. without开头的表示该模块默认是启用的,可以使用--without禁用。
3. 第三方模块使用--add-module=PATH添加。如果支持动态加载,使用--add-dynamic-module=PATH添加。

以下是常见的 Nginx 模块及其作用和功能,可以根据实际需求进行选择和配置

http_ssl_module:启用 HTTPS 支持,提供加密通信和认证功能。
pcre:支持使用 Perl 兼容的正则表达式进行 URL 匹配和重写。
http_stub_status_module:提供一个页面,显示 Nginx 的运行状态和当前连接数等信息。
http_realip_module:将真实客户端 IP 地址从代理服务器传递到后端服务器。
http_auth_request_module:用于对客户端请求进行认证授权,支持使用 HTTP 子请求进行认证。
http_addition_module:支持在 HTTP 响应中添加额外的数据,例如添加头信息或尾信息等。
http_dav_module:支持 WebDAV 协议,提供对远程文件系统的读写能力。
http_flv_module:提供对 FLV 格式的媒体流支持。
http_geoip_module:支持使用 GeoIP 数据库进行地理位置匹配。
http_gunzip_module:支持解压缩 gzip 压缩的响应。
http_gzip_static_module:提供预先压缩的文件支持,可以加速文件传输。
http_image_filter_module:对图像进行裁剪、缩放和旋转等操作。
http_mp4_module:提供对 MP4 格式的媒体流支持。
http_random_index_module:支持随机显示索引页面。
http_secure_link_module:提供生成带有签名的 URL,用于对静态文件进行防盗链。
http_slice_module:支持对大文件进行分片传输。
http_sub_module:支持在 HTTP 响应中替换指定字符串。
http_v2_module:启用 HTTP/2 支持,提供更快的网页加载速度和更高的并发性。
mail:支持 SMTP 和 POP3/IMAP 协议。
mail_ssl_module:启用 SSL/TLS 加密协议,提供加密通信和认证功能。
stream:支持 TCP 和 UDP 代理服务器。
stream_realip_module:将真实客户端 IP 地址从代理服务器传递到后端服务器。
stream_ssl_module:启用 SSL/TLS 加密协议,提供加密通信和认证功能。
stream_ssl_preread_module:支持预读 SSL/TLS 握手信息,用于判断连接的协议类型。
threads:启用多线程支持,提供更高的并发性能。

5.创建nginx用户并修改nginx目录属性

#创建nginx用户,不创建用户目录
useradd -s /sbin/nologin -M nginx

#进入nginx所在目录
cd /usr/local/

#修改nginx目录属性
#chown -R 所有者:所属组 目录
chown -R nginx:nginx nginx

6.运行nginx

#检测配置文件是否正常
/usr/local/nginx/sbin/nginx -t -c conf/nginx.conf

#启动
/usr/local/nginx/sbin/nginx -c conf/nginx.conf

#关闭
/usr/local/nginx/sbin/nginx -s stop

#重启
/usr/local/nginx/sbin/nginx -s reload


# 优雅关闭Nginx,会在执行完当前的任务后再退出
/usr/local/nginx/sbin/nginx -s quit 

#-c 表示指定配置文件

评论