Linux服务:Nginx服务部署及基础配置

这篇具有很好参考价值的文章主要介绍了Linux服务:Nginx服务部署及基础配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、Nginx介绍

1、Nginx简介

2、I/O模型相关概念

3、Nginx事件驱动模型

二、部署Nginx

1、yum部署Nginx

2、编译安装Nginx

三、Nginx使用

1、基础使用

2、nginx信号

四、web服务选择及优化

1、Nginx与Apache对比

2、Nginx服务调优


一、Nginx介绍

1、Nginx简介

①作用:支持七层(应用层)和四层(传输层)反向代理、可做web服务器。

②特性:高可靠性、支持热部署、可扩展性好、高并发高性能、单机部署。

⑤进程:一个主进程master生成多个worker子进程,worker子进程负责处理工作。

2、I/O模型相关概念

①Nginx服务使用异步非阻塞模式:请求不需要排队,会反馈任务的完成结果。

②Apache服务使用同步阻塞模式:请求需要排队,且不会主动返回结果。

③同步/异步:关注的是消息通信机制,即调用者在等待一件事情的处理结果时。被调用者是否提供完成。

④同步:调用者需要主动询问结果。

⑤异步:调用者不需要主动询问结果,被调用者会主动返回结果。

⑥阻塞:系统同时只能处理1个请求,另外的请求需要排队。

⑦非阻塞:系统同时处理多个请求。

3、Nginx事件驱动模型

①select:一个应用程序,代理系统功能处理异步请求,最大连接数是1024个。

它仅仅知道了,有I/O事件发生了,却并不知道是哪那几个流(可能有一个,多个,甚至全部),我们只能无差别轮询所有流,找出能读出数据,或者写入数据的流,对他们进行操作。所以select具有O(n)的无差别轮询复杂度,同时处理的流越多,无差别轮询时间就越长。

②poll:select加强版取消了1024最大连接数。

poll本质上和select没有区别,它将用户传入的数组拷贝到内核空间,然后查询每个fd对应的设备状态, 但是它没有最大连接数的限制,原因是它是基于链表来存储的。

③epoll:poll的加强版。

epoll可以理解为event poll,不同于忙轮询和无差别轮询,epoll会把哪个流发生了怎样的I/O事件通知我们。所以我们说epoll实际上是事件驱动(每个事件关联上fd)的,此时我们对这些流的操作都是有意义的。

二、部署Nginx

1、yum部署Nginx

①使用yum部署Nginx需要先安装epel-release扩展包,官方源默认没有Nginx的yum源。

yum install epel-release  -y
#安装epel-release扩展源

②扩展源安装完后直接安装Nginx。

yum install nginx -y 
#安装nginx服务

③使用yum安装的nginx配置文件位置在:/etc/nginx.conf。默认根目录在:/usr/share/nginx/html。默认日志文件在:/var/log/nginx/路径下。

nginx -g daemon off,服务器,网络,运维

2、编译安装Nginx

①官网下载安装包,nginx官网地址nginx news,进入后找到右边菜单栏的download,进入后选择自己想要下载的版本可以直接下载到本地然后传到Linux系统中或右键复制该包的下载连接在Linux系统中wget此地址直接下载到Linux系统中。

nginx -g daemon off,服务器,网络,运维

nginx -g daemon off,服务器,网络,运维

②安装包下载完成后安装编译需要的依赖环境和工具,然后进入对应的目录进行解压编译。

yum -y install gcc pcre-devel openssl-devel zlib-devel
#安装编译安装需要的依赖包和工具
cd /opt    
#进入指定安装包下载的目录 /opt下
tar xf nginx-1.18.0.tar.gz
#将nginx包解压到当前文件夹
cd nginx-1.18.0
#进入解压后nginx包中
./configure 
#执行当前目录下的configure脚本检测编译安装环境和工具
--prefix=/apps/nginx \
#执行脚本时指定路径为 /apps/nginx文件夹中,若没有此文件夹需要先创建再进行编译指定
--user=nginx \
#指定用户为nginx用户
--group=nginx \
#指定组为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   
#执行完成检测编译安装环境和工具后将nginx安装包翻译为二进制
make install 
#翻译完成后将包写入磁盘中

