nginx更新速度杠杠的,不到一年时间就更新了这么多版本了,今天一口气从1.2.3升级到1.8.0。为什么升级?因为nginx提供了ETag功能,对流量控制很有效果。

升级之前特意去查了一下资料,看看如何启用ETag,可惜翻到了百度的一篇教程,看得我快吐了。有兴趣的可以自行去看看,真心怀疑他们的程序员喜欢用goto语句:

不过最后还是看懂了,下面把nginx部分挑出来详细说明一下。

首先就是你必须知道你当前的nginx版本是多少,我的nginx安装在:/usr/local/nginx/sbin/nginx

所以我执行以下命令:/usr/local/nginx/sbin/nginx -v

查看到nginx的版本为1.2.3

时代够久远的,注定要升级,于是上nginx.org下载最新的nginx-1.8.0.tar.gz。

最重要的事!

最重要的事!

最重要的事!

①.如果nginx的版本小于1.3.3则需要升级之后才会增加ETag功能;(不得不升级啊!)

②.如果nginx版本介于1.3.3和1.7.3之间则需要关闭gzip之后才能开启ETag,因为此时nginx的gzip和ETag不兼容,如果真的需要同时使用这2种功能,还是可以通过修改nginx的源码重新编译后启用;

③.如果nginx版本大于等于1.7.3,直接编译安装即可启用,而且与gzip模块是兼容的哦。

看了以上三条,强烈建议无论你nginx版本多少都升级到1.8.0版本最好,现在是稳定版就是1.8.0。

其次,linux下安装nginx和升级nginx的步骤有一点不同,为了避免不小心覆盖的问题,我们只介绍nginx的升级。

我的nginx目录安装在/usr/local/nginx目录下,可执行文件就是/usr/local/nginx/sbin/nginx

一定要备份可执行文件:cp -pR /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.1.2.3

然后是将下载好的nginx-1.8.0.tar.gz上传到/root目录下并解压:cd /root

tar zxvf nginx-1.8.0.tar.gz

cd nginx-1.8.0

./configure --prefix=/usr/local/nginx \

--user=nginx \

--group=nginx \

--sbin-path=/usr/local/nginx/sbin/nginx \

--conf-path=/usr/local/nginx/conf/nginx.conf \

--error-log-path=/var/logs/nginx/error.log \

--http-log-path=/var/logs/nginx/http.log \

--pid-path=/usr/local/nginx/nginx.pid \

--lock-path=/usr/local/nginx/nginx.lock \

--with-http_ssl_module \

--with-http_dav_module \

--with-http_flv_module \

--with-http_realip_module \

--with-http_gzip_static_module \

--with-http_stub_status_module \

--with-mail_ssl_module \

--with-debug \

--http-client-body-temp-path=/var/tmp/nginx/client/ \

--http-proxy-temp-path=/var/tmp/nginx/proxy/ \

--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi/ \

--http-fastcgi-temp-path=/var/tmp/nginx/fastcgi/ \

--http-scgi-temp-path=/var/tmp/nginx/scgi/

make

只能make,但不要make install。

编译完成之后,便在/root/nginx-1.8.0/objs目录下生成了最新版的nginx可执行文件,只需要将其复制到旧版覆盖即可。\cp -pf /root/nginx-1.8.0/objs/nginx /usr/local/nginx/sbin/nginx

cp加反斜线是跳过alias防止提示,-p表示保留文件属性,-f表示强制覆盖。

覆盖完成之后检测一下新版的版本:/usr/local/nginx/sbin/nginx -v

nginx version: nginx/1.8.0,还没完。

最后,重启nginx之前先检测一下是否有配置文件需要改动。/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf

执行之后如果没有报错就OK,有报错一般是缓存目录未建立什么的,手动执行命令建立一下目录。如果是配置文件出错,需要修改配置文件。不报错的情况是这样的: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

接着就是重启nginx了:/usr/local/nginx/sbin/nginx -s reload

没有输出就说明重启成功了,然后到你的chrome调试功能的Network中查看一下图片资源的http头部吧,那里应该会有ETag项的。例如,如果你用的是最新版的nginx,你查看比较大的css文件gzip和ETag是可以共存的^^

如果没有ETag,请检查你的nginx.conf中是否存在以下代码,请将此行删除。

