配置 “$connection_upgrade” 变量 连接升级通常与 WebSockets 结合使用。 在 nginx 中,我们可以根据 $http_upgrade 变量将 HTTP 连接升级为 WebSocket 连接。 我们可以使用 map 块在 nginx 中定义连接和 http 升级之间的依赖关系: vim nginx.conf map $http_upgrade $connection_upgrade { default upgrade; '' close; 如果 Upgrade 标头设置为 ‘’,此 map 块告诉 nginx 正确设置相关的 Connection
如果想永久的保存参数的设置, 可以将参数加入到/etc/sysctl.conf中。如果想临时的更改参数的配置, 可以修改/proc/sys/net/ipv4/下的参数,
虽然平时大部分工作都是和Java相关的开发, 但是每天都会接触Linux系统, 尤其是使用了Mac之后, 每天都是工作在黑色背景的命令行环境中. 自己记忆力不好, 很多有用的Linux命令不能很好的记忆, 现在逐渐总结一下, 以便后续查看. 基本操作 Linux关机,重启 # 关机 shutdown -h now # 重启 shutdown -r now 查看系统,CPU信息 # 查看系统内核信息 uname -a # 查看系统内核版本 cat /proc/version #
nginx常规使用时作为http协议的反向代理,这里要讲的是非http的Mysql端口代理,理论支持其他协议。 nginx.conf添加如下配置 stream { upstream cloudsocket { hash $remote_addr consistent; server ip:3306 weight=5 max_fails=3 fail_timeout=30s; } server { listen 3306;#数据库服务器监听端口 proxy_connect_timeout 10s; proxy_timeout
导读:阿里云 RDS 专家服务团队帮助云上客户解决过很多紧急问题。现将《ApsaraDB专家诊断报告》中出现的部分常见 SQL 问题总结如下,供大家参考。 MySQL 在近几年仍然保持强劲的数据库流行度增长趋势。越来越多的客户将自己的应用建立在 MySQL 数据库之上,甚至是从 Oracle 迁移到 MySQL上来。但也存在部分客户在使用 MySQL 数据库的过程中遇到一些比如响应时间慢,CPU
使用消费队列防止死锁冲突 在最后一步数据入库时,如果是多线程模式有可能会导致DB死锁,造成数据缺失。 所以依靠jdk8原生队列封装了一个阻塞队列,理论上可以用在缓冲,限流等类似消费场景。 代码不多,大致如下: public class BlockingQueueHelper<T> { private BlockingQueue queue; private ThreadFactory threadFactory; private int threadCount = 1; private int putReTryCount = 5; private T
springBoot监听redis队列获取数据 项目本身有一个批处理模块,使用了springBatch作为数据同步框架,目前2.0版本因为需要对接redis队列,并且数据必须是实时采集并统计显示的(允许一小段的时间差),觉得实时的数据处理使用batch不太合适,所以自行封装实现了对redis队列的数据接收,采用和sringbatch相似的开发模式,降低开发成本,也统一代码风格。 抽取后的结构大致如下 RedisQu
接下来工作需要提供一个数据采集接口,公司有个旧系统使用nginx+lua将数据推送到redis,这正好是很久之前我思考过的一个方案,所以新接口依然使用这种方式,并将这一整套流程记录下来。 下面步骤以centos为例: 配置lua环境(官网下载) mkdir /opt/lua wget http://luajit.org/download/LuaJIT-2.0.5.tar.gz -O /opt/lua/LuaJIT-2.0.5.tar.g tar -zxvf LuaJIT-2.0.5.tar.gz make PREFIX=/opt/lua/target make install
PHP: public function initPath(){ $path = $_SERVER['PATH_INFO']; $lastFix = strrchr($path,'.'); $path = str_replace($lastFix,'',$path); $path = substr($path,1); $array = explode('/',$path); $lenght = count($array); if ($lenght == 1){ $_GET['m'] = $array[0]; }elseif ($lenght == 2){ $_GET['m'] = $array[0]; $_GET['c'] = $array[1]; }elseif ($lenght == 3){ $_GET['m'] = $array[0];
额...就是上个星期的时候要装一个环境,其实难点不是什么,而是一开始没有对的方法和思路。或者是正确的人去指引你怎么做的时候,你是真的很难去突破你面临的困难。周末的下午,一个在房间里,脑海里面想过了很多的事。呆坐了许久之后,推开门的刹那,终究还是想明白了,想过的事,做过的决定,一开始的时候兴许会很迷惑到底是否正确。 现在想起来,看来很多思
记录一个悲催的故事,两年了第一次通宵搞这种事了。也许可能是因为过得太安稳了,不懂得居安思危了。致使太多的事都一直停滞不前了,现在,在轻松的时间里,终于可以找回这种紧迫的动力了。 朋友公司的服务器出现了状况需要重新服务器环境什么的,本来重装环境和搬迁数据这些都是分分钟就可以完成的事。但是其中有一个站点需要配置到ssl,然后选择的是apache的环
何为ssl?百度科普: SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安全协议是由Netscape
如果您的网站没有进行固定链接设置的话,即使nginx没有作伪静态设置,也不会出现只能打开首页,不能打开内页的情况。 也就是在后台的设置->固定链接,将固定链接设置为默认的形式,内页的地址是以"?P="的形式,这一点曾作过测试,不过,一般稍微懂点优化的站长,估计都对链接地址已经作了伪静态处理,如下图: nginx下WordPress伪静态设置 好了,一起来看看,具体的
IIS6:(iis6主机请联系主机商修改规则,部分主机支持httpd.ini,请将下列代码保存为httpd.ini或者下载附件中的httpd.ini上传到博客根目录)[ISAPI_Rewrite] # 3600 = 1 hour CacheClockRate 3600 RepeatLimit 32 RewriteRule /robots.txt(.*) /robots.txt$1 [L] RewriteRule /rss.php(.*) /rss.php$1 [L] RewriteRule /tb.php(.*) /tb.php$1 [L] RewriteRule /favicon.ico /favicon.ico [L] RewriteRule /xmlrpc.php(.*) /xmlrpc.php$1 [L] RewriteRule /wlwmanifest.xml