③写进磁盘完成后进入部署的文件夹使用绝对路径启动nginx服务,然后查看是否有nginx进程。

/apps/nginx/sbin/nginx 
#使用绝对路径启动nginx
ps aux |grep nginx
#查看是否有nginx进程

nginx -g daemon off,服务器,网络,运维

④至此编译安装完成,本文资源下载中有一键部署nginx脚本,名称为nginx.sh。

三、Nginx使用

注意:以下命令若非yum安装使用时要使用绝对路径调用nginx命令,或将编译安装路径中的sbin文件夹中的nginx程序拷贝到/usr/sbin路径下。

1、基础使用

①nginx -V 查看安装了那些模块

②nginx -v 查看版本号

③nginx -s 发送信号 后面可以跟stop、reload、quit、reopen

④nginx -t 检查著配置文件语法

nginx -g 修改执行用户ps aux |grep nginx中查看。需要注销配置文件中的user nginx中。nginx -g "daemon off"前台运行,默认后台运行容器中需要使用。

⑥nginx -c 指定配置文件,一般用于.service文件中

2、nginx信号

①quit信号 -----SIGTERM,直接停止,不等服务执行完,nginx -s quit或kill -TERM执行。

②stop信号-----SIGQUIT,优雅的退出,等所有服务执行完再退出,nginx -s stop 或kill -QUIT执行。

③reopen信号---SIGUSER1 分隔日志。

创建新的nginx日志时需要发送USER1信号给nginx主进程才可以生效。kill -USER1 nginx主进程pid号。

④SIGUSER2信号,优雅的升级,不影响正在使用的用户,kill -USER2执行。

⑤reload信号----SIGHUP 重新加载配置文件,nginx -s  reload或kill -HUP执行。

四、web服务选择及优化

1、Nginx与Apache对比

①Nginx使用异步非阻塞工作模式,Apache使用同步阻塞模式。

②Nginx处理静态资源更好,Apache处理动态资源更好。

③Nginx是轻量级web服务器,耗费资源比Apache少。

④Nginx抗并发性更好,Apache更稳定。

⑤Apache对接PHP简单,Nginx对接需要借助其他后端工具。

2、Nginx服务调优

①根据cpu数量配置master有多少个worker子进程。

配置文件全局中修改:work_processes auto(表示根据cpu数量决定个数)。

②设置长链接超时时间。

keepalive_timeout 50。

③调整nginx进程优先级。

worker_priority -20  (范围-20到19,越小优先级越高)

④调整nginx可打开文件数量。

worker_rlimit_nofile 65536;

需要配合修改内核参数vim /sercurity/limits.conf文件中加入下面参数重启机器即可。

*soft nofile 数量

*hard nofile 数量

⑥调整每个worker进程可打开文件数量,注意需要配合nginx总共可以打开文件数量限制。

worker_connections  数量;

⑦隐藏nginx版本号在http模块中添加以下参数。

   server_tockens off文章来源地址https://www.toymoban.com/news/detail-768578.html

