简单认识Nginx网络服务

文章目录

  • 一、简介
    • 1、概括
    • 2、Nginx和Apache的差异
    • 3、Nginx优于Apache的优点
  • 二、编译安装nginx 服务
    • 1、在线安装nginx
    • 2、 nginx编译安装
      • (1)、关闭防火墙,将安装nginx所需软件包传到/opt目录下
      • (2)、#nginx的配置及运行需要pcre、zlib等软件包的支持,因此需要安装这些软件的开发包,以便提供相应的库和头文件。
      • (3)、#创建运行用户、组(Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限)
      • (4)、编译安装Nginx
      • (5)nginx服务的检查、启动、重启、停止、生成日志和升级
    • 升级Nginx版本
      • 1、检查当前版本
      • 2、准备升级包


一、简介

1、概括

Nginx 是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器

2、Nginx和Apache的差异

  • Nginx是一个甚于事件的Web服务器,Apache是一个基于流程的服务器;
  • Nginx避免子进程的概念,Apache是基于子进程的;
  • Nginx在内存消耗和连接方面更好,Apache在内存消耗和连接方面一般;
  • Nginx的性能和可伸缩性不依赖于硬件,Apache依赖于CPU和内存等硬件;
  • Nginx支持热部署,Apache不支持热部署;
  • Nginx对于静态文件处理具有更高效率,Apache相对一般;
  • Nginx在反向代理场景具有明显优势,Apache相对一般。

3、Nginx优于Apache的优点

轻量化,Nginx 比 Apache占用更少的内存及资源;
静态处理,Nginx 静态处理性能比 Apache 高;
Nginx可以实现无缓存的反向代理加速,提高网站运行速度;
Nginx的性能和可伸缩性不依赖于硬件,Apache依赖于硬件;
Nginx支持热部署,启动速度迅速,可以在不间断服务的情况下,对软件版本或者配置进行升级;
nginx是异步进程,多个连接可以对应一个进程;apache是同步多进程,一个连接对应一个进程;
Nginx高度模块化,编写模块相对简单,且组件比Apache少;
高并发下Nginx 能保持低资源低消耗高性能;
Nginx 配置简洁,Apache配置复杂;

总结:一般来说,需要性能的 web 服务,用 Nginx 。如果不需要性能只求稳定,那就Apache。Nginx 处理动态请求是弱项,一般动态请求要 Apache 去做,Nginx 只适合静态和反向。

二、编译安装nginx 服务

1、在线安装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/路径下。

2、 nginx编译安装

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

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

软件包先试用早期版本,可以方便版本升级实验

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

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

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

useradd -M -s /sbin/nologin nginx

(4)、编译安装Nginx

cd /opt
tar zxvf nginx-1.12.0.tar.gz

cd nginx-1.12.0/
./configure \
--prefix=/usr/local/nginx \					#指定nginx的安装路径
--user=nginx \								#指定用户名
--group=nginx \								#指定组名
--with-http_stub_status_module				#启用 http_stub_status_module 模块以支持状态统计操作  VTS

cd nginx-1.12.0/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module	

make  -j4 && make install    #推荐使用4核加载,更快

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/		#让系统识别nginx的操作命令

(5)nginx服务的检查、启动、重启、停止、生成日志和升级

nginx -V        //查看版本和编译安装选项(-v 只查看版本号)
nginx -t        //检查nginx配置文件的语法
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号>

升级Nginx版本

1、检查当前版本

在这里插入图片描述

2、准备升级包

简单认识Nginx网络服务_第1张图片

简单认识Nginx网络服务_第2张图片
编译后查看
简单认识Nginx网络服务_第3张图片
简单认识Nginx网络服务_第4张图片
只需要替换原版安装的nginx文件即可完成升级
简单认识Nginx网络服务_第5张图片
简单认识Nginx网络服务_第6张图片
成功

你可能感兴趣的:(nginx,apache,服务器)