nginx介绍及编译安装

nginx介绍

是一个流行的开源的高性能的HTTP和反向代理服务器,也可以用作邮件代理服务器。它以其高性能、稳定性、丰富的功能集和低资源消耗而闻名

nginx特点

  1. 高性能

    • Nginx以其高效的事件驱动架构而闻名,能够处理大量并发连接而不会消耗过多的系统资源。这使得Nginx在高流量环境下表现出色。
  2. 低资源消耗

    • 相比传统的Web服务器,Nginx具有较低的内存消耗和更高的并发连接处理能力,适合用于节约资源的环境。
  3. 可扩展性

    • Nginx支持模块化架构,可以通过添加模块来扩展其功能,从而满足不同应用场景的需求。
  4. 负载均衡和反向代理

    • Nginx具有强大的负载均衡和反向代理功能,能够有效地分发流量到多个后端服务器,提高系统的可用性和性能。
  5. 静态内容服务

    • Nginx在提供静态内容(如图片、CSS、JavaScript文件)时非常高效,能够快速地响应客户端请求。
  6. 反向代理缓存

    • Nginx可以作为反向代理服务器,缓存静态内容或动态内容,减轻后端服务器的压力,提高网站性能。
  7. SSL/TLS终结

    • Nginx支持SSL/TLS终结,能够对加密流量进行解密和加密,提供安全的通信通道。
  8. 灵活的配置

    • Nginx的配置文件简洁明了,支持灵活的配置选项,允许管理员根据需求进行定制化配置。
  9. 高可靠性

    • Nginx经过长时间的实际应用验证,稳定性和可靠性较高,适用于关键业务系统的部署。

安装nginx

1.yum 安装

  yum安装前 需要先安装epel额外源,官方源内没有nginx

  yum install epel-release.noarch -y

 额外源安装好后,在安装nginx

 yum install nginx -y

 yum 安装的nginx的配置文件在/etc/nginx/nginx.conf 默认根目录在 /usr/share/nginx/html 默认日志文件在/var/log/nginx/下

2.编译安装        

可以官网复制下载链接,在linux中使用 wget下载,或者在浏览器上下载后,直接拖进xshell中也是可以的。

www.nginx.org  免费社区,内有nginx各版本压缩包,也有nginx有关配置详解

这里我们下载1.18.0版本,右击复制链接,在linux中下载,

安装依赖包

yum -y install gcc pcre-devel openssl-devel zlib-devel openssl  openssl-devel

新建nginx用户便于管理

useradd -M -s /sbin/nologin nginx

tar xf 解压

cd 进入

./configure 进行编译安装,后面加上需要的模块

./configure --help  可以查看模块帮助

./configure --prefix=/apps/nginx \     
--user=nginx \                                         
--group=nginx \                    
--with-http_ssl_module \            
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module

make && make install   执行该命令

修改权限

chown -R nginx.nginx /apps/nginx

编译安装完成 切换到/apps/nginx查看

  1. conf:保存nginx所有的配置文件,其中nginx.conf是nginx服务器的最核心最主要的配置文件,其他的.conf则是用来配置nginx相关的功能的,例如fastcgi功能使用的是fastcgi.conf和fastcgi_params两个文件,配置文件一般都有个样板配置文件,是文件名.default结尾,使用的使用将其复制为并将default去掉即可。

  2. html目录中保存了nginx服务器的web文件,但是可以更改为其他目录保存web文件,另外还有一个50x的web文件是默认的错误页面提示页面。

  3. logs:用来保存nginx服务器的访问日志错误日志等日志,logs目录可以放在其他路径,比如/var/logs/nginx里面。

  4. sbin:保存nginx二进制启动脚本,可以接受不同的参数以实现不同的功能。

启动nginx

这时候已经可以启动nginx了,使用绝对路径可以启动, /apps/nginx/sbin/nginx , 但这样太过于麻烦,这未免可以做软连接, ln -s /apps/nginx/sbin/nginx /usr/sbin  这样可以直接 使用 nginx 启动  停止则使用 killall nginx

