服装网站建设环境分析/seo方案怎么做
系列文章目录
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
Nginx_入门
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 系列文章目录
- 前言
- 一、Nginx概述
- 二、Nginx的应用场景
- 三、安装Nginx
- 环境准备
- 安装依赖库
- 下载/安装Nginx
- 普通安装Nginx
- Docker安装Nginx
- 部署命令
- 四、目录介绍
- conf目录
- html目录
- logs目录
- sbin目录
- 五、Nginx启停服务
- 启动
- 停止服务
- 重启
- 总结
前言
提示:这里可以添加本文要记录的大概内容:
欢迎来到 Nginx 的世界!Nginx 是一款强大的 Web 服务器和反向代理服务器,被广泛应用于互联网上的众多网站和应用程序。
在这个博客中,我将带领你踏上学习 Nginx 的旅程,从入门开始,逐步深入了解这个令人惊叹的工具。
无论你是一个开发者、系统管理员,还是对 Web 服务器有兴趣的技术爱好者,Nginx 都能为你提供强大的功能和灵活性。通过学习 Nginx,你将能够更好地理解如何构建高性能、可靠的 Web 应用程序。
在接下来的博客文章中,我将为你介绍 Nginx 的基本概念、安装和配置方法,以及如何优化 Nginx 以获得更好的性能。
我希望这个博客能够成为你学习 Nginx 的起点,并为你提供有用的资源和实践经验。让我们一起探索 Nginx 的世界,释放其强大的潜力!如果你有任何问题或建议,请随时留言评论。现在,就让我们开始这段精彩的 Nginx 学习之旅吧!
提示:以下是本篇文章正文内容,下面案例可供参考
一、Nginx概述
Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。Nginx 专为性能优化而开发,使用异步非阻塞事件驱动模型。
说了这么多,大家可能还是有点迷糊。举个例子,Nginx 服务器就像是一个交通指挥员,它负责接收和处理来自客户端(比如你的浏览器)的请求,并将这些请求转发给相应的服务器(比如网站的后端服务器)。
当你在浏览器中输入一个网址时,Nginx 服务器会接收到这个请求,并根据预设的规则,将其转发给合适的服务器。它可以根据请求的类型、URL、服务器的负载等因素来决定将请求发送到哪个服务器。
二、Nginx的应用场景
- HTTP服务器:Nginx本身也是一个静态资源的服务器,当只有静态资源的时候,就可以使用Nginx来做服务器,如果一个网站只是静态页面的话,那么就可以通过这种方式来实现部署。
- 反向代理:反向代理应该是Nginx使用最多的功能了,反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
- 负载均衡:Nginx 支持多种负载均衡策略,如轮询、加权轮询、IP 哈希等,可以将请求均匀地分配给多个后端服务器,提高系统的并发处理能力。
- 动静分离:动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路。
三、安装Nginx
环境准备
- 确认网络可用
- 确定yum可用
- 确定关闭防火墙
- 确认关闭SELinux
安装依赖库
yum -y install gcc make automake pcre-devel zlib zlib-devel openssl openssl-devel
- gcc:编译依赖gcc环境
- pcre:PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 Perl 兼容的正则表达式库。
- zlib:zlib库提供了很多种压缩和解压缩的方式,Nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
- Openssl:OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
下载/安装Nginx
普通安装Nginx
1.官网下载Nginx安装包,并上传到虚拟机,点击下载。
2.创建存放源文件的文件夹
首先在目录/opt下创建apps目录,用于存放源文件以及解压后的文件
3.上传Nginx到步骤1创建的目录下
4.解压 Nginx
[root@node1 apps]# pwd
/opt/apps
[root@node1 apps]# ls
Nginx-1.20.1.tar.gz
[root@node1 apps]# tar -zxvf Nginx-1.20.1.tar.gz
[root@node1 apps]# cd Nginx-1.20.1
5.进入到 Nginx 解压包目录/opt/apps/Nginx-1.20.1 目录中,查看 Nginx 的目录。各目录作用如下:
- auto:存放 Nginx 自动安装的相关文件
- conf:存放 Nginx 服务器配置文件
- configure:命令,用于对即将安装的软件的配置,完成 makefile 编译文件的生成
- contrib:存放由其他机构贡献的文档材料
- html:存放 Nginx 欢迎页面
- man:manual,手册,存放 Nginx 帮助文档
- src:存放 Nginx 源码
6.使用 configure 命令可以生成makefile文件。
[root@node1 Nginx-1.20.1]# mkdir -p /var/temp/nginx/client
[root@node1 Nginx-1.20.1]# pwd
/opt/apps/nginx-1.20.1
[root@node1 Nginx-1.20.1]# ./configure \
--prefix=/usr/local/nginx \
--pid-path=/usr/local/nginx/logs/nginx.pid \
--error-log-path=/usr/local/nginx/logs/error.log \
--http-log-path=/usr/local/nginx/logs/access.log \
--with-http_ssl_module \
--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
安装编译参数如下:
编译选项 | 作用 |
---|---|
-prefix=/etc/Nginx | 主目录 |
–sbin-path=/usr/sbin/Nginx | 执行命令 |
–modules-path=/usr/lib64/Nginx/modules | Nginx模块 |
–conf-path=/etc/Nginx/Nginx.conf | Nginx配置文件 |
–error-log-path=/var/log/Nginx/error.log | 错误日志 |
–http-log-path=/var/log/Nginx/access.log | 访问日志 |
–pid-path=/var/run/Nginx.pid | Nginx启动的pid |
–lock-path=/var/run/Nginx.lock | Nginx的锁 |
–http-client-body-temp-path=/var/cache/Nginx/client_temp | 执行对应模块时,Nginx锁保留的临时性文件 |
–http-proxy-temp-path=/var/cache/Nginx/proxy_temp | 指定作为代理服务器时,服务器响应报文的临时存放路径 |
–http-fastcgi-temp-path=/var/cache/Nginx/fastcgi_temp | 指定了在运行 FastCGI 时临时文件的存储路径 |
–http-uwsgi-temp-path=/var/cache/Nginx/uwsgi_temp | 指定了在运行 UWSGI(Unicorn Web Server Gateway Interface)时临时文件的存储路径 |
–http-scgi-temp-path=/var/cache/Nginx/scgi_temp | |
–user=Nginx | 设定Nginx进程启动的用户 |
–group=Nginx | 设定Nginx进程启动的用户组 |
–with-cc-opt=parameters | 设置额外的参数将被添加到CFLAGS变量 |
–with-ld-opt=parameters | 设置附加的参数,连接系统库 |
7.编译安装
make && make install
Docker安装Nginx
1.拉取官方的Nginx镜像
[root@localhost ~]# docker pull nginx
2.使用 Nginx 默认的配置来启动一个 Nginx 容器实例
[root@localhost ~]# docker run --rm --name nginx-test -p 8080:80 -d nginx
参数的含义如下: --rm:容器终止运行后,自动删除容器文件。 --name nginx-test:容器的名字叫做Nginx-test,名字自己定义. -p: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口 -d:容器启动后,在后台运行
3.创建本地目录,用于存放Nginx的相关文件信息
mkdir -p /opt/nginx/www /opt/nginx/conf
4.拷贝容器内 Nginx 默认配置文件到本地当前目录下的 conf 目录,容器ID可以查看 docker ps 命令输入中的第一列
docker cp 358354f206fd:/etc/nginx/nginx.conf /home/nginx/conf/
部署命令
使用该命令就不需要再映射本地目录到Nginx容器
docker run --rm -d -p 8081:80 --name nginx-test-web \-v /opt/nginx/www:/usr/share/nginx/html \-v /opt/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \nginx
参数说明:
- –rm:容器终止运行后,自动删除容器文件。
- -p 8081:80: 将容器的 80 端口映射到主机的 8082 端口.
- –name nginx-test-web:将容器命名为 Nginx-test-web
- -v /home/Nginx/www:/usr/share/Nginx/html:将我们自己创建的 www 目录挂载到容器的 /usr/share/Nginx/html。
- -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:将我们自己创建的 nginx.conf 挂载到容器的 /etc/nginx/nginx.conf。
四、目录介绍
conf目录
Nginx所有配置文件的目录,极其重要。在该目录中包含一个Nginx.conf配置文件。
html目录
Nginx的默认站点目录。
logs目录
存放Nginx的日志文件
sbin目录
Nginx命令的目录,如Nginx的启动命令。
五、Nginx启停服务
启动
./Nginx -h
参数说明:
- -v : 打印版本号
- -V : 打印版本号和配置
- -t:测试配置正确性并退出
- -q:测试配置时只显示错误
- -s:向主进程发送信号
- -p:指定Nginx服务器路径前缀
- -c: 指定Nginx配置文件路径
- -g: 指定Nginx附加配置文件路径
停止服务
快速停止,快速停止是指立即停止当前Nginx服务正在处理的所有网络请求,马上丢弃连接,停止工作。
Nginx -s stop # 快速关闭
平缓停止,平缓停止是指允许Nginx服务将当前正在处理的网络请求处理完成,但不再接收新的请求,之后关闭连接,停止工作。
Nginx -s quit # 等待工作进程处理完成后关闭
重启
更改Nginx服务器的配置和加入新模块后,如果希望当前的Nginx服务应用新的配置或使新模块生效,就需要重启Nginx服务。当然我们可以先关闭Nginx服务,然后使用新的Nginx配置文件重启服务。
Nginx -s reload # 向主进程发送信号,重新加载配置文件,热重启
Nginx -s reopen # 重启 Nginx
总结
提示:这里对文章进行总结:
希望这篇博客对你了解 Nginx 有所帮助!如果你有任何问题或想要进一步讨论,欢迎在评论中留言。
相关文章:

