物联网系统运维——移动电商服务器单点部署,web服务器部署,Nginx Web服务介绍,Nginx性能,部署,架构,及实验:安装并设置Nginx(重点)

news2025/1/16 13:58:46

一.web服务器介绍

Web服务器一般指网站服务器,是指驻留于因特网上提供某种特定类型计算机的程序,Web服务器可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览,可以放置数据文件,让全世界下载。目前最主流的三个Web服务器是Apache、Nginx、IIS。

 二.Nginx Web服务介绍


●模块化设计:良好的扩展性,可以通过模块方式进行功能扩展。

●高可靠性:主控进程和worker是同步实现的,一-个worker出现问题,会立刻启动另一个worker。

内存消耗低:一万个长连接(keep-alive) , 仅消耗2.5MB内存。

●支持热部署:不用停止服务器,实现更新配置文件,更换日志文件、更新服务器程序版本。

●并发能力强:官方数据每秒支持5万并发。

功能丰富:优秀的反向代理功能和灵活的负载均衡策略。
 

2.1 Nginx性能

Nginx并发能力强,官方测试支持5万并发连接,在实际生 产环境中能到2^ 3万并发连接数。10000个非活跃的HTTP keep- alive连接仅占用约2.5MB内存。3万并发连接下,10个Ng inx进程,消耗内存150MB。

2.2Nginx架构

1) Nginx的基本架构

●Master作用:启动worker,加载配置文件,负责系统的平滑升级。
●Worker作用:负责一些Web最简单的工作,其它工作由worker中调用的模块来实现。

2) Ng inx支持的Sendfile机制

nginx引入了sendfi le机制,使得内核在接受到数据,不再依靠用户 进程给予封装,而是自己查找自己封装,减少了很长- -段时间的浪费,这是一个提升性能的核心点。

2.3Nginx部署

1.环境准备

准备1台服务器或实验用虚拟机

2.软件准备

操作系统: CentOS 6. 5 Server 系统;
软件: nginx-1. 10.1. tar. gz。

3. Yum源的安装与介绍
4.编译安装Nginx

Nginx选择Nginx 1. 10. 1,在安装Nginx之前,确保系统已经安装了GCC、
OpenSSL -devel、OpenSSL、 PCRE- -deve |和z I ib-devel依赖包,可以通过Yum直接安装。

(1)安装依赖包
(2)安装与配置Nginx

5.启动并检查Nginx安装结果

(1) 先检查配置文件
(2)启动Nginx服 务
(3) Nginx检测或启动报错问题

6.部署一个Web站点

Nginx的默认站点目录位于其安装目录下的html目录,该目录可以在Nginx的 配置文件nginx. conf中查询到。

三 . 实验:安装并设置Nginx(重点)

根据以上学习的知识进行实验配置部署

1.安装依赖软件

(1)安装gcc

gcc是linux下的编译器,感兴趣的小伙伴可以去查一下相关资料,它可以编译 C,C++,Ada,Object C和Java等语言。

查看gcc版本

gcc -v

一般阿里云的centOS7里面是都有的,没有安装的话会提示命令找不到。

安装命令:

yum install -y gcc gcc-c++

 

1.pcre、pcre-devel安装

     pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库。

yum install -y pcre pcre-devel

2.zlib安装

zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装。

安装命令:

yum install -y zlib zlib-devel

3.安装openssl

openssl是web安全通信的基石,没有openssl,可以说我们的信息都是在裸奔。

yum install -y openssl openssl-devel

2.安装新的nginx

(1)上传nginx-1.14.0.tar.gz到/home/soft中

(2)解压nginx-1.14.0.tar.gz

cd /home/soft

tar -xvzf nginx-1.14.0.tar.gz

 

(3)执行配置的命令,设置nginx安装位置

cd nginx-1.14.0

./configure --prefix=/opt/nginx

 

(4)编译安装

make && make install

(5)启动测试

cd /opt/nginx/sbin

./nginx

(6)验证

浏览器输入 ip 正常打开欢迎页,完装完成

(7)常用命令

            查看nginx是否已启动:systemctl status nginx.service

