文章目录
- 一、简介
- 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文件即可完成升级
成功