我们可以创建自启动文件,使用system启动

创建文件

vim /usr/lib/systemd/system/nginx.service

写入配置文件

[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/apps/nginx/logs/nginx.pid
#注意文件位置,如果不对 启动不了
ExecStart=/apps/nginx/sbin/nginx -c /apps/nginx/conf/nginx.conf
#注意启动文件位置
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
LimitNOFILE=100000

[Install]
WantedBy=multi-user.target

:wq 保存退出

systemctl daemon-reload 
重新加载配置

systemctl enable --now nginx
开机自启并立即启动    如果卡主是应为logs下有 nginx.pid  文件  删除即可

systemctl start nginx 启动nginx

nginx 常用选项   

nginx -t 检查语法  

nginx -v  查看版本

nginx -V 查看版本(更详细,可以看到所安装的模块)

nginx -s reload 不关闭nginx 重新读取配置文件

nginx -s reopen 重新生成日志

nginx -s stop 立即停止nginx

nginx -s quit  优雅退出, 不影响业务的情况下

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

阿里云服务器购买_价格_费用_云服务器ECS——阿里云

2024年最新阿里云服务器租用费用优惠价格表,轻量2核2G3M带宽轻量服务器一年61元,折合5元1个月,新老用户同享99元一年服务器,2核4G5M服务器ECS优惠价199元一年,2核4G4M轻量服务器165元一年,2核4G服务器30元3…

基于springboot实现线上阅读系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现线上阅读系统演示 摘要 随着社会发展速度的愈来愈快,以及社会压力变化的越来越快速,致使很多人采取各种不同的方法进行解压。大多数人的稀释压力的方法,是捧一本书籍,心情地让自己沉浸在情节里面,以…

变分自编码器VAE

文章目录 一、机器学习分类二、AE与VAE 一、机器学习分类 机器学习分为:有监督学习、无监督学习、半监督学习、自监督学习、强化学习、迁移学习。 1.有监督学习: ①解释:算法从标注的训练数据中学习,其中每个样本都有相应的输出…

git之多人协作

一.多⼈协作⼀ 目标:在同一个分支上完成多人协作 任务:在linux和windows两个用户下分别在远程仓库(非master分支)中添加“linux submit”和“windows submit” 现在我们在远程仓库dev分支下filetxt文件情况: 我们先…

https://htmlunit.sourceforge.io/

https://htmlunit.sourceforge.io/ 爬虫 HtmlUnit – Welcome to HtmlUnit HtmlUnit 3.11.0 API https://mvnrepository.com/artifact/net.sourceforge.htmlunit/htmlunit/2.70.0 https://s01.oss.sonatype.org/service/local/repositories/releases/content/org/htmlunit…

JavaScript的书写方式

JavaScript的书写方式 目前较为流行的是第二种和第三种,第一种很少见。在第二种和第三种推荐使用第三种,因为在日常开发/工作中,第三种是最为常见的 1.行内式 把JS代码嵌入到html元素内部 示例代码 运行效果 由于JS中字符串常量可以使用单引…

C++:模版初阶 | STL简介

创作不易,感谢支持!! 一、泛型编程思想 如何实现一个通用的交换函数呢? 注:其实swap函数在C的标准库提供了,不需要自己写,这边只是举个例子 void Swap(int& left, int& right) { in…

RunnerGo UI自动化测试脚本如何配置

RunnerGo提供从API管理到API性能再到可视化的API自动化、UI自动化测试功能模块,覆盖了整个产品测试周期。 RunnerGo UI自动化基于Selenium浏览器自动化方案构建,内嵌高度可复用的测试脚本,测试团队无需复杂的代码编写即可开展低代码的自动化…

刷题第2天(中等题):LeetCode59--螺旋矩阵--考察模拟能力(边界条件处理)

LeetCode59: 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1: 输入:n 3 输出:[[1,2,3],[8,9,4],[7,6,5]]示例 2: 输入&#xff1a…

网格划分中将部分网格投影到其它部件上的方法

1、将网格投影到目标面上: 2、将一个部件边界上单元的点映射到另一个部件上

力扣5. 最长回文子串(双指针、动态规划)

Problem: 5. 最长回文子串 文章目录 题目描述思路复杂度Code 题目描述 思路 思路1:双指针 1.我们利用双指针从中间向两边扩散来判断是否为回文串,则关键是找到以s[i]为中心的回文串; 2.我们编写一个函数string palindrome(string &s, in…

Python中的os库

一.OS库简介 OS是Operating System的简写,即操作系统。 OS库是一个操作系统接口模块,提供一些方便使用操作系统相关功能的函数。 二.OS库常用函数 2.1文件和目录 2.1.1:os.getcwd() 作用:返回当前工作目录,结果是…

前端常用6种数据加密方式的使用(最详解)

目录 前言 一、6种常用加密方案 1.Base64加密 2.MD5加密(不可逆) 3.sha256加密 4.sha1加密(相比于MD5 安全性高,但是 速度慢) 5.AES加密 6.字符串的编码和解码 二、结语 往期回顾 前言 相信大家在工作或面试…

windbg调试.net程序知识快速参考

最近因团队下一个开发工程师的WPF应用存在偶尔卡顿的现象,重新温习了下windbg的知识,此次记录备忘下,以下是整理的思维导图,有点乱,哈哈。 FAQ 运行!address -summary时,提示错误 ntdll.dll not found 查过…

雾锁王国Enshrouded服务器CPU内存配置怎么选择?

雾锁王国/Enshrouded服务器CPU内存配置如何选择?阿里云服务器网aliyunfuwuqi.com建议选择8核32G配置,支持4人玩家畅玩,自带10M公网带宽,1个月90元,3个月271元,幻兽帕鲁服务器申请页面 https://t.aliyun.com…

LightDB24.1 lt_package系统表字段 pkgboby一行长度限制为8160

背景 oracle plsql支持创建package和package boby,且支持的长度超过postgres所限定的8192个字节的长度(实际上postgres出去元组头部分所占的空间,长度肯定是小于8192字节的)。目前遇到的情况就是oracle环境下包的长度远远大于Li…

打卡今天内存管理

首先我们的体系结构是这样的,根据小林coding 来写的笔记 寄存器,速度非常快, 32位的可以存4个字节,64位的可以存8个字节 多少位只是在32位以上 地址空间 分为两种地址空间 : 物理,逻辑 地址空间 地址空间…

选择排序,冒泡排序,插入排序,快速排序及其优化

目录 1 选择排序 1.1 原理 1.2 具体步骤 1.3 代码实现 1.4 优化 2 冒泡排序 2.1 原理 2.2 具体步骤 2.3 代码实现 2.4 优化 3 插入排序 3.1 原理 3.2 具体步骤 3.3 代码实现 3.4 优化 4. 快速排序 4.1 原理 4.2 具体步骤 4.3 代码实现 4.4 优化 为了讲…

源码和包管理器安装U-Boot tools

源码和包管理器安装U-Boot tools U-Boot(Universal Bootloader)是一个开源的嵌入式系统引导加载程序,用于引导嵌入式系统,如单板计算机、嵌入式开发板等。U-Boot 提供了一种灵活的引导解决方案,支持多种处理器架构和嵌…

使用pyannote-audio实现声纹分割聚类

使用pyannote-audio实现声纹分割聚类 1 简单介绍 pyannote.audio是用Python编写的用于声纹分割聚类的开源工具包。在PyTorch机器学习基础上,不仅可以借助性能优越的预训练模型和管道实现声纹分割聚类,还可以进一步微调模型。 它的主要功能有以下几个&…