Nginx安装

一、源码安装nginx

1、下载nginx tar包(https://nginx.org/en/download.html)

wget https://nginx.org/download/nginx-1.22.1.tar.gz

2、解压

tar -zxf nginx-1.22.1.tar.gz

3、补包

# nginx源码编译需要依赖gcc环境
yum install -y gcc-c++
"""
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此
"""
yum install pcre pcre-devel 
#zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
yum install -y zlib zlib-devel
# openssh 安装
yum install -y openssl openssl-devel

4、安装

cd nginx-1.21.4
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
"""
./configure \
--prefix=/usr/local/nginx \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--pid-path=/usr/local/nginx/conf/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
"""

5、nginx 配置编译时常用参数

5.1 安装路径和文件路径相关

  • --prefix=PATH

    设置 nginx 的安装目录,默认为 /usr/local/nginx

  • --sbin-path=PATH

    设置 nginx 可执行文件的路径,默认为 <prefix>/sbin/nginx

  • --modules-path=PATH

    设置模块的安装路径

  • --conf-path=PATH

    设置主配置文件 nginx.conf 的路径,默认为 <prefix>/conf/nginx.conf

  • --error-log-path=PATH

    设置错误日志文件的路径

  • --pid-path=PATH

    设置存储主进程 PID 文件的路径,默认为 <prefix>/logs/nginx.pid

  • --lock-path=PATH

    设置锁文件的路径

  • --http-log-path=PATH

    设置 HTTP 访问日志文件的路径

  • --http-client-body-temp-path=PATH

    存储客户端请求体临时文件的路径

  • --http-proxy-temp-path=PATH

    设置存储代理临时文件的路径

  • --http-fastcgi-temp-path=PATH

    设置存储 FastCGI 临时文件的路径

  • --http-uwsgi-temp-path=PATH

    设置存储 uWSGI 临时文件的路径

  • --http-scgi-temp-path=PATH

    设置存储 SCGI 临时文件的路径

5.2 用户和组相关

  • --user=USER

    设置工作进程的非特权用户

  • --group=GROUP

    设置工作进程的非特权用户组

5.3 编译和构建相关

  • --build=NAME

    设置构建名称

  • --builddir=DIR

    设置构建目录

  • --with-cc=PATH

    指定 C 编译器的路径

  • --with-cpp=PATH

    指定 C 预处理器路径

  • --with-cc-opt=OPTIONS

    添加额外的 C 与编译器选项

  • --with-ld-opt=OPTIONS

    添加额外的链接器选项

  • --with-cpu-opt=CPU

    为特定 CPU 优化编译 (如 pentiumathlon 等)

5.4 功能模块相关

HTTP 模块
  • --with-http_ssl_module

    启用 HTTPS 支持 (SSL/TLS)

  • --with-http_v2_module

    启用 HTTP/2 协议支持

  • --with-http_realip_module

    启用获取真实客户端 IP 地址功能

  • --with-http_addition_modile

    启用响应内容追加功能

  • --with-http_xslt_module

    启用 XSLT 转化支持

  • --with-http_image_filter_module

    启用图片过滤支持

  • --with-http_geoip_module

    启用 GeoIP 支持

  • --without-http_<module>_module

    禁用指定的 HTTP 模块 (如 charset, gzip, rewrite 等)

流媒体模块
  • --with-http_flv_module

    启用 FLV 视频流支持

  • --with-http_mp4_module

    启用 MP4 视频流支持

其他 HTTP 模块
  • --with-http_stub_status_module

    启用状态监控模块

  • --with-http_gzip_static_module

    启用静态文件 GZIP 压缩支持

  • --with-http_auth_request_module

    启用认证请求模块

  • --without-http

    禁用 HTTP 服务器功能

5.5 邮件代理模块

  • --with-mail

    启用 POP3/IMAP4/SMTP 代理模块

  • --with-mail_ssl_module

    启用邮件代理的 SSL/TLS 支持

  • --without-mail_<protocol>_module

    禁用指定的邮件协议模块(如 pop3, imap, smtp

5.6 流量代理模块

  • --with-stream

    启用 TCP/UDP 流量代理模块

  • --with-stream_ssl_module

    启用流量代理的 SSL/TLS 支持

  • --with-stream_realip_module

    启用流量代理的真实 IP 获取功能

  • --without-stream_<module>_module

    禁用指定的流量代理模块

5.7 外部支持

  • --with-pcre

    启用 PCRE 库支持 (正则表达式)

  • --with-pcre-jit

    启用 PCRE JIT 编译支持

  • --with-zlib=DIR

    指定 Zlib 库源码路径(用于压缩)

  • --with-openssl=DIR

    指定 OpenSSL 库源码路径

  • --with-libatomic

    启用 libatomic_ops 库支持(原子操作)

5.8 其他选项

  • --add-module=PATH

    添加第三方静态模块

  • --add-dynamic-module=PATH

    添加第三方动态模块

  • --with-compat

    启用动态模块兼容性

  • --with-debug

    启动调试日志

  • --with-threads

    启用线程池支持

  • --with-file-aio

    启用文件异步 I/O 支持

5.9 禁用功能

  • --without-http-cache

    禁用 HTTP 缓存功能

  • --without-pcre

    禁用 PCRE 库支持

  • --without-pcre2

    不使用 PRCE2 库

6、编译

make && make install

7、软链接

ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx

8、nginx相关命令

1.启动nginx: nginx
2.停止nginx:nginx -s stop
3.重启nginx:nginx -s restart
4.检查nginx配置文件是否正确:nginx -t
5.如果配置文件正确,可以使用以下命令重载nginx:nginx -s reload
重载配置文件会使nginx重新加载配置文件,而无需停止和启动整个服务器,这对于更新nginx配置文件中更改非常有用,因为它可以避免中断服务器的服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值