企业级Web Nginx 服务优化(4)

简介:

企业级Web Nginx 服务优化(4)

1.4nginx站点目录及文件URL访问的控制

1.4.1根据扩展名限制程序和文件访问

Nginx下禁止访问资源目录下的php程序文件,配置方法如下:

范例1:nginx配置限制指定目录下的php程序被解析:

wKioL1ihYdHwAbaRAAApHNW1IY0721.jpg-wh_50

以下在些多个目录:

wKiom1ihYeyQt6SMAAAY0MS3gpI054.jpg-wh_50

这些目录的限制必须写一下配置的前面:

wKiom1ihYhGRThjMAAAjk4yZmNg561.jpg-wh_50

范例二:Nginx下配置禁止访问*.txt文件

wKiom1ihYizA7gJWAAAwvtITxyI243.jpg-wh_50

1.4.2禁止访问指定目录下所有的文件和目录

范例1:配置禁止访问指定的单个或者多个目录

wKiom1ihYlDh5svoAAApDrge1vI107.jpg-wh_50

范例2:记住你hi访问目录并返回指定的http状态码

wKioL1ihYnajAjPBAABHUTWIkO8179.jpg-wh_50

14.3限制来源IP访问

使用nfx_http_access_module限制ip访问

范例1:禁止某目录让外界访问,但允许某IP访问该目录,且支持PHP解析

wKiom1ihYpmT7S2QAAA85qFw6rk894.jpg-wh_50

范例2限制及指定ip或ip段访问

wKiom1ihYrvjkeSrAAAt6Jk2QUs476.jpg-wh_50

1.5配置nginx图片及目录防盗链


1.6Nginx错误页面的优雅显示

1.6.1生产环境常见的HTTP状态码列表

http://oldboy.blog.51cto.com/2561410/716294

1.6.2为什么要配置错误页面优雅显示?

在网站运行的过程中,可能由于页面不存在或者系统过载等原因,导致网站无法正常影响用户请求,此时apache服务默认会返回系统默认的错误码及对应的很不友好的

页面。

我们可以将404,403等的错误信息页面重定向到网站页面或者其他指定的页面,提升网站的用户体验。

wKiom1ihYtugLt66AAAebwmk26E575.png-wh_50

范例1 403错误的优雅显示一个实现:

wKioL1ihYwyiEPA8AAAviMmwj5Y440.jpg-wh_50

范例2:404的优雅显示

wKiom1ihYyfBr5zPAAA3xkqSXXs847.jpg-wh_50

提示注意以下写法是,/404.html 为/data0/www/bbs目录下的文件

范例3:50x页面本地单独目录下文件优雅显示:

wKiom1ihY0-QebWhAABCDgdJRPM070.jpg-wh_50

范例4

wKioL1ihY3Sj7XCVAABBPXu6TRM668.jpg-wh_50

wKioL1ihY42jhqDuAAAfjYt5KUw757.jpg-wh_50

范例5:

wKiom1ihY6nwMzPbAABILxzx1_8005.jpg-wh_50


范例6:

wKioL1ihY8_Qv67hAAAxxTFuzwU089.jpg-wh_50

门户网站的一个案例:

wKioL1ihY-yDMDhqAAB0ox5fNZY250.jpg-wh_50

wKiom1ihZAOSSIhgAAA2u8h36qE139.jpg-wh_50

13取得正确途径取得nginx源代码

14系统内核的优化

15使用tmfs文件系统替代频繁访问的目录

16经可能http请求数


重现500的错误是!

apache的下面

1.18使用tmpfs文件系统替换频繁的目录

tmpfs是一种基于内存的文件系统,它和虚拟磁盘ramdisk比较类似像,但不完全相同,和ramdisk一样,tmpfs可以使用RAM,但它也可以使用swap分区来存储。而且传统的ramdisk是个块设备,要用mkfs来格式化它,才能真正地使用它;而tmpfs是一个文件系统,并不是块设备,只是安装它,就可以使用了。tmpfs是最好的基于RAM的文件系统。