查看进程列表并过滤:ps -ef | grep nginx

            直接查看进程id:ps -C nginx -o pid

使用netstat命令:netstat -anp | grep :80

3.配置反向代理

(1)上传nginx.conf到/opt/nginx/conf/中,并覆盖。

#查看一下IP是否正确

cat /opt/nginx/conf/nginx.conf

(2)重启

cd /opt/nginx/sbin

./nginx -s reload

(3)验证,再次输入ip,能看到tomcat的IP了,刷新几次,能看到IP是在变动的

4.nginx配置服务和开机自启

(1)上传nginx到/etc/init.d中

(2)把/etc/init.d/nginx变为可执行文件

chmod 775 /etc/init.d/nginx

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

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

相关文章

七种常见的前端攻击

随着网络应用程序在商业运作中的重要性日益增加,它们也成为了网络攻击的更具吸引力的目标。不幸的是,与后端和 DevOps 团队相比,许多前端开发人员在构建安全前端方面已经落后了。这种差距增加了破坏性数据泄露的风险。 最近的事件&#xff0…

Linux_软硬链接

目录 1、软链接 2、软链接的使用方式 3、软链接的删除 4、硬链接 5、硬链接的使用方式 6、软硬链接的使用场景 7、软硬链接的区别 结语 前言: 在Linux操作系统中,有软链接和硬链接,他们是一种特殊的文件引用,主要用于与…

AGV机器人的调度开发分析(1)- 内核中的路线规划

准备开始写一个系列,介绍下AGV机器人的调度的开发和应用。 按照openTCS的核心内容,国内多家广泛应用于AGV的调度。那么架构图如下: Kernel中有一个是Routing,这是路由规划模块,需要实现的细节功能包括如下&#xff1a…

理解什么是DSR,嗅探器视角下的IP和MAC地址识别(C/C++代码实现)

网络嗅探器是监控和分析网络流量的一种工具,它能够捕获数据包并提取出关键的信息,比如IP地址和MAC地址。 网络嗅探器工作原理基于网卡的工作模式。正常情况下,网卡只处理发送给它的数据包,忽略其他数据。但是,如果将网…

Java程序之简单“记事本”

要求:如下图所示,记事本具有新建、打开文本、保存、关闭等功能。 算法思路: 这是一个使用Java Swing库创建的简单文本编辑器。它包含一个菜单栏,其中包含“文件”菜单以及四个子菜单项:“新建”、“打开”、“保存”和…

机器学习课程复习——集成学习

1. 基本概念 1.1. 定义 通过构建并结合多个个体学习器来完成学习任务,获得比单一学习器显著优越的泛化性能。 1.2. 分类 名称个体学习器例子同质集成基学习器Boosting、Bagging异质集成组件学习器Stacking1.3. 研究的核心 个体学习器的“准确性”和“多样性”本身就存在冲…

二叉树经典OJ练习

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 二叉树经典OJ练习 收录于专栏【数据结构初阶】 本专栏旨在分享学习数据结构学习的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 前置说…

三、MyBatis实践:提高持久层数据处理效率

三、MyBatis实践:提高持久层数据处理效率 目录 一、Mybatis简介 1.1 简介1.2 持久层框架对比1.3 快速入门(基于Mybatis3方式) 二、MyBatis基本使用 2.1 向SQL语句传参 2.1.1 mybatis日志输出配置2.1.2 #{}形式2.1.3 ${}形式 2.2 数据输入 2…

cesium 包络线

cesium 包络线 以下为源码直接复制可用 1、实现思路 通过turf.js中union方法来计算包络线官方地址:https://turfjs.fenxianglu.cn/ 闪烁线请查看cesium轨迹线(闪烁轨迹线) 2、示例代码 <!DOCTYPE html> <html lang="en"&g

SpringBoot配置第三方专业缓存技术Memcached 下载 安装 整合测试 2024年5000字详解