到了这里,关于Linux服务:Nginx服务部署及基础配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 分布式 - 服务器Nginx:基础系列之Nginx配置文件结构

    分布式 - 服务器Nginx:基础系列之Nginx配置文件结构

    Nginx的核心配置文件默认是放在 /usr/local/nginx/conf/nginx.conf : nginx.conf 配置文件中默认有三大块:全局块、events块、http块。其中http 块中可以配置多个server块,每个server块又可以配置多个location块。 01. user 指令 user指令也可以用于指定Nginx服务器worker进程的运行用户和用户组。它

    2024年02月10日
    浏览(11)
  • Linux 配置 Nginx 服务完整详细版

    目录 前言 配置Nginx监听端口和服务器块 # 防DDoS配置 # 日志配置 # 设置服务器块 监听端口 网站根目录 默认文件 静态文件目录 图像文件目录 # 自定义错误页面 # 反向代理配置 # 配置SSL/TLS 1、获取SSL/TLS证书 2、安装证书 3、配置SSL/TLS # 配置SSL协议版本和密码套件 # 配置SSL会话缓

    2024年02月08日
    浏览(12)
  • Linux服务——nginx的配置及模块

    Linux服务——nginx的配置及模块

    目录 一、nignx配置 1、nginx的配置文件 2、使用server语句块构建虚拟主机 3、alias别名 4、location语句 二、nginx模块 access模块  验证模块 自定义错误页面 日志存放位置 检测文件是否存在 长连接设置 ngx_http_autoindex_module 模块 三、nginx的高级配置 1、网页的状态页 2、变量 3、自定义

    2024年02月04日
    浏览(10)
  • nginx部署本地项目如何让异地公网访问?服务器端口映射配置!

    nginx部署本地项目如何让异地公网访问?服务器端口映射配置!

    接触过IIS或apache的小伙伴们, 对 nginx 是比较容易理解的, nginx有点类似,又有所差异,在选择使用时根据自己本地应用场景来部署使用即可。通过一些对比可能会更加清楚了解: 1 . nginx是轻量级,比apache占用更少的内存以及资源 2 . apache对php支持较简单,apache组件比nginx多

    2024年02月16日
    浏览(53)
  • [Linux服务器 ] nginx 配置图片静态访问方法

    [Linux服务器 ] nginx 配置图片静态访问方法

    一.  Nginx安装 1.更新软件包列表:打开终端,并使用以下命令更新软件包列表: sudo yum update 2.安装 EPEL 存储库:EPEL 存储库提供了额外的软件包,其中包括 Nginx。使用以下命令安装 EPEL 存储库: sudo yum install epel-release 3.安装 Nginx:使用以下命令安装 Nginx: sudo yum install nginx

    2024年02月14日
    浏览(22)
  • Linux 安装 Nginx 并配置为系统服务(超详细)

    Linux 安装 Nginx 并配置为系统服务(超详细)

    Nginx是一款卓越的高性能Web服务器,被广泛用于托管网站和应用程序。本文旨在为您提供详细的指南,帮助您在Linux系统上成功安装、配置和启动Nginx服务器。通过这一过程,您将了解如何将Nginx集成到您的系统中,以便轻松地托管您的网站和应用程序。 在开始安装Nginx之前,

    2024年02月05日
    浏览(9)
  • java+vue 前后端项目部署 服务器部署流程 包括nginx软件安装,服务器选择,域名配置

    java+vue 前后端项目部署 服务器部署流程 包括nginx软件安装,服务器选择,域名配置

    现在的web端项目大多数都是java+vue前后端分离的项目,都需要分开来部署,基本上都是部署在云服务器上的,这就涉及到选择和购买服务器,以及安装环境,本文记录的是在机器上安装软件,不在docker和宝塔上安装。下面请看详细的步骤吧,都是自己在工作中使用过的,本人

    2024年02月13日
    浏览(12)
  • 如何在linux服务器上用Nginx部署Vue项目,以及如何部署springboot后端项目

    如何在linux服务器上用Nginx部署Vue项目,以及如何部署springboot后端项目

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:这里可以添加本文要记录的大概内容: 本文内容记录如何在Linux(Ubuntu)系统上安装Nginx,并部署打包好的Vue前端项目,最后通过浏览器访问。 提示:以下是本篇文章正文内容,下面案例可供参考

    2024年04月16日
    浏览(16)
  • 《Docker》阿里云服务器docker部署nginx并配置https踩坑记录(完整)

    《Docker》阿里云服务器docker部署nginx并配置https踩坑记录(完整)

    前端博主,热衷各种前端向的骚操作,经常想到哪就写到哪,如果有感兴趣的技术和前端效果可以留言~博主看到后会去代替大家踩坑的~ 主页: oliver尹的主页 格言: 跌倒了爬起来就好~ 来个关注吧,点个赞吧,谢谢 今天在为阿里云服务器续期的时候发现原来阿里云上面也

    2024年02月06日
    浏览(11)
  • linux 服务器进程、端口查找,nginx 配置日志查找,lsof 命令详解

    linux 服务器进程、端口查找,nginx 配置日志查找,lsof 命令详解

    1.1 使用查看端口号对应的进程信息 方式一 : 使用netstat命令 -t:显示TCP连接 -u:显示UDP连接 -l:仅显示监听状态的连接 -n:以数字形式显示端口号,而不是以服务名称显示 通过管道符号|将netstat的输出结果传递给grep命令,用于过滤出包含指定端口号的行。 执行命令后,终端

    2024年02月04日
    浏览(19)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包