【sa】php图片上传php服务异常最终解决方案mount tmpfs

  1. [root@nginx-01 /]# mount -t tmpfs -o size=16m tmpfs /tmp/

  2. [root@nginx-01 /]# df -h

  3. Filesystem      Size  Used Avail Use% Mounted on

  4. /dev/sda2       4.8G  1.5G  3.2G  32% /

  5. tmpfs           112M     0  112M   0% /dev/shm

  6. /dev/sda1       190M   27M  153M  16% /boot

  7. tmpfs            16M     0   16M   0% /tmp

  8. [root@nginx-01 /]# echo "mount -t tmpfs -o size=16m tmpfs /tmp/" >>/etc/rc.local

  9. [root@nginx-01 /]# vim /etc/fstab 

  10. [root@nginx-01 /]# cat /etc/fstab 


  11. #

  12. # /etc/fstab

  13. # Created by anaconda on Sun May 31 23:25:40 2015

  14. #

  15. # Accessible filesystems, by reference, are maintained under '/dev/disk'

  16. # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

  17. #

  18. UUID=280e071a-fce6-4500-864c-27aa5128b198 /                       ext4    defaults        1 1

  19. UUID=9e67b60b-4f53-4172-9f5d-85d1dbaf8fc2 /boot                   ext4    defaults        1 2

  20. UUID=10140018-4653-45e9-99bf-4eedf702e82c swap                    swap    defaults        0 0

  21. tmpfs                   /dev/shm                tmpfs   defaults        0 0

  22. devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

  23. sysfs                   /sys                    sysfs   defaults        0 0

  24. proc                    /proc    

最终的解决方案:

wKioL1ihZKTRYCEXAABVvl9MdtA357.jpg-wh_50

wKioL1ihZL3Rx22ZAABlCvJKxQ4033.jpg-wh_50

apache worker以及perfork模式

prefork模式(默认)

prefork使用的是多个子进程,而每隔子进程只有一个线程,每个进程在某个确定的时候只能维持一个连接。

工作原理:

控制进程最初建立若干个子进程,为了不在请求到来时在生成子进程,所以要根据需求不断的创建新的进程,最大可以达到每秒32个直到满足需求为止。

安装方法:

在变异的过程中,假如参数--with-mpm=prefork 如果不加也可以,因为默认的话,会用prefork模式

优点是效率高,稳定 安全。对于线程调试困难的平台来说,调试更加容易些。

缺点:比work模型消耗的资源比较多。

wKiom1ihZOLQ4fwKAAAw0481x9Q981.png-wh_50










本文转自 妙曼  51CTO博客,原文链接:http://blog.51cto.com/yanruohan/1897334,如需转载请自行联系原作者
目录
相关文章
|
5月前
|
XML JSON 数据安全/隐私保护
Web服务
【10月更文挑战第18天】Web服务
91 9
|
1月前
|
数据采集 Web App开发 API
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
本文介绍了如何使用FastAPI和Selenium搭建RESTful接口,访问免版权图片网站Pixabay并采集图片及其描述信息。通过配置代理IP、User-Agent和Cookie,提高爬虫的稳定性和防封禁能力。环境依赖包括FastAPI、Uvicorn和Selenium等库。代码示例展示了完整的实现过程,涵盖代理设置、浏览器模拟及数据提取,并提供了详细的中文注释。适用于需要高效、稳定的Web数据抓取服务的开发者。
116 15
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
|
1月前
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
80 7
|
1月前
|
监控 关系型数据库 MySQL
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
37 0
|
5月前
|
XML JSON 安全
Web服务是通过标准化的通信协议和数据格式
【10月更文挑战第18天】Web服务是通过标准化的通信协议和数据格式
222 69
|
3月前
|
负载均衡 前端开发 应用服务中间件
负载均衡指南:Nginx与HAProxy的配置与优化
负载均衡指南:Nginx与HAProxy的配置与优化
245 3
|
4月前
|
Go UED
Go Web服务中如何优雅平滑重启?
在生产环境中,服务升级时如何确保不中断当前请求并应用新代码是一个挑战。本文介绍了如何使用 Go 语言的 `endless` 包实现服务的优雅重启,确保在不停止服务的情况下完成无缝升级。通过示例代码和测试步骤,详细展示了 `endless` 包的工作原理和实际应用。
99 3
|
4月前
|
JSON Go UED
Go Web服务中如何优雅关机?
在构建 Web 服务时,优雅关机是一个关键的技术点,它确保服务关闭时所有正在处理的请求都能顺利完成。本文通过一个简单的 Go 语言示例,展示了如何使用 Gin 框架实现优雅关机。通过捕获系统信号和使用 `http.Server` 的 `Shutdown` 方法,我们可以在服务关闭前等待所有请求处理完毕,从而提升用户体验,避免数据丢失或不一致。
56 1
|
4月前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。
|
5月前
|
XML JSON 安全
定义Web服务
【10月更文挑战第18天】定义Web服务
117 12

热门文章

最新文章