nginx服务

Nginx

什么是Nginx

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器 [13] ,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,公开版本1.19.6发布于2020年12月15日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2022年01月25日,nginx 1.21.6发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。

Nginx的特点

一款高性能、轻量级web服务
稳定性高
系统资源消耗低高
对HTTP并发连接的处理能力
单台物理服务器可支持30000~50000个并发请求

Nginx编译安装过程

安装支持软件
创建运行用户、组
编译安装Nginx

Nginx运行控制

检查配置文件
启动、重载配置、停止Nginx

Nginx和Apache的区别

nginx相对于apache的优点

1:轻量级,同样起web服务,比apache占用更少的内存及资源
2:抗并发,nginx处理请求是异步非阻塞的,而apache是阻塞型的,在高并发下,nginx能保持低资源低消耗高性能
3:高度模块化的设计,编写模块相对简单

apache相对于nginx的优点

1:Rewrite比nginx的rewrite强大 (rewrite的主要功能就是实现统一资源定位符URL的跳转)
2:模块多,基本想到的都可以找到
3:少bug, nginx的bug相对较多
4:超稳定
5:总结:一般来说,需要性能的web服务,用nginx。 若不需要性能只求稳定,就选用apache

小节

apache是同少进程的模型,一个链接对应一个进程
Nginx是异步的,多个链接(万级别),一个链接对应一个进程

编译安装Nginx服务的操作步骤

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

systemctl stop firewalld
systemctl disable firewalld
cd /opt
setenforce 0

在这里插入图片描述

安装依赖包

#nginx的配置及运行需要pcre、zlib等软件包的支持,因此需要安装这些软件的开发包,以便提供相应的库和头文件

yum install -y pcre-devel zlib-devel gcc gcc-c++ make

创建运行用户、组

Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限

useradd -M -s /sbin/nologin nginx

编译安装nginx

cd /opt
tar zxvf nginx-1.12.0.tar.gz
 
./configure \
> --prefix=/usr/local/nginx \            #指定nginx的安装路径
> --user=nginx \                     #指定用户名
> --group=nginx \                        #指定组名
> --with-http_stub_status_module     #启用 http_stub_status_module模块以变持状态线计
 
 make && make install
 
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/          ##让系统识别nginx的操作命令

安装完
在这里插入图片描述
编译完
在这里插入图片描述
创建软连接
在这里插入图片描述

检查、启动、重启、停止 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号>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

版本升级

新版本升级∶
tar -zxvf nginx-1.xx.xX. tar.gz
cd nginx-1.xx. xx
./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
make upgrade
#或者先 killall nginx ,再/usr/local/nginx/sbin/nginx

在这里插入图片描述

脚本添加nginx

vim /etc/init.d/nginx           #创建脚本文件内容如下:
 
#!/bin/bash
#chkconfig: - 99 20
#description:Nginx Server 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 daemon-reload          #磁盘上的ngin服务更改,运行'systemctl daemon-reload'重新加载单元。
systemctl start nginx
systemctl stop nginx

总结

Nginx与HTTPD以静态页面处理+动态页面转发的功能上比较,Nginx优势在于“抗高并发”+“轻量级”+“性能稳定”
Nginx文件中包含了模块从全局到局部,具体匹配URL分以下集中全局模块
在此模块中定义的内容,会生效于所有位置
1:http应用于用户以http方式来访问Nginx整个过程
2:server服务适用于通过端口,IP,域名访问方式的请求
3:location匹配URL(域名)或者index.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值