修改网站设置里的php版本号,Nginx服务优化(隐藏版本号、修改用户和组、设置链接超时)...
Nginx服务优化可以从隐藏版本号、更改用户与组、配置网页缓存时间、日志切割、设置连接超时这几个方面进行优化。下面来详细的看看
1.隐藏版本号
在生产环境中需要隐藏Nginx的版本号,以避免泄露Nginx的版本,使×××者不能针对特定版本进行×××。查看Nginx的版本在CentOS中使用命令curl -Ihttp://172.16.10.10/即可。
[root@localhost ~]# curl -I http://172.16.10.10/
HTTP/1.1 200 OK
Server: nginx/1.12.0 #Nginx版本信息
Date: Fri, 29 Jun 2018 08:52:27 GMT
Content-Type: text/html
Content-Length: 483
Last-Modified: Fri, 29 Jun 2018 06:56:20 GMT
Connection: keep-alive
ETag: "5b35d814-1e3"
Accept-Ranges: bytes
隐藏版本号有两种方式,一种是修改Nginx的源码文件,指定不显示版本号,第二种是修改Nginx的主配置文件。
修改主配置文件的方式如下:
将Nginx的配置文件中的server_tokens选项值设置为off,如没有该配置项,加上即可。
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
........... #省略内容
http {
include mime.types;
default_type application/octet-stream;
server_tokens off; #关闭版本号
............ #省略内容
[root@localhost ~]# 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
再次访问网址,只显示Nginx,版本号已经隐藏。
[root@localhost ~]# service nginx restart #重新启动nginx服务
[root@localhost ~]# curl -I http://172.16.10.10/
HTTP/1.1 200 OK
Server: nginx #nginx隐藏了版本号
Date: Fri, 29 Jun 2018 09:09:36 GMT
Content-Type: text/html
Content-Length: 483
Last-Modified: Fri, 29 Jun 2018 06:56:20 GMT
Connection: keep-alive
ETag: "5b35d814-1e3"
Accept-Ranges: bytes
Nginx的源码文件包含了版本信息,可以随意设置,然后重新编译安装,就会隐藏版本信息。
[root@localhost ~]# vim /opt/nginx-1.12.0/src/core/nginx.h #编辑源码文件
#define NGINX_VERSION "1.1.1" #修改版本号
#define NGINX_VER "IIS" NGINX_VERSION #修改服务器类型
重新编译安装
[root@localhost ~]# cd /opt/nginx-1.12.0/
[root@localhost nginx-1.12.0]#./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module && make && make install
再次访问网址,只显示修改之后的版本信息。
[root@localhost nginx-1.12.0]# service nginx restart #重启nginx服务
[root@localhost nginx-1.12.0]# curl -I http://172.16.10.10/HTTP/1.1 200 OK
Server: IIS1.1.1 #nginx的版本信息
Date: Fri, 29 Jun 2018 09:30:09 GMT
Content-Type: text/html
Content-Length: 483
Last-Modified: Fri, 29 Jun 2018 06:56:20 GMT
Connection: keep-alive
ETag: "5b35d814-1e3"
Accept-Ranges: bytes
2.修改用户和组
Nginx运行时进程需要有用户与组的支持,用以实现对网站文件读取时进行访问控制。主进程由root创建,子进程由指定的用户与组创建。Nginx默认使用nobody用户账号与组账号,一般要修改。
(1)编译Nginx时指定用户与组,就是配置nginx时,在./configure后面指定用户与组的参数。
[root@localhost ~]# cd /opt/nginx-1.12.0/
[root@localhost nginx-1.12.0]#./configure --prefix=/usr/local/nginx
--user=nginx #指定用户名是nginx
--group=nginx #指定组名是nginx
--with-
&& make && make install
(2)修改Nginx配置文件nginx.conf指定用户与组。
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
user nginx nginx; #修改用户为nginx,组为nginx
重启nginx查看进程运行情况,主进程由root账户创建,子进程由nginx创建。
[root@localhost ~]# ps aux | grep nginx
root 14923 0.0 0.0 20540 624 ? Ss 17:30 0:00 nginx: master process /usr/local/nginx/sbin/nginx #主进程由root创建
nginx 14925 0.0 0.1 22984 1412 ? S 17:30 0:00 nginx: worker process #子进程由nginx创建
root 19344 0.0 0.0 112720 984 pts/0 R+ 17:47 0:00 grep --color=auto nginx
3.配置网页缓存时间
当Nginx将网页数据返回给客户端后,可设置缓存时间,方便日后进行相同内容请求是直接返回,避免重复请求,加快访问速度,一般只针对静态资源进行设置,对动态网页不用设置缓存时间。
操作步骤如下所示:
(1)以图片作为缓存对象,将game.jpg放到Nginx的网站目录下。
[root@localhost ~]# cd /usr/local/nginx/html/ #Nginx的网站目录
[root@localhost html]# ls
50x.html error.png game.jpg index.html test.html
(2)访问http://172.16.10.10/game.jpg, 再用Fidder工具抓包,查看响应报文,没有图片的缓存信息。
(3)修改配置文件,在新的location段加入expire参数,指定缓存时间,1d表示一天。
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
location ~\.(gif|jpg|jepg|png|bmp|ico)$ { #加入新的location
root html;
expires 1d; #指定缓存时间
}
(4)重启nginx服务,访问网址抓包,响应报文中含有Expire参数,表示缓存的时间。
[root@localhost ~]# service nginx restart
以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要戳这里
修改网站设置里的php版本号,Nginx服务优化(隐藏版本号、修改用户和组、设置链接超时)...相关推荐
- Nginx查看、隐藏和修改版本号
查看Nginx版本号 报文头和默认的404页面会显示Nginx服务器的版本号 curl www.baidu.com -I HTTP/1.1 200 OK Accept-Ranges: bytes Ca ...
- Nginx服务优化——性能与安全
1.隐藏Nginx的版本 一般来说,软件的漏洞都和版本有关的.为了减少被人针对某一版本的恶意***,我们可以把我们的Nginx版本隐藏起来,提高被***的门槛.在隐藏版本号之前,我们可以通过curl获 ...
- 企业级nginx服务优化(一)
配置文件总结 nginx.conf httpd.conf httpd-vhosts.conf httpd-mpm.conf my.cnf php.ini ...
- Nginx 服务优化与防盗链
文章目录 一.隐藏版本号 1.1 隐藏版本号的操作步骤(理论) 1.2 隐藏版本号的实验具体步骤(实操) 1.3 修改用户与组 二.缓存时间 2.1缓存时间的操作步骤(理论) 2.2 缓存时间的实验具 ...
- 大话西游2服务器修改,【独家】大话西游一键端单机服务端+GM工具+修改教程
环境搭建 1.首先要安装VM虚拟机(网上挺多的,容易下载) 安装很简单,一直下一步就可以了.就是这个东西 2.要下载一个CentOS 6.5操作系统镜像 (网上有很多,大概4G多容量,不上传了) C ...
- 企业级nginx服务优化(三 )Apache+防盗链
apache worker/prefork /application/apache/bin/apachectl -l | sed -n '/worker\|prefork/p' worker ...
- Web服务器群集——Nginx企业级优化
Nginx企业级优化 Nginx企业级优化 隐藏版本号 修改用户和组 配置网页缓存时间 日志切割 设置连接超时 更改进程数 配置网页压缩 配置防盗链 FPM参数优化 Nginx企业级优化 nginx. ...
- php放进文件夹里无法编译,基于nginx的zabbix安装问题
首次运用zabbix这个软件,yum安装在Apache上使用时很顺利,但是在预编译安装后在nginx上时遇到了一系列问题,中间一度怀疑人生 ==!,逐一解决后最简单的监控终于成功. 一.php安装的问 ...
- Linux实战教学笔记37:企业级Nginx Web服务优化实战(上)
一,Nginx基本安全优化 1.1 调整参数隐藏Nginx软件版本号信息 一般来说,软件的漏洞都和版本有关,这个很像汽车的缺陷,同一批次的要有问题就都有问题,别的批次可能就都是好的.因此,我们应尽量隐 ...
最新文章
- 在Java项目用框架(hibernate)的前提下解决sql的union问题
- pythonappium环境搭建_python appium环境搭建
- 下述有关计算机网络的描述错误的是6,下述有关计算机总线的描述错误的是( ) 。...
- BERT跨模态之后:占领了视觉常识推理任务榜单TOP 2!
- pythonista脚本_IPA Installer脚本下载-Pythonista脚本IPA Installer(安装手机ipa文件) - 极光下载站...
- 友元函数可以访问私有成员吗_C++的友元函数和友元类
- java发送qq邮件_「java发邮件」Java 通过SMTP实现发送QQ邮件 - seo实验室
- 腾讯地图位置服务器,腾讯地图推出地形图服务
- vue实现折叠组件-collapse
- 标梵微信小程序开发价格之做一个小程序要多少钱?
- sequence-数据库-sjk
- 市场份额正在“迅速衰退”!华为将如何纾困?
- 日本房产泡沫的崩塌,虽然很长,希望80后仔细阅读
- 用论文写作平台Overleaf写中文论文
- java联机_Java实现简易联网坦克对战小游戏
- 地震勘探原理c语言,《地震勘探原理》
- 什么是证券投资基金?
- 剑指offer面试题(31-40)——java实现
- Windows Forms(二)
- c语言+连加2的指令,c语言计算1+2+……+n的累加求和 用while和for俩种方法?
热门文章
- 二十四节气和计算机专业,墨迹万年历专业日历“二十四节气”带你行走不一样的2021...
- 幼儿园关于计算机的应用教案,幼儿园中班教案《聪明的电脑》含反思(通用)...
- 用html和css写一个聚划算页面
- HTML+ThreeJS从零开始搭建一个展示三维模型展示网站 【0】
- 制作滚动的方块 【插件】
- ArcSoft's Office Rearrangement
- 关于C6011:取消对NULL指针的引用解决方案
- 互联网乱弹之酷六的杯具
- 《可以量化的经济学》可以购买了,…
- window效率神器推荐