- 博客(71)
- 问答 (1)
- 收藏
- 关注
原创 JIRA系统CentOS系统下的开机启动设置
首先,编写启动脚本jira.shcd /opt/jira/binvim jira.sh#! /bin/sh # chkconfig: 2345 10 90 # description: jira .... # This script will be executed *after* all the other init scripts. # You can put your
2017-04-05 15:32:36
2928
原创 Nginx防盗链配置
location ~* \.(gif|jpg|png|swf|flv)$ { valid_referers none blocked www. a.com www.b.com; if ($invalid_referer) { return 404; }
2017-03-27 17:10:52
611
原创 Nginx实现web页面跳转
需求为:所有访问http://www-sit.abc.com/haibian 跳转至 http://www-sit.abc.com/newhaibianvim /usr/local/nginx/conf/vhost/www-sit.abc.com.conf# 在server字段添加配置rewrite ^/haibian /newhaibian permanent;# 保存退出# /usr/l
2017-03-21 18:09:45
3304
转载 GitLab数据库误删事故
事件过程:GitLab事故之技术详叙:抢救后恢复在线,已确定下一步计划GitLab Todo List1、为不同的环境改变Linux终端的格式或者颜色,例如红色代表生产环境,黄色代表测试环境。针对所有用户在shell提示符处显示机器的完整名字,例如db1.staging.gitlab.com,而不是仅仅是“db1”。: https://gitlab.com/gitlab-com/infrastruc
2017-03-20 13:46:59
3273
1
原创 使用Proxy_pass实现跨域访问
除了使用CORS实现跨域访问的功能,Nginx也有一种相对来说简易的实现方法,就是利用Proxy_pass模块的代理功能来实现: 例如,需要实现www站和m站的跨域访问,则只需要对m站的配置文件中加入下面的配置:### 所有的接口请求都是以/h5api开头 ###location /h5api { # $1表示(.*)这个部分。第一对()内的参数是$1,第二对()内的参数就是$2,以此类
2017-03-17 18:11:42
1952
原创 一些对HTTP协议的理解
基本概念: HTTP(HyperText Transfer Protocol, 超文本传输协议) 是访问互联网使用的核心通信协议,也是所有web应用程序使用的通信协议。 消息模型:客户端发送请求消息,服务器返回响应消息。传输层使用具有状态的TCP协议,但HTTP协议本身不具有状态。HTTP请求 HTTP请求消息分为消息头和消息主体,二者用空白行分隔,例如:GET / HTTP/1.1
2017-03-17 14:34:39
473
原创 git pull报错 error: cannot open .git/FETCH_HEAD: Permission denied
在使用Gitoite管理Git库的时候,使用管理员账号对gitolite-admin仓库进行git pull操作的时候报错[drpeng@srvser gitolite-admin]$ git pullerror: cannot open .git/FETCH_HEAD: Permission denied看字面意思是.git/FETCH_HEAD这个文件没有权限,进入.git文件夹,查看此文件
2017-03-15 10:35:29
27212
1
原创 浏览器如何区分CORS的简单请求和非简单请求
只要同时满足以下两大条件,就属于简单请求。(1) 请求方法是以下三种方法之一:HEADGETPOST(2)HTTP的头信息不超出以下几种字段:AcceptAccept-LanguageContent-LanguageLast-Event-IDContent-Type:只限于三个值application/x-www-form-urlencoded、multipart/form-dat
2017-03-13 16:03:56
2281
原创 Nginx通过CORS配置实现跨域访问
CORS: Cross-origin resource sharing (跨域资源共享),是指a页面想获得b页面的资源,如果a、b页面的协议、域名、端口、子域名不同,所进行的的访问都是进行跨域的,而浏览器为了安全考虑,对跨域访问一般都是进行了限制的。需要注意的是,CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。浏览器将所有的CORS请求分为简单请求和非简
2017-03-13 15:52:01
2183
转载 Redis数据可持续化
Redis数据的可持续化有两种模式:RDB和AOFRDB模式 优势: 1. RDB是Redis数据集的基于时间点的紧凑的副本,非常适合于备份场景。比如每个小时对RDB文件做一次小的归档,每天对RDB文件做一次大的归档,每月对RDB文件做一次更大的归档。这样可以在必要的时刻选择不同的备份版本进行数据恢复。 2. RDB方式的开销较低,在该种方式下Redis父进程所要做的仅是开辟一个子进程来做
2017-03-10 16:19:50
643
原创 Redis相关操作
# Redis启动关闭redis-cli -h 127.0.0.1 -a <passwd>redis-cliredis-cli shutdownredis-server /etc/redis/6379.conf# Redis状态查看infoinfo memoryinfo repolication# 清空缓存flushall# 手动备份数据save# key相关keys *typ
2017-03-10 14:44:46
578
原创 Redis-Sentinel主从自动切换
entinel哨兵: 在其中一台redis上或者随便找一台服务器安装,如果只安装一个sentinel并要安装在redis服务器上,建议在从上搭建sentinel,这样保证了主宕机之后不会影响主从切换,从宕机不会影响主的运行# vim /etc/redis/sentinel.confport 26379 daemonize yes sentinel monitor mymaster 19
2017-03-10 14:24:56
1999
原创 Nginx缓存模块proxy_store
Nginx的proxy_store模块 作用:直接把静态文件在本地硬盘创建并读取 特点:无法通过程序控制cache何时过期,需要定期删除缓存目录中的内容(我们需要永久性保存视频切片文件)基本的配置方式:proxy_store on; //启用缓存到本地的功能proxy_store_access user:rw group:rw all:rw;proxy_temp_path /video /
2017-03-10 11:13:37
1531
原创 Nginx日志499报错处理
Nginx日志使用Shell脚本监控之后,发现大部分报错为HTTP返回值为499,百度之:499对应的是 “client has closed connection”。这很有可能是因为服务器端处理的时间过长,客户端自己断开连接解决问题: proxy_ignore_client_abort on; #让代理服务端不要主动关闭客户端的连接。默认 proxy_ignore_client_abort
2017-03-09 18:17:09
1609
翻译 来自雅虎的《提升网站速度的最佳实践》
原文:Best Practices for Speeding Up Your Web Site1 Minimize HTTP Requests 最小化HTPP请求 2 Use a Content Delivery Network 使用CDN网络 3 Add an Expires or a Cache-Control Head
2017-03-09 16:08:35
354
转载 CentOS7内核参数
临时改变某个系统参数的值,可以用两种方法来实现,例如想启用IP路由转发功能:# echo 1 > /proc/sys/net/ipv4/ip_forward# sysctl -w net.ipv4.ip_forward=1以上两种方法都可能立即开启路由功能,但如果系统重启,或执行了# service network restart命令,所设置的值即会丢失,如果想永久保留配置,可以修改/et
2017-03-09 15:45:45
3727
原创 利用grok对Nginx日志进行分解
提前对Nginx日志的格式进行定义,根据定义好的日志进行分解 Nginx日志格式为:192.168.1.106 192.168.1.106 101.246.116.62 "09/Mar/2017:15:18:59 +0800" "GET" "/xxxx/data/xxxx/hls/20160505/8cd7a8680d795007/FHD/seg-0031.ts" "-" 200 901836 "
2017-03-09 15:29:19
1278
原创 Nginx or Tengine日志格式化
在Nginx主配置文件中重新定义日志输出格式:log_format main '$host $server_addr $remote_addr "$time_local" "$request_method" "$uri" "$args" ' '$status $body_bytes_sent "$http_referer" '
2017-03-09 15:21:04
1095
原创 Tomcat并发数优化
我们可以去Tomcat 的官网看一下相关的资料这里写链接内容 在Connector的属性配置中,相关描述是这样的If more simultaneous requests are received than can be handled by the currently available request processing threads, additional threads will be
2017-03-08 17:05:53
462
原创 Tomcat内存配置优化
Tomcat的内存配置文件为:tomcat/bin/catalina.shTomcat内存优化主要是对tomcat 启动参数优化,我们可以在 catalina.sh 中设置 java_OPTS 参数来进行设置。 首先,需要了解下java_OPTS的各个参数都代表什么意思,下面是几个主要的参数:参数名称 含义 设置大小 原因-Xms 初始堆大小 16G 为了防止垃圾收集器
2017-03-08 11:05:25
406
原创 Tomcat7启动缓慢的解决方法
同事自建的的Tomcat进程启动缓慢,查看启动log,经常卡在如下的地方:Root WebApplicationContext: initialization completed in 1494 ms求助于度娘,找到一篇博客 彻底找到Tomcat启动速度慢的元凶主要原因是:/dev/random会根据噪音产生随机数,如果噪音不够它就会阻塞。Linux是通过I/O,键盘终端、内存使用量、CPU利用率
2017-03-08 10:57:07
2641
原创 Gerrit项目权限设置总结
Gerrit的权限系统是比较复杂的,初学者使用起来有一定困难。Gerrit新建项目的权限继承自内置项目All-Projects,默认的权限已经十分完善,但仍然需要做一些微调来满足实际的需要。但是不要动All-Projects的默认权限,只修改本项目的权限,可以覆盖掉不想要的继承来的权限和添加新的权限。一、 Master分支 项目的master分支默认只有administrator
2017-03-08 10:25:11
7638
转载 Shell打印彩色字体
要打印彩色文本,可输入如下命令:# echo -e "\e[1;36m \e[0m"上述代码表示: \e[1;36 将颜色设置为青色 \e[0将颜色重新置回。4如果想要别的颜色只需要把36替换成其他颜色对应的数字就行要设置彩色背景,可输入如下命令:# echo -e "\e[1;41m \e[0m"字体颜色 重置=0,黑色=30,红色=31,绿色=32, *=33,蓝色=34, 洋红=35, 青色
2017-03-07 13:17:27
722
原创 利用Nginx_geo模块实现CDN调度的配置
引入Nginx的Geo模块 geo指令使用ngx_http_geo_module模块提供的。默认情况下,nginx有加载这个模块除非人为的 --without-http_geo_module。 ngx_http_geo_module模块可以用来创建变量,其值依赖于客户端IP地址。使用方法如下:geo指令语法: geo [$address] $variable { ... }默认值:
2017-03-06 18:25:31
2232
原创 CentOS6.8系统网卡绑定
例如我们现在需要绑定em3和em4网卡,并实现主备模式,那么配置如下:[root@kvm network-scripts]# cat ifcfg-bond0DEVICE=bond0TYPE=BondNAME=bond0BONDING_MASTER=yesONBOOT=yesBOOTPROTO=noneBONDING_OPTS="mode=0 miimon=100" //模
2017-03-06 18:06:27
839
原创 Git远程操作的正确姿势
git clone 远程操作的第一步,通常需要从远程主机克隆一个版本库 git clone <版本库地址> 例如:git clone https://github.com/jquerydd/jquery.git 该命令会在本地生成一个与远程主机版本库同名的目录,如果要指定不同的名称,如下 git clone <版本库地址> <本地新名称> git clone支持多种协议,具体见下图
2017-03-06 18:00:14
454
原创 Gerrit新用户基本操作小结
一、Gerrit安装 略二、用户注册 Gerrit通过Apache代理,使用HTTP验证方式登陆。所以安装完毕后可以使用apache自带的htpasswd命令设置登录username和password。这一步骤需要管理员在服务端进行操作。htpasswd -c /var/opt/review_site/data/passwords user1回车后输入两次密码即可,要注意的是:存放用户名和密码的
2017-03-06 15:21:11
8762
1
原创 CentOS增加IP地址
一般情况下我们可以给eth0网卡添加新的IPcd /etc/sysconfig/network-scripts/cp ifcfg-eth0 ifcfg-eth0:1vim ifcfg-eth0:1 DEVICE=em3:1 # 修改网卡名称 HWADDR=24:6E:96:0B:29:7A TYPE=Ethernet UUID=bf
2017-03-06 14:36:36
826
原创 代码Review系统Gerrit的搭建
Gerrit,一种免费、开放源代码的代码审查软件,使用网页界面。利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改。 基本环境:CentOS6.8+MySQL-5.6.27+Java(1.7以上版本)+mail.rc(邮件发送) 一、 准备MySQL数据库mysql> create database reviewdb;
2017-03-06 13:39:58
1014
原创 基于Gitolite管理的Git服务器搭建v1.0
客户端: 在此为方便测试,就不再另外创建用户,直接使用客户端root用户即可生成密钥对,注意,此处生成的密钥队需要和用于ssh链接的密钥对区别开来。cd /rootssh-keygen -f ~/.ssh/oreki将生成的公钥(lijiantang.pub)上传到服务器的以备用scp ~/.ssh/oreki.pub drpeng@ip:~为以后方便登陆git服务器,需要配置
2017-03-06 13:29:48
325
原创 搭建Redis-Cluster集群
集群包括两个节点,节点包括3个redis进程,一共6个redis进程组成Master-Slave模式的集群192.168.1.23:5001192.168.1.23:5002192.168.1.23:5003192.168.1.25:5001192.168.1.25:5002192.168.1.25:50031 安装redis –> redis-3.2.0.tar.gz,redis版本必
2017-03-06 11:53:25
950
原创 RedisLive监控Redis进程状态
RedisLive就是一款免费开源的基于Python、tornado的的reids的监控工具,以WEB的形式展现出redis中的内存、key,实例数据等信息 RedisLive是基于python的,一般的Linux系统已经内置了Python,版本最好高于2.7 RedisLive是WEB监控界面,所以需要WEB容器,这里需要使用的是tornadopip install tornado*****
2017-03-06 11:40:40
656
原创 Zabbix自定义模板监控Nginx状态
1、配置Nginx允许通过web查看status# 在Nginx配置文件中添加以下内容location /nginx-status { stub_status on; access_log off; allow 127.0.0.1; allow 1xx.1xx.1xx.
2017-03-02 17:20:27
643
原创 Zabbix自定义模板监控TCP连接数
1、使用脚本获取TCP连接数相关参数信息vim /usr/local/zabbix/etc/tcp-connections.sh#!/bin/bash#netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' | grep -w "ESTABLISHED" |cut -d" " -f2#netstat -an |
2017-03-02 15:22:14
2138
原创 源码方式安装Zabbix-2.4.5
一、安装依赖包和mysql数据库yum -y install gcc mysql-server httpd php php-mysql php-gd php-bcmath php-xml php-mbstring mysql-devel libxml2 libxml2-devel curl-devel#Zabbix依赖于MySQL数据库保存数据,CentOS7系统中的默认数据库为MariaDB,和
2017-03-02 11:06:20
406
原创 Nginx平滑重启
什么是Nginx的平滑重启?Nginx 运行新的工作进程并从容关闭旧的工作进程,通知工作进程关闭监听套接字,但是继续为当前连接的客户提供服务。所有的客户端的服务完成后,旧的工作进程被关闭。如果新的配置文件应用失败,N ginx 将继续使用旧的配置文件进行工作。
2017-03-02 09:44:19
467
原创 利用Shell脚本对Nginx日志进行监控
#!/bin/bash#主机名Hostname=us-web #收件人mail=funnymokats@163.com date=`date +"%Y%m%d"`#记录上一次的行数Last_num_d=/tmp/nginx/lastnum#日志目录Log_directory=/usr/local/nginx/logs#ERROR log 临时存放目录Error_log=/tmp/
2017-03-01 16:18:57
2060
原创 收集服务器基本信息的脚本
有助于快速熟悉设备大体状况#!/bin/bash# Collect the info of servers# /proc####collect cpuinfo####cpuinfo(){ cpu_speed=`cat /proc/cpuinfo | grep 'model name' | awk '{print $10}' | uniq` echo "CPU速度:" $cpu
2017-03-01 14:39:08
621
原创 CentOS7系统初始化脚本
系统初始化主要包括:iptables初始化、sshd服务初始化、添加Zabbix监控、添加密钥、关闭SELinux、安装deny_host等#!/bin/bash###Initialization###key addadd_key(){ mkdir -p /root/.ssh && chmod 700 /root/.ssh && \ wget -P /root/.ssh
2017-03-01 14:28:37
1228
空空如也
CentOS6.7系统用户登录卡在Last Login
2016-10-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人