Nginx_入门
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 Nginx_入门 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、Nginx概述二、Nginx的应用…...

坚持刷题 | 平衡二叉树
文章目录 题目考察点代码实现实现总结对实现进一步改进扩展提问 坚持刷题,老年痴呆追不上我,今天继续二叉树:平衡二叉树 题目 110.平衡二叉树 考察点 递归能力: 能否使用递归来解决问题。树的基本操作:能否正确地访…...

江大白 | 万字长文图解Numpy教程,看这一篇就够了!
本文来源公众号“江大白”,仅用于学术分享,侵权删,干货满满,有超级详细的图解。 原文链接:万字长文图解Numpy教程,看这一篇就够了! (qq.com) 以下文章来源于博客:Medium 作者&…...

数据结构——静态链表
1.定义: (1)单链表:各个结点散落在内存中的各个角落,每个结点有指向下一个节点的指针(下一个结点在内存 中的地址); (2)静态链表:用数组的方式来描述线性表的链式存储结构: 分配一…...

C++ 知识列表【图】
举例C的设计模式和智能指针 当谈到 C 的设计模式时,以下是一些常见的设计模式: 工厂模式(Factory Pattern):用于创建对象的模式,隐藏了对象的具体实现细节,只暴露一个公共接口来创建对象。 单例…...

