目录
一、nginx服务基础
1. nginx概述
nginx是一款高性能、轻量级的web服务软件,具有以下特点:
- 稳定性高
- 系统资源消耗低
- 对HTTP并发连接的处理能力高(单台物理服务器可支持30000~50000个并发请求)
2. nginx和apache的差异
- nginx是一个基于事件的web服务器,apache是一个基于流程的服务器;
- nginx所有请求都由一个线程处理,apache单个线程处理单个请求;
- nginx避免子进程的概念,apache是基于子进程的;
- nginx在内存消耗和连接方面更好,apache在内存消耗和连接方面一般;
- nginx的性能和可伸缩性不依赖于硬件,apache依赖于CPU和内存等硬件;
- nginx支持热部署,apache不支持热部署;
- nginx对于静态文件处理具有更高效率,apache相对一般;
- nginx在反向代理场景具有明显优势,apache相对一般。
二、编译安装nginx
1. 关闭防火墙,将安装nginx软件包传到/opt目录下
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# setenforce 0
setenforce: SELinux is disabled
[root@localhost opt]# cd /opt
[root@localhost opt]# ls
nginx-1.12.0.tar.gz nginx-1.12.2.tar.gz rh
2. 安装依赖包
ngnix的配置及运行需要pcre、zlib等软件包的支持,因此需要安装这些软件的开发包,以便提供相应的库和头文件。
[root@localhost opt]# yum install -y pcre-devel zlib-devel gcc gcc-c++ make
3. 创建运行用户、组
nginx服务程序默认以nobody身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限
[root@localhost nginx-1.12.0]# useradd -M -s /sbin/nologin nginx
4. 编译安装nginx
[root@localhost opt]# tar zxvf nginx-1.12.0.tar.gz -C /opt/
[root@localhost opt]# cd nginx-1.12.0/
[root@localhost nginx-1.12.0]# ./configure \
> --prefix=/usr/local/nginx \ #指定nginx的安装路径
> --user=nginx \ #指定用户名
> --group=ngin