Nginx搭建及部署


前言

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。


一、Nginx简介

1.概述

  • Nginx是一个高性能的HTTP和反向代理服务器。
  • 是一款轻量级的高性能的web服务器/反向代理服务器/电子邮件(IMAP/POP3)代理服务器。
  • 单台物理服务器可支持30 000~50 000个并发请求。

2.Nginx与Apache优缺点比对

(1)nginx相对于apache的优点:

  • 轻量级,同样是web服务,比apache占用更少的内存及资源

  • 抗并发,nginx处理请求是异步非阻塞的,而apache是阻塞型的高并发下,nginx能保持低资源低消耗高性能

  • 高度模块化的设计,编写模块相对简单

(2)apache相对于nginx的优点

  • Rewrite比nginx的rewrite强大 ###rewrite的主要功能就是实现统一资源定位符(URL)的跳转

  • 模块多,基本想到的都可以找到

  • 少bug,nginx的bug相对较多

  • 超稳定

(3)核心区别:

  • apache是同步多进程模型,一个连接对应一个进程,nginx是异步的,多个连接可以对应一个进程。

  • Nginx处理静态文件好,耗费内存少,只适合静态和反向。

  • Apache在处理动态有优势,

  • nginx并发性比较好,CPU占用内存低,如果rewrite频繁,选用apache最佳。

  • 总的来说,apache依然是大部分公司的首选。

3.同步与异步

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

  • 同步: synchronous,被调用者并不提供事件的处理结果相关的通知消息,需要调用者主动询问事情是否处理完成
  • 异步: asynchronous,被调用者通过状态、通知或回调机制主动通知调用者被调用者的运行状态

请添加图片描述

4.堵塞与非堵塞

**阻塞/非阻塞:**关注调用者在等待结果返回之前所处的状态

  • 阻塞: blocking,指IO操作需要彻底完成后才返回到用户空间,调用结果返回之前,调用者被挂起,干不了别的事情。
  • 非阻塞: nonblocking,指IO操作被调用后立即返回给用户一个状态值,而无需等到IO操作彻底完成,在最终的调用结果返回之前,调用者不会被挂起,可以去做别的事情。

二.安装

1.准备安装包并编译安装

1.关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
2.安装依赖包 
yum -y install pcre-devel zlib-devel gcc gcc-c++ make   //pcre:兼容一些正则表达式,zlib:解压缩包 
3.创建运行用户 
useradd -M -s /sbin/nologin nginx 
4.编译安装Nginx 拖入安装包 
cd /opt
tar zxvf nginx-1.12.0.tar.gz -C /opt/  //解压软件包
cd nginx-1.12.0/
./configure \
--prefix=/usr/local/nginx \         //指定nginx的安装路径
--user=nginx \                      //指定用户名
--group=nginx \                     //指定组名
--with-http_stub_status_module      //启用 http_stub_status_module 状态统计模块
make && make install12345678910 
5.优化路径 
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

2.启动,停止,重启,重载

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号>

在这里插入图片描述

3.查看nginx的进程号的四种方式

cat /usr/local/nginx/logs/nginx.pid 
ss -ntpl | grep 80        //推荐使用,读取速度快
netstat -natp | grep 80
netstat -natp | grep nginx
lsof -i :80
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值