![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
nginx技术
文章平均质量分 61
YHJ
你有找到为之奋不顾身的事吗?
展开
-
nginx的启动、停止、重载配置、验证配置
【1】启动启动nginx系统方式:(1)命令nginx -c /usr/local/nginx/conf/nginx.conf 说明:-c 参数指定运行nginx系统的自定义配置文件。若加:使用自定义配置文件。实例请参见下文【停止】nginx系统的方式贴图。若不加:使用默认的nginx.conf(一般位于/usr/local/conf/nginx.conf,具体以实际情况为准)如下实例效果:即nginx系统选择默认的配置文件(2)shell脚本新建start.s转载 2021-06-13 23:55:37 · 72998 阅读 · 0 评论 -
Linux下如何查看定位当前正在运行的Nginx的配置文件
Linux环境下,怎么确定Nginx是以那个config文件启动的?输入命令行: ps -ef | grep nginx摁回车,将出现如下图片:master process 后面的就是 nginx的目录。怎么查看服务器上安装的nginx版本号,主要是通过ngix的-v或-V选项,查看方法如下图所示:-v 显示 nginx 的版本。-V 显示 nginx 的版本,编译器版本和配置参数。Linux下如何查看定位当前正在运行的Nginx的配置文件Linu...转载 2021-06-13 07:34:43 · 5722 阅读 · 0 评论 -
“/mnt/data/nginx/proxy/3/33/0000001333“ failed (13: Permission denied) while reading upstream, clien
问题现象当http请求访问nginx,转发到网关,再到各服务之后浏览器现象1.图片概率性展示2.音视频大概率无法下载3.音视频无法播放状态这些也无异常,还以为是代码的问题,但是不是代码错误:1.ClientAbortException: java.io.IOException: Broken pipe(1.)当访问某个服务突然服务器挂了,就会产生Broken pipe;(2)客户端读取超时关闭了连接,这时服务器往客户端再写数据就发生了broken ..转载 2021-06-12 08:57:28 · 335 阅读 · 0 评论 -
nginx-- port_in_redirect off配置服务器造成 很大的威胁,后端端口暴露出来
规则描述:可以从Nginx的核心模块中得知,如果请求发生重定向,Nginx默认的情况下,是会在重定向的URL后自动添加Nginx当前站点监听的端口。这样明显会对服务器造成 很大的威胁,后端端口暴露出来,就可能会被人直接对这个端口进行诸如CC类攻击。根据:审计描述:检查nginx.conf文件,是否存在以下配置:http {...#Nginx will not add the port in the url when the request is redirected...转载 2021-06-11 21:48:27 · 2254 阅读 · 2 评论 -
URL后面不加斜杠导致Host头攻击-nginx
参考:https://www.cnblogs.com/fws407296762/p/9336163.htmlhttps://www.freebuf.com/articles/web/178315.htmlhttps://blog.csdn.net/baishuhui123/article/details/89216646Nginx URL后面不加斜杠301重定向和302重定向。导致的host头攻击。主要原因:当请求URL后面没有 / ,Nginx 目录中没有对应的文件,就会自动进行 301转载 2021-06-11 21:44:29 · 1337 阅读 · 0 评论 -
unknown directive “stream” in /usr/local/nginx
nginx默认安装的时候无法加载流stream模块,需要在启动参数里加上–with-stream。解决方法:重新对源文件进行编译、安装,通过添加–with-stream参数指定安装stream模块。[root@localhost nginx-1.12.2]# ./configure --with-stream[root@localhost nginx-1.12.2]# make & make install再次检查nginx.conf配置文件,确认配置无语法错误后,再次尝试启动转载 2021-06-11 21:23:53 · 2393 阅读 · 0 评论 -
隐藏Apache的版本号及其它敏感信息
安装完apache一般第一时间都是关闭apache的版本信息和其他信息,一些黑客会通过apache暴露出来的信息针对性的入侵,为了服务器的安全这些信息一定要及时关闭,配置如下1.隐藏Apache信息1.1 主配置中启用httpd-default.conf 1 2 3 # vi /usr/local/apache2/conf/httpd.Conf //找到httpd-default.conf,删除includes前面的“#”,改成如下..转载 2021-06-09 23:31:41 · 1627 阅读 · 1 评论 -
隐藏Nginx版本号的安全性与方法
搭建好nginx或者apache,为了安全起见我们都会隐藏他们的版本号,这边讲的是nginx的版本号,如果你也想隐藏apache的版本号,那请点前面的链接。请看nginx版本号信息隐藏文章。Nginx默认是显示版本号的,如: 1 [root@bkjz ~]# curl -I www.nginx.org 1 2 3 4 5 6 7 8 9 HTTP/1...转载 2021-06-09 23:31:06 · 286 阅读 · 0 评论 -
nginx 编译参数详解(运维不得不看)
标题是不是很欠揍,个人认为确实值得一看,如果你不了解nginx,或者你刚学nginx,或者已经使用nginx一段时间了。但是nginx很多参数你还没去了解,nginx有很多你不知道的用处。不废话,上内容。内容是从网络上摘抄的。内容有些多,一眼看来难免头昏脑胀,但坚持看完,相信你一定会有所收获。nginx参数:--prefix= 指向安装目录--sbin-path 指向(执行)程序文件(nginx)--conf-path= 指向配置文件(nginx.conf)--error-log-p转载 2021-06-09 23:30:08 · 4553 阅读 · 0 评论 -
使用nginx阻止别人域名绑定到自己服务器上
有规定,默认虚拟主机不能被访问到。防止有些没备案的机器解析到了服务器上,否则要受到处罚。nginx在这方面很简单,几行配置即可。配置如下: 1 2 3 4 server { listen 81 default_server; return 500; } ...转载 2021-06-09 23:28:54 · 355 阅读 · 0 评论 -
nginx 同一个IP上配置多个HTTPS主机
最近公司域名更变,同时,又要新旧域名同时运行。 那么,对于https的域名在同一个IP上如何同时存在多个虚拟主机呢?遂,查看了下nginx手册,有这么一段内容,如下:如果在同一个IP上配置多个HTTPS主机,会出现一个很普遍的问题: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 server { listen...转载 2021-06-09 23:00:04 · 917 阅读 · 0 评论 -
nginx强制缓存(解决no-store)
nginx代理做好了,缓存也配置好了,但是发现css、js、jpg这些静态文件统统都cached成功。但是偏偏页面文件依旧到源服务器取。1. nginx不缓存原因默认情况下,nginx是否缓存是由nginx缓存服务器与源服务器共同决定的, 缓存服务器需要严格遵守源服务器响应的header来决定是否缓存以及缓存的时常。header主要有如下: 1 Cache-control:no-cache、no-store 如果出现这两值,nginx缓存服务器是绝对.转载 2021-06-09 22:58:38 · 3064 阅读 · 0 评论 -
启用nginx status状态详解
nginx和php-fpm一样内建了一个状态页,对于想了解nginx的状态以及监控nginx非常有帮助。为了后续的zabbix监控,我们需要先了解nginx状态页是怎么回事。1. 启用nginx status配置在默认主机里面加上location或者你希望能访问到的主机里面。 1 2 3 4 5 6 7 8 9 10 11 server { listen *:80 ...转载 2021-06-09 22:58:06 · 8564 阅读 · 1 评论 -
connect() failed (111: Connection refused) while connecting to upstream解决
有时候nginx运行很正常,但是会发现错误日志中依旧有报错connect() failed (111: Connection refused) while connecting to upstream.一般情况下我们的upstream都是fastcgi://127.0.0.1:9000. 造成这个问题的原因大致有两个php-fpm没有运行执行如下命令查看是否启动了php-fpm,如果没有则启动你的php-fpm即可 1 netstat -ant | gre..转载 2021-06-09 22:08:57 · 7304 阅读 · 0 评论 -
nginx proxy_pass指令’/’注意事项
nginx代理配置完之后,nginx配置proxy_pass,需要注意转发的路径配置.1. proxy_pass配置说明不带/ 1 2 3 4 location /test/ { proxy_pass http://t6:8300; } 带/ 1 2 3 4 location /test/ {...转载 2021-06-09 22:08:17 · 137 阅读 · 0 评论 -
nginx安全配置
安全是一个重要的问题,必须引起注意。1.nginx介绍nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端。nginx一般是把请求发fastcgi管理进程处理,fastcgi管理进程选择cgi子进程处理结果并返回被nginx。nginx涉及到两个账户,一个是nginx的运行账户,一个是php-fpm的运行账户。如果访问的是一个静态文件,则只需要nginx的运行账户对文件具有读取权限;而如果访问的是一个php文件,则首.转载 2021-06-09 22:07:07 · 1087 阅读 · 0 评论 -
nginx上传错误413 Request Entity Too Large
默认情况下使用nginx反向代理上传超过2MB的文件,会报错413 Request Entity Too Large,解决这个方法很简单,修改配置client_max_body_size值即可修改nginx.conf 1 2 #cat /usr/local/nginx-1.7.0/conf/nginx.conf | grep client_max_body_size client_max_body_size 10M; 如果需要上传更..转载 2021-06-09 22:06:13 · 556 阅读 · 0 评论 -
nginx大文件下载优化
默认情况下proxy_max_temp_file_size值为1024MB,也就是说后端服务器的文件不大于1G都可以缓存到nginx代理硬盘中,如果超过1G,那么文件不缓存,而是直接中转发送给客户端.如果proxy_max_temp_file_size设置为0,表示不使用临时缓存。在大文件的环境下,如果想启用临时缓存,那么可以修改配置,值改成你想要的。修改nginx配置 1 2 3 4 5 6 location /..转载 2021-06-09 22:05:13 · 6871 阅读 · 0 评论 -
nginx 301重定向配置
301重定向不陌生, 有时候有需求把某目录整个重定向到一个二级域名,或者不带www的顶级域名请求全部重定向到带www的二级域名.如果是Apache,需要配置.htaccess,nginx不支持,需要在配置文件里面使用rewrite指令来实现。顶级域名重定向到www 1 2 3 4 server { server_name ttlsa.com; rewrite ^/(.*)$ http://www.ttlsa.com/$1..转载 2021-06-09 22:04:23 · 3591 阅读 · 0 评论 -
nginx 重写URL尾部斜杠
网友问如何在URL后面添加上斜杠。顺便总结了下针对URL结尾添加斜杠和删除斜杠的改写规则。1. 在URL结尾添加斜杠在虚拟主机中这么添加一条改写规则: 1 rewrite ^(.*[^/])$ $1/ permanent; 例如: 1 2 3 4 5 server { listen 80; server_name bbs.ttlsa.com; ...转载 2021-06-09 22:02:20 · 1287 阅读 · 0 评论 -
nginx日志详解
一、nginx日志介绍Nginx日志对于统计、系统服务排错很有用。Nginx日志主要分为两种:access_log(访问日志)和error_log(错误日志)。通过访问日志我们可以得到用户的IP地址、浏览器的信息,请求的处理时间等信息。错误日志记录了访问出错的信息,可以帮助我们定位错误的原因。本文将详细描述一下如何配置Nginx日志。访问日志主要记录客户端的请求。客户端向Nginx服务器发起的每一次请求都记录在这里。客户端IP,浏览器信息,referer,请求处理时间,请求URL等都可以在访问日志中转载 2021-06-09 21:52:22 · 24250 阅读 · 0 评论 -
Nginx代理连接Redis失败
遇到了一个客户端连接Redis总是失败的问题,由于是通过nginx代理连接的,又尝试不通过nginx代理连接直接连接redis地址,不过连接很不稳定,不时就断了。因为这部分配置跑了一年多了,也没想到是nginx的问题,各种排查网络情况,弄了半天也没有个结论。顺手看了一眼nginx的error日志,发现了新大陆。。。看来正式环境的nginx的error日志加上的必要性还是非常非常的大的。nginx的错误日志如下:2020/03/31 16:02:10 [alert] 25058#0: *59139转载 2021-06-09 20:40:05 · 1589 阅读 · 0 评论 -
nginx配置代理指向Redis
stream { upstream redis { server 127.0.0.1:6379 max_fails=3 fail_timeout=30s; #*redis-addres*替换为真实地址 } server { # 对外暴露端口号 listen 2101; proxy_connect_timeout 1s; proxy_timeout 3s; proxy_pass redis; .转载 2021-06-09 20:37:42 · 2802 阅读 · 0 评论 -
nginx转发mysql连接
场景:访问UAT环境,只能使用客户电脑访问,太难用了,于是就需要在自己电脑上跑代码,通过客户电脑中转来访问uat环境的数据库。选用nginx进行转发。配置如下:stream { upstream cloudsocket { hash $remote_addr consistent; server 192.168.182.155:3306 weight=5 max_fails=3 fail_timeout=30s; } server {转载 2021-06-09 20:32:13 · 5170 阅读 · 0 评论 -
nginx配置ssl证书实现https访问
配置ssl证书之前,先准备SSL证书,至于获取的途径很多(阿里云的服务,第三方服务购买)。这里不详细解释。以下是我的SSL证书准备好证书后,找到nginx的安装目录,我的安装位置为:/usr/local/nginx进入 config/nginx.conf如果没有装winscp(一款可视化文件操作工具)的。可以通过命令行的方式,编辑nginx的config文件。开始配置文件的修改在修改配置文件之前,最好做一个备份,防止修改错误,也能及时回退错误1、找到第一个监听..转载 2021-06-04 07:37:49 · 32346 阅读 · 4 评论 -
nginx 之黑白名单
要想限制某个ip访问在/etc/nginx/nginx.conf里的location里添加deny 172.16.3.55allow all(禁止172.16.3.55访问,允许其他ip访问)allow 172.16.3.55 deny all(只允许172.16.3.55访问,禁止其他ip)转载 2021-05-28 23:36:51 · 153 阅读 · 0 评论 -
玩转Linux系统之搭建Nginx+Tomcat群集实现负载均衡
理论提示:理论是基础,对搭建最优平台架构有帮助。1、tomcat是免费的开放源代码的web应用服务器属于轻量级应用服务器,是开发和调试jsp程序的首选。一般来说,具有处理html页面的功能。2、性价比高在中小型系统和并发访问用户不是很多的场合下被普遍使用3、处理html的能力远不及apache或者nginx所以,tomcat通常是作为一个servlet和jsp容器,单独运行在后端。搭建Nginx+Tomcat群集提示:可以有多种方式,为便于理解介绍比较简单的一种。环...转载 2021-05-17 07:14:29 · 326 阅读 · 0 评论 -
nginx try_files用法 及Nginx location的一些配置
实例:Yii2推荐ngnix try_files配置location / { try_files $uri $uri/ /index.html?$args;}找指定路径下文件,如果不存在,则转给哪个文件执行 try_files 语法: try_files file1 [file2 ... filen] fallback 默认值: 无 作用域: location Nginx location的匹配规则~ 波浪线表示执行一...转载 2021-05-17 07:14:19 · 3415 阅读 · 0 评论 -
一台服务器通过nginx配置多个域名(80端口)
1. 问题描述多个域名对应一个服务器,为了避免域名后增加端口号,两个域名都需要占用80端口号,使用nginx来进行配置。2. 解决方案目前项目中,线上正在使用(100%可用)多域名对应一个服务器情况(线上ip及域名替换了下)#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;转载 2021-05-15 18:46:03 · 11090 阅读 · 0 评论 -
阿里云服务器配置DNS域名解析
打开地址:https://ecs.console.aliyun.com/,登录1、鼠标放到最左侧,左上角那里,然后会出现菜单栏,点击菜单栏里的域名2、点击域名会出现下面的页面,点击 解析然后再点击添加记录最后点击确定就好了3、配置ngnix配置完域名解析后,一般情况下你还需要在你的阿里云服务器上装一个反向代理服务器,比如ngnix关于ngnix的安装可以参考之前的文章:linux环境下安装nginx然后还需要配一下ngnix的配置文件,...转载 2021-05-15 18:13:34 · 11411 阅读 · 0 评论 -
Nginx虚拟主机(Virtual Host)配置
虚拟主机(Virtual Host)可以在一台服务器上绑定多个域名,架设多个不同的网站,一般在开发机或者要部署多个小网站的服务器上需要配置虚拟主机。nginx的虚拟主机配置其实也挺简单,为了使得配置文件清晰,可以给每一个虚拟主机建立一个配置文件,然后在主配置文件(nginx.conf)里使用include语句包含所有的虚拟主机配置文件。1、建立存放虚拟主机配置文件的文件夹:sudo mkdir/usr/local/etc/nginx/vhosts2、建立虚拟主机配置文件:sud...转载 2021-05-15 18:03:16 · 1996 阅读 · 0 评论 -
nginx代理(正向代理和反向代理)
正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端(目的是为了保护客户端用户)配置文件:server { # 配置DNS解析IP地址,比如 Google Public DNS,以及超时时间(5秒) resolver 8.8.8.8; # 必需 resolver_timeout 5s;...转载 2021-05-15 18:00:47 · 20177 阅读 · 0 评论 -
nginx 的平滑升级
nginx的热部署(平滑升级) 原理: Ngnix中的进程分为两类,一类是master进程(主进程),一类是worker进程(工作进程)。 原理就是首先我们先会替换master进程,同时我们替换的master是与老版本的worker兼容的。下一步,就是保持还有连接的worker进程,待其老去退休,进行替换。 实验材料: 准备两个不同版本的nginx的压缩包 nginx-1.14.2.tar.gz nginx-1.15.8.tar.gz 具体操..转载 2021-05-15 17:53:59 · 1940 阅读 · 0 评论 -
centos7 编译安装nginx-1.14.2
1. 下载nginxhttp://nginx.org/en/download.html选择稳定版本即可 Stable version这里我们选择 nginx-1.14.22. 上传nginx到linux上上传路径为 /usr/local/3. 解压tar -xvf nginx-1.14.2.tar.gzcd nginx-1.14.24. 安装依赖yum install gcc gcc-c++ pcre pcre-devel zlib zlib-devel -y5. 编转载 2021-05-15 17:31:35 · 1101 阅读 · 0 评论