系统登录的时候的密码如何做到以加密的形式进行登录【java.security包下的api】工具类。
/** description: 将普通的publicKey转化得到一个RSAPublicKey* author: zkw* date: 2024/1/24 16:17* param: publicKey 普通的publicKey* return: RSAPublicKey 得到一个新的RSAPublicKey**/public static RSAPublicKey getPublicKey(String publicKey) throws NoSuchAlgorit…...

java基础学习: 什么是泛型的类型擦除
文章目录 一、什么是泛型2、泛型编译前和编译后对比3、泛型的优点(1)提高了代码的复用性和可读性(2)提高了代码的安全性 二、泛型的定义1、泛型类2、泛型接口3、泛型方法 三、泛型通配符1、?和T有什么区别2、通配符的分…...

Vue+OpenLayers7入门到实战:在地图上添加缩放控件、比例尺控件和鼠标经纬度位置显示控件
返回《Vue+OpenLayers7》专栏目录:Vue+OpenLayers7 前言 本章主要介绍如何使用OpenLayers7在地图上添加地图缩放控件,比例尺显示控件和鼠标经纬度位置展示控件这三个Control控件。 二、依赖和使用 "ol": "7.5.2"使用npm安装依赖npm install ol@7.5.…...

极简生活|可以慢慢变富的8个习惯
哈喽,大家好啊,我是雷工! 巴菲特巴老爷子曾经多次指出: 大多数投资者的问题就在于不愿意慢慢变富。 可是大多数人都急于一夜暴富,于是乎那么多的追涨杀跌,不断上演,越急功近利反而越损失惨重。 …...

