Nginx的介绍、源码编译安装、热部署、日志切割、gzip压缩及启动

一、Nginx的介绍
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
1.1nginx 相对 apache 的优点:
轻量级,同样起web 服务,比apache 占用更少的内存及资源
抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能
高度模块化的设计,编写模块相对简单
社区活跃,各种高性能模块出品迅速啊
Nginx本身就是一个反向代理服务器
Nginx支持7层负载均衡
nginx 适合做静态,简单,效率高
1.2Nginx的缺点是
Nginx仅能支持http、https和Email协议,这样就在适用范围上面小些,这个是它的缺点。
对后端服务器的健康检查,只支持通过端口来检测,不支持通过url来检测。不支持Session的直接保持,但能通过ip_hash来解决。
二、Nginx的应用
(1)适用于高并发
(2)可以做负载均衡服务器和HTTP服务器
(3)HTTP服务器(动静分离)
(4)正向代理
三、部署基本的nginx的服务器及其基本配置

3.2编译、安装
官网下载软件包

http://nginx.org/en/download.html

[root@localhost Desktop]# ls
nginx-1.18.0.tar.gz
[root@localhost Desktop]# tar zxf nginx-1.18.0.tar.gz  解压 
[root@localhost Desktop]# ls
nginx-1.18.0  nginx-1.18.0.tar.gz
[root@localhost Desktop]# cd nginx-1.18.0/
[root@localhost nginx-1.18.0]# ls
auto  CHANGES(一些bug) CHANGES.ru(作者俄罗斯人)  conf配置文件  
configure编译用二进制文件  contrib语法检测字体  html类似于Apache的默认发布页面  
LICENSE证书  man文档  README说明  src源码目录

虚拟机的vim可以自动检测配置文件语法是否有错误:

mkdir ~/.vim建立一个家目录下的隐藏目录
cp -r contrib/vim/* ~/.vim自动检测配置文件语法是否有错误
[root@localhost nginx-1.18.0]# ./configure  --help  查看帮助

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

在这里插入图片描述

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

在这里插入图片描述
试着访问一下,看到的是默认页面
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
四、nginx的版本更新和回退(热部署)

[root@localhost sbin]# ls
nginx
[root@localhost sbin]# ./nginx -V  查看当前版本信息
nginx version: nginx/1.18.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module

首先去官网上下载一个另外一个版本的nginx
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
当且替换更新的版本有问题回退到之前的版本
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、nginx的日志切割
5.1nginx为什么要进行日志切割?
nginx作为一个反向代理器,每天接收的请求非常庞大,日志文件也会比较多,一旦日志超过内存大小就会无法打开日志,导致服务器卡死,所有要进行切割,对于大的日志文件查看起来也非常方便。
5.2切割方法如下
日志文件太小,手动增大日志文件
在这里插入图片描述
日志的备份以凌晨十二点为节点,进行备份前一天的日志内容
在这里插入图片描述
六、nginx的gzip压缩
在这里插入图片描述
在这里插入图片描述

vim /usr/local/nginx/conf/nginx.conf  编辑nginx的配置文件

在这里插入图片描述

在这里插入图片描述
刷新一下文件变小,利于客户下载
在这里插入图片描述
七、nginx的启动
之前的启动nginx都是脚本方法

/usr/local/nginx/sbin/nginx

系统官方默认的服务启动脚本存放在:/usr/lib/systemd/system/httpd.service,自己安装的服务避免放在那里,官方推荐我们放在/etc/systemd/system下
参照http服务的文件:

cp /usr/lib/systemd/system/httpd.service /etc/systemd/system/nginx.service

在这里插入图片描述
编辑配置文件/etc/systemd/system/nginx.service
在这里插入图片描述

[root@localhost system]# /usr/local/nginx/sbin/nginx -s stop  脚本方式关闭
[root@localhost system]# ps ax

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

[root@localhost system]# systemctl start nginx.service   开启
[root@localhost system]# ps ax

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

八、Nginx主配置文件中参数的详细解释

[root@localhost conf]# vim /usr/local/nginx/conf/nginx.conf

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

[root@localhost logs]# ../sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost logs]# ../sbin/nginx -s reload  报错
nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"
[root@localhost logs]# ls
2020-05-05_access.log  access.log  error.log   
[root@localhost logs]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf  解决办法
[root@localhost logs]# ../sbin/nginx -s reload  成功
[root@localhost logs]# ps -ef | grep nginx
root      81671      1  0 05:07 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nginx     81683  81671  0 05:07 ?        00:00:00 nginx: worker process
root      81729  75651  0 05:08 pts/1    00:00:00 grep --color=auto nginx

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nginx 是一个高性能、高并发的开源 Web 服务器,它采用事件驱动的异步非阻塞模型,能够快速处理大量并发请求,而且占用资源较少。为了满足不同需求,一些用户可能需要自己编译安装 Nginx编译安装 Nginx 需要进行以下步骤: 1. 首先,需要下载 Nginx 的源代码包。可以从官方网站(https://nginx.org/)上找到最新版本的源代码包,并下载到本地。 2. 下载完成后,将源代码包解压缩到指定的目录中。 3. 接下来,进入到解压缩后的目录中,执行 `./configure` 命令进行配置。该命令会检查当前系统的环境依赖是否满足,并生成构建 Nginx 的 Makefile 文件。 4. 执行 `make` 命令进行编译。该命令会根据保存在 Makefile 文件中的指令,编译生成可执行文件。 5. 编译完成后,执行 `make install` 命令进行安装。该命令会将编译生成的可执行文件、配置文件和其他必要文件拷贝到指定的目录中。 6. 最后,可以通过启动 Nginx 来验证是否安装成功。执行 `nginx` 命令启动 Nginx,通过访问服务器的 IP 地址或域名,可以在浏览器中看到 Nginx 的欢迎页面。 需要注意的是,在进行源码编译安装之前,应该确保系统环境中已经安装了一些必要的依赖库,如 PCRE(Perl Compatible Regular Expressions,用于处理正则表达式)、zlib(用于处理数据压缩)、OpenSSL(用于提供安全的传输层协议支持)等。 以上是基本的 Nginx 源码编译安装的步骤,具体的配置和安装路径可以根据个人需要进行调整。编译安装可以更灵活地配置和定制 Nginx,满足不同的使用和性能要求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值