centos编译安装nginx1.24

nginx编译1.24,先下载安装包

机器通外网的话配置nginx的yum源直接yum安装

vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
保存退出
yum install nginx -y

不通外网就下载源码包,编译安装

编译安装

nginx下载地址
nginx学习可参考:大牛博客
在这里插入图片描述

一,下载依赖

安装编译环境
yum -y install gcc gcc-c++
安装pcre软件包(使nginx支持http rewrite模块)
yum install -y pcre pcre-devel
安装 openssl-devel(使 nginx 支持 ssl)
yum install -y openssl openssl-devel 
安装zlib
yum install -y zlib zlib-devel gd gd-devel
创建用户 nginx
useradd -s /sbin/nologin nginx 

二,编译安装 nginx

下载并上传完nginx包后上传到/data目录
tar -xvzf nginx-1.24.0.tar.gz -C  /usr/local/
cd /usr/local/nginx-1.24.0/
mkdir -p /usr/local/nginx
编译
./configure --prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-pcre \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_stub_status_module \
--with-http_auth_request_module \
--with-http_image_filter_module \
--with-http_slice_module \
--with-mail \
--with-threads \
--with-file-aio \
--with-stream \
--with-mail_ssl_module \
--with-stream_ssl_module

make && make install
[root@master nginx-1.24.0]# cd /usr/local/nginx/sbin
[root@master sbin]# ./nginx        		# 启动Nginx
[root@master sbin]# ./nginx -t      		# 验证配置文件是正确
[root@master sbin]# ./nginx -s reload  	# 重启Nginx
[root@master sbin]# ./nginx -s stop   	# 停止Nginx
[root@master sbin]# ./nginx -v            # 查看是否安装成功
nginx version: nginx/1.24.0
[root@master sbin]# netstat -ntlp | grep nginx # 查看是否启动
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      5365/nginx: master

三,配置 Nginx 命令和服务并开机启动

[root@master sbin]# vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -S reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target
添加执行权限
chmod +x /usr/lib/systemd/system/nginx.service

四,启动服务(先停止nginx服务)

[root@master sbin]# nginx -v   #编译完找不到找不到nginx命令
-bash: nginx: 未找到命令
[root@master sbin]# which nginx   #which也查不到,怀疑是环境变量中没有
/usr/bin/which: no nginx in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[root@master sbin]# echo $PATH  #查看本机环境变量
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@master sbin]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/nginx   #软链nginx到环境变量中
[root@master 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


systemctl daemon-reload
systemctl start nginx.service   # 启动
systemctl stop nginx.service    # 停止
systemctl reload nginx.service  # 修改配置后重新加载生效 
systemctl restart nginx.service # 重启
systemctl status nginx   # 查看服务是否启动
[root@master sbin]# systemctl status nginx
● nginx.service - nginx - high performance web server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
   Active: active (running) since 六 2024-04-13 13:58:30 CST; 12min ago
     Docs: http://nginx.org/en/docs/
 Main PID: 5365 (nginx)
   CGroup: /system.slice/nginx.service
           ├─5365 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
           └─5366 nginx: worker process

413 13:58:30 master systemd[1]: Starting nginx - high performance web server...
413 13:58:30 master nginx[5360]: nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
413 13:58:30 master nginx[5360]: nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
413 13:58:30 master systemd[1]: Started nginx - high performance web server.

五,Nginx 编译参数解析

# 查看 nginx 安装的模块
[root@master sbin]# nginx -V

# 模块参数具体功能 
--with-cc-opt='-g -O2 -fPIE -fstack-protector'   # 设置额外的参数将被添加到CFLAGS变量。(FreeBSD或者ubuntu使用)
--param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2' 
--with-ld-opt='-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' 

--prefix=/usr/share/nginx                        # 指向安装目录
--conf-path=/etc/nginx/nginx.conf                # 指定配置文件
--http-log-path=/var/log/nginx/access.log        # 指定访问日志
--error-log-path=/var/log/nginx/error.log        # 指定错误日志
--lock-path=/var/lock/nginx.lock                 # 指定lock文件
--pid-path=/run/nginx.pid                        # 指定pid文件

--http-client-body-temp-path=/var/lib/nginx/body    # 设定http客户端请求临时文件路径
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi     # 设定http fastcgi临时文件路径
--http-proxy-temp-path=/var/lib/nginx/proxy         # 设定http代理临时文件路径
--http-scgi-temp-path=/var/lib/nginx/scgi           # 设定http scgi临时文件路径
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi         # 设定http uwsgi临时文件路径

--with-debug                                        # 启用debug日志
--with-pcre-jit                                     # 编译PCRE包含“just-in-time compilation”
--with-ipv6                                         # 启用ipv6支持
--with-http_ssl_module                              # 启用ssl支持
--with-http_stub_status_module                      # 获取nginx自上次启动以来的状态
--with-http_realip_module                 # 允许从请求标头更改客户端的IP地址值,默认为关
--with-http_auth_request_module           # 实现基于一个子请求的结果的客户端授权。如果该子请求返回的2xx响应代码,所述接入是允许的。如果它返回401或403中,访问被拒绝与相应的错误代码。由子请求返回的任何其他响应代码被认为是一个错误。
--with-http_addition_module               # 作为一个输出过滤器,支持不完全缓冲,分部分响应请求
--with-http_dav_module                    # 增加PUT,DELETE,MKCOL:创建集合,COPY和MOVE方法 默认关闭,需编译开启
--with-http_geoip_module                  # 使用预编译的MaxMind数据库解析客户端IP地址,得到变量值
--with-http_gunzip_module                 # 它为不支持“gzip”编码方法的客户端解压具有“Content-Encoding: gzip”头的响应。
--with-http_gzip_static_module            # 在线实时压缩输出数据流
--with-http_image_filter_module           # 传输JPEG/GIF/PNG 图片的一个过滤器)(默认为不启用。gd库要用到)
--with-http_spdy_module                   # SPDY可以缩短网页的加载时间
--with-http_sub_module                    # 允许用一些其他文本替换nginx响应中的一些文本
--with-http_xslt_module                   # 过滤转换XML请求
--with-mail                               # 启用POP3/IMAP4/SMTP代理模块支持
--with-mail_ssl_module                    # 启用ngx_mail_ssl_module支持启用外部模块支持

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/541950.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JVM垃圾回收(GC)

目录 目录 1.GC 简介 1.1. 引言 1.2. 何为 GC 1.2.1. 手动 GC 1.2.2. 自动 GC 引用计数法 标记清除 2.GC入门分析 2.1.碎片整理 1)对象创建时,执行写入操作越来越耗时 2)内存分配错误 2.2. 分代设想 2.3. 对象分配 对象内存分配过程 2.4. …