MySQL基础(一)
学习数据库的目的: 实现数据持久化到本地。使用完整的管理系统统一管理,可以实现结构化查询,方便管理。 一、数据库概述 数据库(DataBase) 为了方便数据的存储和管理,它将数据按照特定的 规则存储在磁盘…...

【Linux编译器-gcc/g++使用】
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 设计样例,先见一下 方案一: 方案二: 在企业里面一般维护软件的源代码的话,要维护几份? 方案一&…...

SQL提示与索引终章
✨博客主页:小小恶斯法克的博客 🎈该系列文章专栏:重拾MySQL-进阶篇 📜 感谢大家的关注! ❤️ 可以关注黑马IT,进行学习 目录 🚀SQL提示 🚀覆盖索引 🚀前缀索引 &…...

基于OpenSSL的SSL/TLS加密套件全解析
概述 SSL/TLS握手时,客户端与服务端协商加密套件是很重要的一个步骤,协商出加密套件后才能继续完成后续的握手和加密通信。而现在SSL/TLS协议通信的实现,基本都是通过OpenSSL开源库,本文章就主要介绍下加密套件的含义以及如何在O…...

01-echarts如何绘制三维折线图
echarts如何绘制三维折线图 一、相关依赖包1、下载依赖2、引入依赖 二、创建图表盒子1、创建盒子2、定义数据3、编写方法1、初始化盒子2、设置配置项3、修改数据格式4、设置颜色数组4、设置name数组5、设置线三维和点三维6、添加配置项7、设置图表自适应 4、调用方法 三、整体代…...

Linux-共享内存
文章目录 前言一、system V共享内存申请共享内存挂载共享内存删除共享内存挂载删除共享内存 二、示例代码三.运行效果 前言 在这之前我们已经学习了两种进程间通信方式:匿名管道和命名管道。 从我们之前的学习已经知道,想让多个进程间进行通信就需要让他…...

深入分析 Linux 网络丢包问题
热门IT课程【视频教程】-华为/思科/红帽/oraclehttps://xmws-it.blog.csdn.net/article/details/134398330 所谓丢包,是指在网络数据的收发过程中,由于种种原因,数据包还没传输到应用程序中,就被丢弃了。这些被丢弃包的数量&#…...

web安全学习笔记【08】——算法1
思维导图在最后 #知识点: 1、Web常规-系统&中间件&数据库&源码等 2、Web其他-前后端&软件&Docker&分配站等 3、Web拓展-CDN&WAF&OSS&反向&负载均衡等 ----------------------------------- 1、APP架构-封装&原生态&…...

2024最新版Python 3.12.1安装使用指南
2024最新版Python 3.12.1安装使用指南 Installation and Configuration Guide to the latest version Python 3.12.1 in 2024 By Jackson Python编程语言,已经成为全球最受欢迎的编程语言之一;它简单易学易用,以标准库和功能强大且广泛外挂…...

Oracle 经典练习题 50 题
文章目录 一 CreateTable二 练习题1 查询"01"课程比"02"课程成绩高的学生的信息及课程分数2 查询"01"课程比"02"课程成绩低的学生的信息及课程分数3 查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩4 查询平均成绩小于…...

