Nginx服务及基础配置

一、Nginx概述

1. Nginx功能介绍

 

  • 静态的web资源服务器html,图片,js,css,txt等静态资源

  • http/https协议的反向代理 7层

  • 结合FastCGI/uWSGI/SCGI等协议反向代理动态资源请求

  • tcp/udp协议的请求转发(反向代理) 4层

2. Nginx基础特性

  • 模块化设计,有较好的扩展性
  • 高可靠性
  • 支持热部署:10000个keep-alive连接模式下的非活动连接,仅需2.5M内存
  • event-driven,aio,mmap,sendfile

3. Nginx模块

  • 核心模块:是 Nginx 服务器正常运行必不可少的模块,提供错误日志记录 、配置文件解析 、事件驱动机制 、进程管理等核心功能

  • 标准HTTP模块:提供 HTTP 协议解析相关的功能,比如: 端口配置 、 网页编码设置 、 HTTP响应头设置 等等

  • 可选HTTP模块:主要用于扩展标准的 HTTP 功能,让 Nginx 能处理一些特殊的服务,比如:Flash 多媒体传输 、解析 GeoIP 请求、 网络传输压缩 、 安全协议 SSL 支持等

  • 邮件服务模块:主要用于支持 Nginx 的 邮件服务 ,包括对 POP3 协议、 IMAP 协议和 SMTP协议的支持

  • Stream服务模块: 实现反向代理功能,包括TCP协议代理

  • 第三方模块:是为了扩展 Nginx 服务器应用,完成开发者自定义功能,比如: Json 支持、 Lua 支持等

二、安装Nginx

1. YUM安装Nginx

  • 使用yum部署Nginx需要先安装epel-release扩展包,官方源默认没有Nginx的yum源。
1 yum install epel-release  -y
2 #安装epel-release扩展源
  • 扩展源安装完后直接安装Nginx
1 yum install nginx -y 
2 #安装nginx服务
  • YUM安装的nginx配置文件位置在:/etc/nginx.conf。默认根目录在:/usr/share/nginx/html。默认日志文件在:/var/log/nginx/路径下。

 

 

 

2. 编译安装Nginx

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

                 

 

 

 

 

 

  • 安装包下载完成后安装编译需要的依赖环境和工具,然后进入对应的目录进行解压编译。
 1 yum -y install gcc pcre-devel openssl-devel zlib-devel
 2 #安装编译安装需要的依赖包和工具
 3 cd /opt    
 4 #进入指定安装包下载的目录 /opt下
 5 tar xf nginx-1.18.0.tar.gz
 6 #将nginx包解压到当前文件夹
 7 cd nginx-1.18.0
 8 #进入解压后nginx包中
 9 ./configure 
10 #执行当前目录下的configure脚本检测编译安装环境和工具
11 --prefix=/apps/nginx \
12 #执行脚本时指定路径为 /apps/nginx文件夹中,若没有此文件夹需要先创建再进行编译指定
13 --user=nginx \
14 #指定用户为nginx用户
15 --group=nginx \
16 #指定组为nginx组
17 --with-http_ssl_module \
18 #以下是编译时安装的指定模块
19 --with-http_v2_module \
20 --with-http_realip_module \
21 --with-http_stub_status_module \
22 --with-http_gzip_static_module \
23 --with-pcre \
24 --with-stream \
25 --with-stream_ssl_module \
26 --with-stream_realip_module
27  
28 make   
29 #执行完成检测编译安装环境和工具后将nginx安装包翻译为二进制
30 make install 
31 #翻译完成后将包写入磁盘中

 

  • 写进磁盘完成后进入部署的文件夹使用绝对路径启动nginx服务,然后查看是否有nginx进程。
1 /apps/nginx/sbin/nginx 
2 #使用绝对路径启动nginx
3 ps aux |grep nginx
4 #查看是否有nginx进程

 

 

三、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. Apache与Nginx对比

  •  Nginx使用异步非阻塞工作模式,Apache使用同步阻塞模式。
  • Nginx处理静态资源更好,Apache处理动态资源更好。
  • Nginx是轻量级web服务器,耗费资源比Apache少。
  • Nginx抗并发性更好,Apache更稳定。
  • Apache对接PHP简单,Nginx对接需要借助其他后端工具。

 2. Nginx性能优化

  • 版本号修改
  • 修改auto , 自适应cpu
  • 长连接 , 超时时间
  • 压缩
  • 默认访问网页
  • 调整进程优先级, -20到19,越小越好
  • 防盗链
  • 日志分割
  • cpu亲缘性
  • 进程最大连接数
  • 单个进程最大连接数
  • 文件打开数
  • 缓存状态页 

 

posted @ 2023-03-13 19:51  此生何必111  阅读(187)  评论(0)    收藏  举报
1