Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

Nginx优化

前言:之前见过nginx的安装,这次就顺理成章的来讲下nginx的优化。就好像平时我们用电脑用手机都得来优化下。Nginx是一个高性能的HTTP和反向代理服务器, 轻量级、高并发的web服务器。

在实际的生产环境中,我们仍然不可能直接使用默认配置的Nginx来充当服务器。毕竟,为了更充分合理地利用Nginx服务器,我们都应该根 据自己的实际需要对nginx的默认配置作出一些必要的调整。优化如下。

1.版本号隐藏

1.1隐藏版本号

进入这个配置文件修改

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

接下来重启服务并查询版本号是否已经隐藏

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

1.2伪造版本号

先进入之前的文件,将其开启,不用隐藏了

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

然后我们按部就班进入可以修改版本号的文件

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

在这位置可以修改版本号,改完保存退出

保存退出后,还得重新编译

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

接下来重启服务查看版本号就行了。但是这种方法只能在安装nginx之前就改好版本号。如果已经安装好了nginx,再伪造版本号,还得重新编译,那就太麻烦了。所以这方法不是特别推荐。

2.缓存优化

进入配置文件

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

优化缓存一天

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

重启服务之后,可使用抓包工具查证。因为是优化了图片格式的缓存,而我这边没添加图片,并没有什么明显效果。感兴趣的可以去多搞一些图片试试,看看优化之后的效果。

3.动静分离

3.1首先得安装apache

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

安装好后,加载下面这些服务(如果报错,可以重启下防火墙试试)

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

这时候我们可以开启apache服务了

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

做一步验一步,我们先来看看能不能访问

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

能访问,莫得问题

接下来得安装这些mariadb

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

接下来启动mariadb

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

过滤3306端口

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

接下来还得对这个文件进行下设定

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

接下来设置一个密码,包括几个决策都选no,最后一个选yes就行

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

然后安装php

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

php和mysql的连接包也得装

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

接下来就是安装很多php插件,注意别漏了

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

搞定后,到下面这个位置,修改下文件

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

最后还别忘了重启服务

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

然后我们再去网页测试

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

目前我们搭建好了动态的这一部分,接下来就是静态nginx部分

3.2nginx和我们平时搭建是一样的,不过我们搭建得换一台主机进行操作

为了防止名字一样产生误会,这里把root用户名字改下,方便区分

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

压缩包还是一样的可以先去官网下载,然后挂载拷贝过来。我是用的rz

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

解压

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

创建程序用户

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

安装环境包

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

安装好后输入下面这些配置

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

接下来make编译

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

让命令可以让系统识别,建个目录到

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

再写个启动脚本

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

保存退出后

给与执行权限并添加服务

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

然后就是一系列开启服务,80端口和关闭防火墙

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

成功访问页面

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

接下来将nginx的动态请求交给之前apache的那台机器,我们可以进入下面这文件修改

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

找到下面这三行,这三行就是用来做动静分离的,我们需要开启他,并修改一下

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

重启服务

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

再次访问php动态页面会发现可以访问了

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

4.日志分割

我们先移到下面这个目录

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

首先我们了解一下date这个命令

如果我们正常输入date将会出现如下的具体时间

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

我们可以改下格式让其显示

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

将数字改成-1代表的意思就是昨天

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

xargs的意思:前面一条命令的执行结果作为后面一条命令的执行参数

懂这里面一些参数的大概意思,我们就可以写入以下脚本

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

保存退出后给予执行权限

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

执行

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

接下来我们我们去日志文件里应该可以找到nginx,并发现里面有日志

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

5.nginx进程管理

我们给nginx设置超时访问时间,防止资源被长期占用

我们先切换位置到nginx的conf文件下

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

然后设置超时时间,时间的多少自己把控就行,keepalive前面的65是服务端超时时间,后面180是客户端超时时间

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

保存后,重启服务

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

6.nginx压缩

进入主配置文件

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

进行以下配置

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

但是这样很乱,我们把这些内容休整下

Nginx优化(版本号隐藏,优化缓存,动静分离,日志分割,进程管理,压缩)

弄成这样就可以保存退出了,其中红框标记的是支持的压缩功能,如jpg,当nginx当中有jpg格式的图片的时候,就会进行压缩,达到优化的目的。

小结:这次实验就是系统的做了一次nginx的优化,当中有很多的脚本和配置参数,我们很难记住,但是我们要理解其中的大概意思。自己再跟着实验写好脚本,这样以后做到类似的实验,就算不会,起码看着自己的脚本知道怎么搞叭。如果能写出别人看不懂,就你自己看得懂的脚本,那就是奇才了,独家原创的了。