LNMP (Nginx网站服务)

news2024/11/29 7:46:13

目录

 1.1 Nginx的简介

1.2  Apache与Nginx的区别

 Nginx对比Apache的优势:

1.3  Nginx的进程 

Nginx的两个进程:

 同步,异步,阻塞,非阻塞的概念补充

阻塞与非阻塞

同步和异步

2.1 编译安装Nginx

2.1 .1 关闭防火墙,将安装nginx所需软件包传到/opt目录下

2.2 安装依赖包

2.3 创建运行用户与组

2.4 编译安装Nginx

2.5 检查、启动、重启、停止 nginx服务

2.7新版本升级:

2.7 添加 Nginx 系统服务


 1.1 Nginx的简介

Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新。

对HTTP并发连接的处理能力高,单台物理服务器可支持30000~50000个并发请求。(实际操作,很多公司为了服务器的稳定,都会设置在20000个左右

Nginx的主要使用场景: 虚拟主机,反向代理,缓存,http

Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适用于多处理器环境,因此,在一个apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。

1.2  Apache与Nginx的区别

 Nginx对比Apache的优势:

  • 轻量级,nginx比apache 占用更少的内存及资源;
  • 静态处理,Nginx 静态处理性能比 Apache 高 ;
  • Nginx可以实现无缓存的反向代理加速,提高网站运行速度;
  • Nginx的性能和可伸缩性不依赖于硬件,Apache依赖于硬件;
  • Nginx支持热部署,启动速度迅速,可以在不间断服务的情况下,对软件版本或者配置进行升级;
  • nginx是异步进程,多个连接可以对应一个进程 ;apache是同步多进程,一个连接对应一个进程;
  • Nginx高度模块化,编写模块相对简单,且组件比Apache少
  • 高并发下nginx 能保持低资源低消耗高性能;
  • Nginx 配置简洁, Apache配置复杂

apache相对于nginx的优点 : 

  • Rewrite比nginx的rewrite强大 (rewrite的主要功能就是实现统一资源定位符URL的跳转)
  • 模块多,基本想到的都可以找到
  • 少bug, nginx的bug相对较多
  • 超稳定
  • Nginx处理动态请求是弱项,动态请求要Apache去做。

1.3  Nginx的进程 

Apache和Nginx的默认端口都是80,当你发先Nginx启动失败,导致的原因可能就是80端口被占用,而导致服务启动失败,可以修改服务的端口,从而实现两个服务的同时进行。

Nginx的两个进程:

master process:主进程(守护进程),用来管理工作进程。

worker process:工作进程,用来处理用户的请求。

 


 


 同步,异步,阻塞,非阻塞的概念补充

阻塞与非阻塞


阻塞:阻塞调用是指调用结果返回之前,当前线程会被挂起,一直处于等待消息通知,不能够执行其他业务,函数只有在得到结果之后才会返回。


非阻塞:非阻塞和阻塞的概念相对应,指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。

同步和异步


同步:一个服务的完成需要依赖其他服务时,只有等待被依赖的服务完成后,才算完成,这是一种可靠的服务序列。要么成功都成功,失败都失败,服务的状态可以保持一致


异步:一个服务的完成需要依赖其他服务时,只通知其他依赖服务开始执行,而不需要等待被依赖的服务完成,此时该服务就算完成了。被依赖的服务是否最终完成无法确定,因此它是一个不可靠的服务序列。
 


2.1 编译安装Nginx

2.1 .1 关闭防火墙,将安装nginx所需软件包传到/opt目录下

  1. systemctl stop firewalld

  2. systemctl disable firewalld

  3. setenforce 0

安装

  1.  

2.2 安装依赖包

#nginx的配置及运行需要pcre、zlib等软件包的支持,因此需要安装这些软件的开发包,以便提供相应的库和头文件。
yum -y install pcre-devel zlib-devel gcc gcc-c++ make

2.3 创建运行用户与组

#创建运行用户、组(Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限)
useradd -M -s /sbin/nologin nginx

2.4 编译安装Nginx

  • cd /opt                                                ##切换到opt目录下进行操作
  • tar zxvf nginx-1.12.2.tar.gz -C /opt/
  • cd nginx-1.12.2/
  • ./configure \
  • --prefix=/usr/local/nginx \                    #指定nginx的安装路径
  • --user=nginx \                                #指定用户名
  • --group=nginx \                                #指定组名
  • --with-http_stub_status_module                #启用 http_stub_status_module 模块以支持状态统计操作  VTS
  • ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/        #让系统识别nginx的操作命令

2.5 检查、启动、重启、停止 nginx服务

  • nginx -t                                #检查配置文件是否配置正确
  • #启动 nginx

  • 扩展
  •                                     
  • #停止
  • cat /usr/local/nginx/logs/nginx.pid        #先查看nginx的PID号
  • kill -3 <PID号>
  • kill -s QUIT <PID号>
  • killall -3 nginx                                          ##等进程结束后再杀死进程
  • killall -s QUIT nginx
  • #重载
  • kill -1 <PID号>
  • kill -s HUP <PID号>
  • killall -1 nginx
  • killall -s HUP nginx
  • #日志分割,重新打开日志文件
  • kill -USR1 <PID号>
  • #平滑升级
  • kill -USR2 <PID号>

 

2.7新版本升级:

  • tar -zxvf nginx-1.22.0.tar.gz  1.22.0  
  • cd nginx-1.22.0
  • yum -y  install pcre-devel zlib zlib-devel openssl openssl-devel  ##装依赖包
  • ./configure \
  • --prefix=/usr/local/nginx \        
  • --user=nginx \                    
  • --group=nginx \                    
  • --with-http_stub_status_module \
  • --with-http_ssl_module
  • make   ##编译
  • mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_old   备份
  • cp objs/nginx /usr/local/nginx/sbin/nginx
  • 重启服务 并且
  • nginx -V   #查看版本
  • 扩展:
  • make upgrade               ##升级的第二种方法
  • #或者先 killall nginx ,再/usr/local/nginx/sbin/nginx

2.7 添加 Nginx 系统服务

方法一: service 系统管理

  • vim /etc/init.d/nginx
  • #!/bin/bash
  • #chkconfig: 35 99 20    // 这是固定格式,2345表示运行级别,之后为开机执行顺序和关机执行顺序
  • #description:Nginx Service Control Script    //这也是必须的 
  • COM="/usr/local/nginx/sbin/nginx" 
  • PID="/usr/local/nginx/logs/nginx.pid"
  • case "$1" in
  • start)
  •   $COM
  • ;;
  • stop)
  •   kill -s QUIT $(cat $PID)
  • ;;
  • restart)
  •   $0 stop
  •   $0 start
  • ;;
  • reload)
  •   kill -s HUP $(cat $PID)
  • ;;
  • *)
  • echo "Usage: $0 {start|stop|restart|reload}"
  • exit 1
  • esac
  • exit 0
  • chmod +x /etc/init.d/nginx
  • chkconfig --add nginx    #添加为系统服务
  • systemctl stop nginx   
  • systemctl start nginx

 

 