PyTorch的衍生资源
PyTorch作为深度学习领域的一个重要框架,自2016年首次发布以来经历了显著的发展。以下是PyTorch发展过程中的几个关键里程碑事件: 2016年: PyTorch于2016年首次发布,作为一个基于动态计算图的开源机器学习库,它提供了自…...

开源项目Git Commit规范与ChangeLog
一,conventional commit(约定式提交) Conventional Commits 是一种用于给提交信息增加人机可读含义的规范。它提供了一组用于创建清晰的提交历史的简单规则。 1.1 作用 自动化生成 CHANGELOG基于提交类型,自动决定语义化的版本变更向项目相关合作开发…...

【原理图PCB专题】OrCAD Capture CIS关闭开始界面
17.4版本 在打开OrCAD Capture CIS时会发现打开Start Page页面,那么如何将他关闭再也不看这个界面呢? 在窗口中输入SetOptionBool EnableStartPage 0 回车 重启软件后就再也不会弹出Start Page页面 如果没有发现Command Window那么将菜单栏view->C…...

【Linux】Ubuntu的gnome切换KDE Plasma
文章目录 安装KDE Plasma桌面环境添加软件源并更新apt安装kubuntu-desktop(作者没有成功)aptitude安装kubuntu-desktop多次aptitude install(特别重要特别重要)其他kde软件包 卸载gnome桌面 Ubuntu自带的桌面环境是gnomeÿ…...

Docker(九)Docker Buildx
作者主页: 正函数的个人主页 文章收录专栏: Docker 欢迎大家点赞 👍 收藏 ⭐ 加关注哦! Docker Buildx Docker Buildx 是一个 docker CLI 插件,其扩展了 docker 命令,支持 [Moby BuildKit] 提供的功能。提…...

Flink问题解决及性能调优-【Flink不同并行度引起sink2es报错问题】
最近需求,仅想提高sink2es的qps,所以仅调节了sink2es的并行度,但在调节不同算子并行度时遇到一些问题,找出问题的根本原因解决问题,并分析整理。 实例代码 --SET table.exec.state.ttl86400s; --24 hour,默认: 0 ms …...

瑞_数据结构与算法_二叉搜索树
文章目录 1 什么是二叉搜索树1.1 二叉搜索树的特征1.2 前驱后继 2 二叉搜索树的Java实现2.1 定义二叉搜索树节点类BSTNode泛型key改进 2.2 实现查找方法get(int key)递归实现非递归实现 ★非递归实现 泛型key版本 2.3 实现查找最小方法min()递归实现非递归实现 ★ 2.4 实现查找…...

Linux 命令行访问名字中包含空格的文件或文件夹
Linux 命令行访问名字中包含空格的文件或文件夹 References 在 Windows 下命名文件或文件夹名有空格是可以的,甚至在 Windows 和 Ubuntu 虚拟机共享的文件中也可以这么做,但是在 Ubuntu 中空格要用下划线代替,养成好习惯。Linux 会把空格当成…...

Dart/Flutter工具模块:the_utils
Flutter笔记 Dart/Flutter工具模块:the_utils 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/detail…...

矩阵号:日入100+,八大提示词(Prompt)使用技巧
最近在搞头条矩阵,发现自己的指令写的太烂了,一个指令将会决定你的写作质量。 收益比较拉垮,50个号收益好的,也就这么几个号。 于是我扒了一些提示词的操作技巧,分享一下自己的学习心得。 先说理论知识,实…...

爬虫工作量由小到大的思维转变---<第三十九章 Scrapy-redis 常用的那个RetryMiddleware>
前言: 为什么要讲这个RetryMiddleware呢?因为他很重要~ 至少在你装配代理ip或者一切关于重试的时候需要用到!----最关键的是:大部分的教学视频里面,没有提及这个!!!! 正文: 源代码分析 这个RetryMiddleware是来自: from scrapy.downloadermiddlewares.retry import Retry…...