用AI提升儿童英语口语:和小猪佩奇对话

小孩子大部分都是喜欢动画片的,如果能让动画片中的角色和他们进行口语对话,应该可以极大的激发他们英语学习兴趣。 下面,以小猪佩奇为例来说明如何利用AI来创建一个虚拟的英语口语陪练小猪佩奇角色。 在kimichat对话框中键入提示词&#xf…

第7期 部署两地三中心解决方案SDRS+CBR

第7期 部署两地三中心解决方案SDRSCBR 1.实施步骤(部署跨可用区容灾)配置跨可用区容灾操作场景约束与限制创建保护组 什么是SDRS什么是CBR什么是两地三中心容灾方案(SDRSCBR)应用场景方案优势三种容灾方案对比 2.两地三中心方案原…

Stable Diffusion之API接口调用

1、开启api调用模式 开启api模式,关闭可视化窗口,并且建议关闭登录权限(详细查看文章最后Stable Diffusion之Ubuntu下部署-CSDN博客) ./webui.sh --disable-safe-unpickle --api --nowebui 2、查看接口列表 访问对应的网页地…

ReactRouter

React-Router 概念:一个路劲path对应一个组件component 当我们在浏览器中访问一个path的时候,path对应的组件会在页面中进行渲染路由语法: import {createBrowserRouter, RouterProvider} from react-router-dom// 1. 创建router实例对象并…

Docker之自定义镜像上传至阿里云

一、Alpine介绍 Alpine Linux是一个轻量级的Linux发行版,专注于安全、简单和高效。它采用了一个小巧的内核和基于musl libc的C库,使得它具有出色的性能和资源利用率。 Alpine Linux的主要特点包括: 小巧轻量:Alpine Linux的安装…

远程桌面防火墙是什么?

远程桌面防火墙,是一种针对远程桌面应用的安全防护工具。它可以在保证远程桌面连接的便利性和高效性的对网络连接进行安全性的保护,防止未经授权的访问和潜在的安全风险。 远程桌面防火墙的主要功能是对远程桌面连接进行监控和管理。它通过识别和验证连接…

ClickHouse--18--argMin() 和argMax()函数

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 argMin() 和argMax()函数业务场景使用案例1.准备表和数据:业务场景一:查看salary 最高和最小的user业务场景二:根据更新时间获取…

底层文件操作的各种函数(二)------printf,fprintf,sprintf,scanf,fscanf,sscanf的对比以及文件缓冲区