service   nginx   start|stop|restart|reload
 

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

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

相关文章

mysql索引优化系列(二)

一、limit优化 之前的member会员表&#xff0c;联合索引为KEY idx_name_age_address (name,age,address)&#xff0c;表里插入了十万条数据&#xff0c;一般情况下分页查询的sql语句&#xff1a; select * from member limit 90000,10; explain select * from member limit 9…

MapReduce分布式计算(二)

MapReduce工作流程 原始数据File 1T数据被切分成块存放在HDFS上&#xff0c;每一个块有128M大小 数据块Block hdfs上数据存储的一个单元,同一个文件中块的大小都是相同的 因为数据存储到HDFS上不可变&#xff0c;所以有可能块的数量和集群的计算能力不匹配 我们需要一个动态…

ASP.NET Core MVC 从入门到精通之日志管理

随着技术的发展&#xff0c;ASP.NET Core MVC也推出了好长时间&#xff0c;经过不断的版本更新迭代&#xff0c;已经越来越完善&#xff0c;本系列文章主要讲解ASP.NET Core MVC开发B/S系统过程中所涉及到的相关内容&#xff0c;适用于初学者&#xff0c;在校毕业生&#xff0c…

向内核模块中添加新功能

一、向内核添加新功能 1.1 静态加载法&#xff1a; 即新功能源码与内核其它代码一起编译进uImage文件内 新功能源码与Linux内核源码在同一目录结构下 给新功能代码配置Kconfig #进入要添加的新功能的同级目录&#xff0c;这里用添加一个名为MY_HELLO的驱动做演示#cd到linux源…

C++基础(2)——函数高级

前言 本文主要介绍了C中函数高级相关的内容 3.1&#xff1a;函数默认参数 在函数定义的时候可以给形参赋初值&#xff0c;如果函数在调用的时候有传入参数&#xff0c;就使用传入的参数&#xff0c;如果没有就用默认的。 注意事项 1&#xff1a;如果某个参数有了默认值&…

Ubuntu下载速度过慢解决

今天用Ubuntu下载Roberta文件到本地&#xff0c;速度特别慢&#xff0c;Ubuntu 系统自带的源文件&#xff0c;都是国外的源网址&#xff0c;在国内下载安装升级源或者依赖的时候&#xff0c;都比较慢&#xff0c;更换国内的源地址&#xff0c;轻松搞定此问题。 目录 一、备份…

fecth

reducx巩固知识的传送门 1.向服务器发送数据请求的方案: 第一类:XMLHttpRequest 1.ajax:自己编写请求的逻辑和步骤 2.axios:第三方库&#xff0c;对XMLHttpRequest进行封装「基于promise进行封装」 第二类: fetchES6内置的API&#xff0c;本身即使基于promise&#xff0c;用全…

一文了解NAS协议原理

一文了解NAS协议原理 一、介绍二、NAS协议结构三、NAS协议工作原理四、NAS协议的安全机制4.1、NAS协议的认证过程4.2、NAS协议的加密过程 五、总结 一、介绍 NAS协议&#xff08;Network Attached Storage Protocol&#xff09;是一种用于网络附加存储设备&#xff08;NAS&…