Memcached下载和安装 是一个国内使用量还是比较大的技术 打开文件夹 我们需要在命令行窗口启动 注意要以管理员方式运行 先尝试进入指定文件 然后又再次运行 下载 memcached.exe -d install 启动 memcached.exe -d start 停止 memcached.exe -d stop memcached.exe -d i…

Mysql数据库约束的概述 , 逐渐约束 , 主键自增 , 表关系的概念和外键 ,多表关系约束介绍和使用

约束和表设计 1、DQL查询语句-limit语句(掌握) 目标 能够掌握limit语句的使用 讲解 作用&#xff1a; LIMIT是限制的意思&#xff0c;所以LIMIT的作用就是限制查询记录的条数。 LIMIT语句格式: select * from 表名 limit offset, row_count; mysql中limit的用法&#…

轻松恢复丢失数据EasyRecovery你的数据守护神

数据丢失&#xff1f;别怕&#xff01;EasyRecovery来帮忙 大家好呀&#xff0c;今天我要分享一个我超级喜欢的数据恢复软件——EasyRecovery&#xff01;&#x1f389; 如果你也经历过误删文件、硬盘格式化或是意外丢失重要数据的尴尬和焦虑&#xff0c;那你一定要看看这个神器…

Bytebase 对接本地部署的 llama3 开启ChatSQL功能

Bytebase 是为开发人员、测试、DBA和运维工程师构建的数据库 DevOps 领域的&#xff0c;类 GitLab/GitHub 平台。 这篇文章主要关注 Bytebase SQL 编辑器中的 AI 增强功能。使用此功能您可以使用自然语言在 Bytebase SQL 编辑器中查询数据库。同时还能给出针对查询的索引建议&…

千呼新零售2.0【更新日志】持续更新ing

千呼新零售2.0系统是零售行业连锁店一体化收银系统&#xff0c;包括线下收银线上商城连锁店管理ERP管理商品管理供应商管理会员营销等功能为一体&#xff0c;线上线下数据全部打通。 适用于商超、便利店、水果、生鲜、母婴、服装、零食、百货等连锁店使用。 详细介绍请查看下…

【CSS in Depth 2 精译】1.5 渐进式增强

文章目录 1.5 渐进式增强1.5.1 利用层叠规则实现渐进式增强1.5.2 渐进式增强的选择器1.5.3 利用 supports() 实现特性查询启用浏览器实验特性 1.5 渐进式增强 要用好 CSS 这样一门不断发展演进中的语言&#xff0c;其中一个重要的因素就是要与时俱进&#xff0c;及时了解哪些功…

HTML静态网页成品作业(HTML+CSS)——动漫猪猪侠网页(4个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有4个页面。 二、作品演示 三、代…

测试辅助工具(抓包工具)的使用4 之 断点

抓包作用3&#xff08;绕过界面限制测试&#xff09; 1.为什么要绕过界面限制做测试&#xff1f; 原因&#xff1a;界面限制导致部分异常数据无法输入 2.如何绕过界面限制做测试&#xff1f; 绕过界面限制直接测试服务器 步骤&#xff1a; 1.设置断点 2.修改请求 3.修改响应…

微型操作系统内核源码详解系列五(五):cm3下Pendsv切换任务上篇

系列一&#xff1a;微型操作系统内核源码详解系列一&#xff1a;rtos内核源码概论篇&#xff08;以freertos为例&#xff09;-CSDN博客 系列二&#xff1a;微型操作系统内核源码详解系列二&#xff1a;数据结构和对象篇&#xff08;以freertos为例&#xff09;-CSDN博客 系列…

React的路由(ReactRouter)-路由导航跳转

1.第一步 // createBrowserRouter路由 RouterProvider组件 import {createBrowserRouter,RouterProvider} from react-router-dom // 创建router实例对象&#xff0c;并配置路由对应关系 const routercreateBrowserRouter([{path:/login,element:<div>我是登录页</di…

grafana 通过自定义API获取数据

一、安装插件 安装infinity插件 二、配置数据源 三、配置图表 1、数据 这边提供一个go的demo package mainimport ("math/rand""net/http""time""github.com/gin-gonic/gin" )func main() {router : gin.Default()rand.Seed(time.…