偷得几日清闲,又因一瞬之间对蹉跎时间的愧疚,由此而来到CSDN这个高手云集和新手求学的平台来也写上那么一篇博客。虽然自己的博客那么久不温不热,但坚持写作,巩固自己就好。今天要讲的是续接上一篇文章的补充与继续吧。上期文章&a…

2024年第十五届蓝桥杯C++B组个人解

2024年第十五届蓝桥杯CB组 A: 握手问题(5分)问题描述思路 B: 小球反弹(5分)问题描述思路 C: 好数(10分)问题描述输入格式输出格式样例输入1样例输出1样例输入2样例输出2样例说明评测用例规模与约定思路 博客…

[大模型]BlueLM-7B-Chat langchain 接入

BlueLM-7B-Chat langchain 接入 模型介绍 BlueLM-7B 是由 vivo AI 全球研究院自主研发的大规模预训练语言模型,参数规模为 70 亿。BlueLM-7B 在 C-Eval 和 CMMLU 上均取得领先结果,对比同尺寸开源模型中具有较强的竞争力(截止11月1号)。本次发布共包含…

【Linux学习笔记】安卓运行C可执行文件No such file or directory

文章目录 开发环境运行失败现象解决办法方法一:使用静态库方法二:使用动态库创建lib查找依赖库复制需要注意的事情 开发环境 开发板:正点原子RK3568开发板安卓版本:11可执行程序命名:ledApp需加载模块:dts…

需求工程分析

概述 需求获取 结构化需求表分析(SA) 数据流图(DFD) E-R 图 状态转换图 数据字典 补充说明 面相对象 UML(重要) 面向对象 类图 顺序图 用例图 关系 活动图 状态图 通信图

Redis入门到通关之String命令

文章目录 ⛄1 String 介绍⛄2 命令⛄3 对应 RedisTemplate API❄️❄️ 3.1 添加缓存❄️❄️ 3.2 设置过期时间(单独设置)❄️❄️ 3.3 获取缓存值❄️❄️ 3.4 删除key❄️❄️ 3.5 顺序递增❄️❄️ 3.6 顺序递减 ⛄4 以下是一些常用的API⛄5 应用场景 ⛄1 String 介绍 Stri…

Linux的学习之路:9、冯诺依曼与进程(1)

摘要 本章主要是说一下冯诺依曼体系结构和进程的一部分东西。 目录 摘要 一、冯诺依曼体系结构 二、操作系统的概念 三、设计OS的目的 四、管理 五、进程的基本概念 六、PCB 七、在Linux环境下查看进程 八、使用代码创建进程 九、思维导图 一、冯诺依曼体系结构 如…

[C++][算法基础]Dijkstra求最短路径I(稠密图)

给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环,所有边权均为正值。 请你求出 1 号点到 n 号点的最短距离,如果无法从 1 号点走到 n 号点,则输出 −1。 输入格式 第一行包含整数 n 和 m。 接下来 m 行每行包含三个整…

监控服务zabbix的部署

监控服务zabbix部署 文章目录 监控服务zabbix部署1. zabbix介绍2. zabbix特点3. zabbix配置文件4. 部署zabbix4.1apache安装4.2mysql安装php安装(yum方式)4.3php安装(源码方式)4.4配置apache代理4.5zabbix安装4.6zabbix服务端配置4.7zabbix服务端web界面…

【2024年5月备考新增】《软考真题分章练习(含答案解析) - 18 管理科学-运筹学基础 (2)》

21、某种商品价格 P 变动与某指标 A 的变化具有很强的相关性,指标 A 的增长会导致 P 的降低,反之亦然。指标 A 和价格 P 的相关性系数是()。 A.0.18 B.0 C.0.98 D.-0.83 【答案】D 【解析】A 的增长会导致 B 的降低,反比关系,系数必然是一个负数。正比函数 y=kx,当 k>…

Linux知识点(3)

文章目录 11. 进程间通信11.1 管道11.1.0 |11.1.1 匿名管道11.1.2 命名管道11.1.3 用匿名管道形成进程池 11.2 system V共享内存11.2.1 system V函数11.2.2 system 命令 11.3 system V消息队列11.4 system V 信号量 12. 进程信号12.1 前台进程和后台进程12.1.1 jobs12.1.2 fg &…

Golang | Leetcode Golang题解之第25题K个一组翻转链表

题目&#xff1a; 题解&#xff1a; func reverseKGroup(head *ListNode, k int) *ListNode {hair : &ListNode{Next: head}pre : hairfor head ! nil {tail : prefor i : 0; i < k; i {tail tail.Nextif tail nil {return hair.Next}}nex : tail.Nexthead, tail my…