
Nginx
可可keketrtr
QQ:564964596
微信:keketrtr
展开
-
ab(http)与abs(https)压测工具
在学习ab工具之前,我们需了解几个关于压力测试的概念 吞吐率(Requests per second) 概念:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。 计算公式:总请求数 / 处理完成这些请求数所花费的时间,即 Request per second = Complet...转载 2020-03-16 11:47:44 · 2734 阅读 · 1 评论 -
WebSocket开发过程中遇到的几个小问题
问题一:WebSocket连接后一分钟自动断开关闭这是因为websocket长连接有默认的超时时间(1分钟),就是超过一定的时间没有发送任何消息,连接会自动断开。解决办法就是让浏览器每隔一定时间(要小于超时时间)发送一个心跳。代码如下:window.setInterval(function(){ //每隔5秒钟发送一次心跳,避免websocket连接因超时而自动断开var ping =原创 2017-06-05 10:59:41 · 21837 阅读 · 10 评论 -
Nginx配置SSL证书部署HTTPS网站
一、什么是 SSL 证书,什么是 HTTPSSSL 证书是一种数字证书,它使用 Secure Socket Layer 协议在浏览器和 Web 服务器之间建立一条安全通道,从而实现:1、数据信息在客户端和服务器之间的加密传输,保证双方传递信息的安全性,不可被第三方窃听;2、用户可以通过服务器证书验证他所访问的网站是否真实可靠。HTTPS 是以安全为目标的 HTTP 通道,即 H转载 2017-11-20 11:35:45 · 8686 阅读 · 0 评论 -
nginx从1.6.3升级至1.12.2版本(安装也可参考此文)
准备环境:(仅针对没有安装过nginx的系统)检查并安装所需的依赖软件 1).gcc:nginx编译依赖gcc环境 安装命令:yum -y install gcc-c++ 2).pcre:(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式. 安装命令:yum i...原创 2017-11-20 15:31:39 · 6401 阅读 · 0 评论 -
nginx实现请求的负载均衡 + keepalived实现nginx的高可用
前言 使用集群是网站解决高并发、海量数据问题的常用手段。当一台服务器的处理能力、存储空间不足时,不要企图去换更强大的服务器,对大型网站而言,不管多么强大的服务器,都满足不了网站持续增长的业务需求。这种情况下,更恰当的做法是增加一台服务器分担原有服务器的访问及存储压力。通过负载均衡调度服务器,将来自浏览器的访问请求分发到应用服务器集群中的任何一台服务器上,如果有更多的用户,就在集群中加入更转载 2017-12-15 10:52:25 · 254 阅读 · 0 评论 -
linux CentOS7 下 Nginx1.13.7 安装
软件环境:centos7 nginx-1.13.7nginx下载地址:http://nginx.org/en/download.html一、安装依赖软件yum -y install gcc gcc-c++ autoconf automake makeyum -y install zlib zlib-devel openssl openssl-devel pc转载 2018-02-07 00:18:54 · 1145 阅读 · 0 评论 -
nginx+tomcat配置独立域名访问
配置非常简单,在nginx中配置。upstream backend_tomcat { server 127.0.0.1:8081; }server { listen 80; server_name sub.yourdomain.com; //你的独立域名 location / { proxy_pass http://backen...原创 2018-02-12 18:20:42 · 685 阅读 · 1 评论 -
Nginx + Tomcat + HTTPS 配置不需要在 Tomcat 上启用 SSL 支持
Nginx SSL+tomcat集群 Nginx tomcat no 不用https最近做了个Web项目, 架构上使用了 Nginx +tomcat 集群, 且全站HTTPS,用nginx 做负载,nginx和tomcat 使用内网http通信,遇到http css,js静态资源被浏览器拦截问题,网上搜索到的很多文章在描述 Nginx + Tomcat 启用 HTTPS 支持的时候,都必须在 Ng...转载 2018-05-25 10:33:30 · 1412 阅读 · 0 评论 -
SSL For Free网站获取Let's Encrypt免费SSL证书
0.序言随着小程序的开放,自己也尝试去写一些,但是发现对于后台接口必须使用HTTPS,申请证书成了一个问题,谷歌下,发现了Let's Encrypt免费SSL证书。于是开始申请并部署,记录下来。1.申请证书1.1 登陆网站网址:https://www.sslforfree.com/如下图: 网站首页1.2 输入域名会看到一个搜索框,输入我们需要获取SSL...转载 2018-05-24 18:41:55 · 774 阅读 · 0 评论 -
Nginx使用limit_req_zone对同一IP访问进行限流
nginx可以使用ngx_http_limit_req_module模块的limit_req_zone指令进行限流访问,防止用户恶意攻击刷爆服务器。ngx_http_limit_req_module模块是nginx默认安装的,所以直接配置即可。首先,在nginx.conf文件中的http模块下配置limit_req_zone $binary_remote_addr zone=one:10m原创 2017-07-18 18:57:02 · 32926 阅读 · 3 评论 -
CentOS下安装nginx
Nginx ("engine x") 是一个高性能的HTTP(处理静态文件)和反向代理(负载均衡)服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx官网上(http://Nginx.com/company/)列出了诸如Facebook,GitHub,Groupon,Dropbox等,国内的大互联网公司,如百度、腾讯、阿里巴巴基本上都应用Nginx。本文将从基础开始,详细阐述转载 2017-06-27 10:52:53 · 717 阅读 · 0 评论 -
Keepalived+Nginx实现负载均衡高可用
一、负载均衡高可用 Nginx作为负载均衡器,所有请求都到了Nginx,可见Nginx处于非常重点的位置,如果Nginx服务器宕机后端web服务将无法提供服务,影响严重。 为了避免负载均衡服务器的宕机故障,需要建立一个备份机。主备机上都运行高可用(High Availability)监控程序,通过传送心跳信息来监控对方的运行状况。当备份机不能在一定的时间内收到对方的转载 2017-06-27 10:48:13 · 463 阅读 · 0 评论 -
nginx使用ssl模块配置HTTPS支持
默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译时指定–with-http_ssl_module参数,安装模块依赖于OpenSSL库和一些引用文件,通常这些文件并不在同一个软件包中。通常这个文件名类似libssl-dev。生成证书可以通过以下步骤生成一个简单的证书:首先,进入你想创建证书和私钥的目录,例如:$ cd /usr/local/nginx/conf转载 2015-07-20 11:49:05 · 730 阅读 · 0 评论 -
nginx本身不能提高性能
我以前安装了nginx并部署了项目,用apche ab压力测试了一下,发现还不如直接访问tomcat效率高。以为配置错了。现在终于明白了,nginx的主要价值体现在均衡负载上,效率的提升是当客户端访问的压力超过单台服务器时,nginx通过均衡负载把压力分散到多台服务器上。但如果只有一台服务器或是压力不大时,nginx反而会降低效率,因为请求毕竟多走了一个nginx,比直接访问服务器肯定差一点。当然原创 2015-10-28 15:13:31 · 977 阅读 · 0 评论 -
使用apache ab对nginx+varnish+tomcat进行压力测试的结果报告
测试地址:http://172.16.15.111/arch1/toIndex第一次配置的时候,在varnish的配置文件的vcl_recv里我把该地址配置成lookup,这个没问题,但我在vcl_fetch里配置的时候放到了hit_for_pass后面,导致根本不去缓存,这种情况下,访问varnish肯定不如直接访问tomcat,毕竟是绕路了。下面是该错误导致的测试结果:(Requests原创 2015-11-03 16:20:15 · 1880 阅读 · 0 评论 -
nginx配置pass_proxy导致ERR_NAME_NOT_RESOLVED和403 Forbidden
今天在百度云服务器上搭建nginx,方向代理web服务。配置如下:upstream backend_tomcat { #ip_hash; server 180.76.176.141:8080; }server { listen 80; server_name remotejob.cn www.remot原创 2017-04-12 23:00:22 · 6297 阅读 · 0 评论 -
http请求重写为https要注意的问题
通过nginx将http请求重写为https。当http协议的post请求过来时,会返回301状态码,即页面永久性移走(301重定向),这时浏览器会重新用https协议发起请求,问题是这时候的https协议的请求已经不是post方式了,而是变成了get方式。之前post提交的参数也全部丢失!所以,尽量不要在发起post请求时将URL写死为http,而是项目的相对路径,即request.getC原创 2017-04-18 17:34:16 · 2270 阅读 · 0 评论 -
禁止外网直接访问tomcat8080端口
我的项目是nginx+tomcat部署的。既然要走nginx,为了安全起见,我想要禁止用户直接访问tomcat端口,在网上查了一下,因为可以通过设置iptables防火墙实现。但我不想用这种方式,还用另一种方式是在tomcat的conf目录下的server.xml进行配置。具体是在里面配置:因为我的nginx和tomcat是部署在一台服务器上,所以首先想到配置IP为127.0.0.1,但测原创 2017-06-05 17:56:04 · 5399 阅读 · 0 评论 -
yum安装的nginx没有configure
解决办法:更新一下依赖相关包yum -y install pcre*原创 2017-06-16 17:53:01 · 8599 阅读 · 2 评论 -
Nginx 核心模块、HTTP模块、邮件模块解析
安装模块Nginx 模块必须在编译时就进行选择,目前不支持在运行时进行模块选择。在编译时,可以通过命令 ./configure --help 运行所提供的配置脚本来查看所有支持的编译选项列表(包含可选模块)。Nginx 核心模块这些模块是必须的。名称说明Main配置错误日志、进程、权限等。Events配置e转载 2017-06-16 17:54:17 · 1311 阅读 · 0 评论 -
nginx利用第三方模块nginx_upstream_check_module来检查后端服务器的健康情况
大家都知道,前段nginx做反代,如果后端服务器宕掉的话,nginx是不能把这台realserver提出upstream的,所以还会有请求转发到后端的这台realserver上面去,虽然nginx可以在localtion中启用proxy_next_upstream来解决返回给用户的错误页面,方法在:http://www.linuxyan.com/web-server/67.html,大家可以参考一转载 2017-06-26 12:20:17 · 9320 阅读 · 0 评论 -
Nginx Location配置总结
语法规则: location [=|~|~*|^~] /uri/ { … }= 开头表示精确匹配^~ 开头表示uri以某个常规字符串开头,理解为匹配url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static//aa匹配到(注意是空格)。~ 开头表示区分大小写的正则匹配~* 开头表示不区分大小写的正则匹配!~和!~*分别为转载 2015-07-20 11:49:56 · 410 阅读 · 0 评论