学习HCIP的day.16

目录 扩展知识点 一、端口镜像 SPAN 二、DHCP 三、DHCP snooping 四、端口安全 五、SSH 六、端口隔离 扩展知识点 一、端口镜像 SPAN [r1]observe-port interface GigabitEthernet 0/0/2 监控接口[r1]interface GigabitEthernet 0/0/0[r1-GigabitEthernet0/…

浅谈单元测试的那些事

Part 01 什么是单元测试 单元测试是一种软件测试方法&#xff0c;用于测试软件系统的最小可测试单元&#xff0c;例如函数、方法或类的行为。单元测试通常由开发人员编写&#xff0c;并在编写代码时就开始执行。这样可以保证实时检测代码中的错误、缺陷和潜在的问题&#xff0…

打包Java程序为.exe文件

文章目录 将Java程序打包成Jar包打包为.exe文件效果展示文件检索联系作者 ​&#x1f451;作者主页&#xff1a;Java冰激凌 接上篇 我们还未介绍到如何打包为一个.exe文件 将Java程序打包成Jar包 1. file -> Project Structure 或者直接使用全局快捷键&#xff08;Ctrl Al…

Java调用ChatGPT实现可连续对话和流式输出

目录 1. 配置阶段1.1 依赖引入1.2 配置application.yml文件1.3 注解添加 2. 使用2.1 生成回答2.1.1 测试 2.2 生成图片2.2.1 测试 2.3 下载图片2.3.1 测试 2.4 生成流式回答2.4.1 流式回答输出到IDEA控制台2.4.2 流式回答输出到浏览器页面2.4.3 流式回答结合Vue输出到前端界面 …

Docker: 改变容器化世界的革命性技术

目录 1.1什么是虚拟化 1.2什么是Docker 1.3容器与虚拟机的比较 1.4Docker组建 2、Docker安装 2.2设置ustc的镜像 2.3Docker的启动与停止 3、docker常用命令 3.1镜像 3.2容器相关命令 1.1什么是虚拟化 在计算机中&#xff0c;虚拟化&#xff08;Vitualization&#x…

这可能是最全的Web测试各个测试点,有这一篇就够了

前言 什么是Web测试&#xff1f; Web测试测试Web或Web应用程序的潜在错误。它是在上线前对基于网络的应用程序进行完整的测试。 Web测试检查 功能测试 易用性测试 接口测试 性能测试 安全测试 兼容性测试 1、功能测试 测试网页中的所有链接、数据库连接、网页中用于提交或从…

结合具体代码理解yolov5-7.0锚框(anchor)生成机制

最近对yolov5-7.0的学习有所深入&#xff0c;感觉官方代码也比较易读&#xff0c;所以对网络结构的理解更进一步&#xff0c;其中对锚框生成这块没太看明白细节&#xff0c;也想弄明白这块&#xff0c;于是前前后后好好看了代码。现在把我的学习收获做一下记录。个人见解&#…

如何在大规模服务中迁移缓存

当您启动初始服务时&#xff0c;通常会过度设计以考虑大量流量。但是&#xff0c;当您的服务达到爆炸式增长阶段&#xff0c;或者如果您的服务请求和处理大量流量时&#xff0c;您将需要重新考虑您的架构以适应它。糟糕的系统设计导致难以扩展或无法满足处理大量流量的需求&…

第三章 decimal模块

1. decimal 模块介绍 decimal 模块是 Python 提供的用于进行十进制定点和浮点运算的内置模块。使用它可以快速正确地进行十进制定点和浮点数的舍入运算&#xff0c;并且可以控制有效数字的个数。 使用 decimal 模块主要是因为它与 Python 自带的浮点数相比&#xff0c;有以下…

关于Stream流和Lambda表达式,这些技巧你都知道吗?

&#x1f4a7; 关于 S t r e a m 流和 L a m b d a 表达式&#xff0c;这些技巧你都知道吗&#xff1f; \color{#FF1493}{关于Stream流和Lambda表达式&#xff0c;这些技巧你都知道吗&#xff1f;} 关于Stream流和Lambda表达式&#xff0c;这些技巧你都知道吗&#xff1f;&…

2014年全国硕士研究生入学统一考试管理类专业学位联考写作试题

2014年1月真题: 四、写作:第56~57小题&#xff0c;共65分。其中论证有效性分析30 分&#xff0c;论说文35分。 56.论证有效性分析: 分析下述论证中存在的缺陷和漏洞&#xff0c;选择若干要点&#xff0c;写一篇600字左右的文章&#xff0c;对该论证的有效性进行分析和评论。…

马克思第二章

1.实践和认识 实践决定认识&#xff0c;认识又反作用于实践 实践的特点&#xff1a; 1.直接现实性 2.自觉能动性 3.社会历史性 实践和认识的关系 1.实践是认识的来源 2.实践是认识的目的 3.实践是认识的发展动力 4.实践是检验认识真理的唯一标准 5.认识又反作用于实践&#xf…