确认没有使用ngx_headers_more清除ETag头:同样在配置文件中不能出现如下语句的任意一句,如果出现请将其删除。

重新启动Nginx,就启用ETag功能了。

转载随意,但请附上文章地址:-)

nginx etag php,Linux下安装nginx如何启用ETag相关推荐

  1. Linux下安装nginx (tar解压版安装) nginx1.16.1

    https://blog.csdn.net/qq_40431100/article/details/104729504 Linux下安装nginx (tar解压版安装) nginx1.16.1 Jkc ...

  2. 如何在Linux下安装nginx

    如何在Linux下安装nginx 1.http://nginx.org 下载对应平台的安装初始配置文件 2.yum install nginx posted on 2012-07-25 15:41 e ...

  3. Linux下安装Nginx详细图解教程

    Linux下安装Nginx详细图解教程 什么是Nginx? Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SM ...

  4. Linux下安装Nginx完整教程及常见错误解决方案

    Linux下安装Nginx完整教程及常见错误解决方案 参考文章: (1)Linux下安装Nginx完整教程及常见错误解决方案 (2)https://www.cnblogs.com/chenxiaoch ...

  5. Linux下安装nginx,启动和重启

    Linux下安装nginx 查看Linux下是否已安装nginx且已启动 安装 重启nginx 查看Linux下是否已安装nginx且已启动 是否安装:find / -name nginx 是否启动: ...

  6. Linux下安装nginx教程

    Linux下安装nginx教程 安装依赖包 #执行一下命令 安装4个依赖包 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl- ...

  7. linux下安装nginx启动,Linux下安装启动nginx的过程

    1.首先将nginx的安装包传到虚拟机里的/home目录下 2.为了方便nginx运行而不影响linux安全需创建组合用户 groupadd -r nginx useradd -r -g nginx  ...

  8. Linux下安装nginx, php, php-fpm并配置

    环境: Fedora20 目标: 在Fedora20上安装好nginx服务器,并可正确解析php文件 1. 安装: yum makecache yum install nginx php php-fp ...

  9. linux下安装nginx tar包,Linux环境下Nginx的安装

    一.首先去官网下载Nginx的tar包 Nginx官方网站地址:http://nginx.org/en/download.html ps:下载速度感人 Nginx下载地址 下载完成之后,把它上传到服务 ...

最新文章

  1. 【每日DP】day 9、P1156 垃圾陷阱(神奇的背包,时间节点处理)难度⭐⭐⭐
  2. Swift3.0语言教程使用字符串创建和初始化字符串
  3. uva1471 二叉搜索树
  4. SpringCloud 应用在 Kubernetes 上的最佳实践 — 线上发布(可回滚)
  5. 电脑打字学习_VOL.3,NO.2 | 小学一年级,爸爸管学习,完全就是个笑话!
  6. python开发网站的优势_Python开发 的优势在哪里
  7. cannot load SAP UI5 application view S2 useful method for resource load
  8. 关于node-sass和sass-loader安装上去的时候的时候报错的问题
  9. 汇编语言之转移指令和原理
  10. (转)Spring简介
  11. Linux下实现多线程异步管道
  12. PAT甲级1022 map、set的使用
  13. (转)比特币基金难产 区块链基金成首发
  14. 关于诺顿误杀系统文件的解决方法
  15. potplayer视频播放时 多行外挂字幕从下向上显示而不是从上向下显示
  16. 冉宝的每日一题-8月15日-- 拓扑排序。
  17. mysql中删除两条重复的数据,只保留一条
  18. 博图v15编程手册_西门子博途TIA中文手册.pdf
  19. unity开发xbox手柄 驱动坑
  20. SAP SMTP邮箱配置全过程

热门文章

  1. 网络安全运维-安全加固篇
  2. fdk-aac交叉编译(MIPS架构)
  3. 推荐三个国内图片素材网站!有这三个就够了!
  4. 阿里云CPU处理器芯片倚天Yitian 710性能评测
  5. 中医-判断“上火”的来源及常用解决方案
  6. 来培训的理由和小目标
  7. openfeign调用服务是否需要网关_化德车主注意!ETC满一年,是否需要年检、是否收取服务费…官方解答来了!...
  8. 2021届bilibili笔试2020-08-13场
  9. 复习系列之大话数据结构
  10. 张甜甜:在实践中迈进数据科学领域 | 优秀毕业生专访