
运维经验
文章平均质量分 51
loophome
这个作者很懒,什么都没留下…
展开
-
centos开启swap内存交换区
我的服务器是阿里云的服务器Centos7。CPU为1G,内存1G。平时访问速度也还可以,内存是少是少了点,但基本还是够用。今天用top看了cpu及内存使用情况,发现free的内存已经只有10多M了,发现阿里云的centos7默认居然没有swap空间。赶紧加入swap。1、创建用于交换分区的文件dd if=/dev/zero of=/mnt/swap bs=1M count=1024...原创 2020-10-16 23:46:04 · 587 阅读 · 1 评论 -
MySQL: Host '127.0.0.1' is not allowed to connect to this MySQL server
MySQL连接数据库出现错误:Host '127.0.0.1' is not allowed to connect to this MySQL server实际访问数据库配置:jdbc.url=jdbc:mysql://localhost:3306/*****实际数据设置为只允许localhost访问,经检查发现是MySQL配置文件(/etc/my.cnf)中设置了skip-name-re转载 2017-10-11 16:44:01 · 6404 阅读 · 0 评论 -
linux下找出utf8带BOM头的文件
utf8带BOM头的文件,会输出到接口上,导致json解析失败。比如,在chrome的控制台里接口返回前有N个小红点。原因是php文件带了BOM头,那如果找出来呢?grep -r -I -l $'^\xEF\xBB\xBF' ./找出文件后,把BOM头干掉即可。原创 2017-08-11 22:44:44 · 1722 阅读 · 0 评论 -
nginx添加允许跨域header头
使用ngx_http_headers_module中的add_header 指令,在响应头中添加允许跨域。Syntax: add_header name value [always];Default: —Context: http, server, location, if in location一般地,我们把允许跨域的头加在动态接口后面,比如php,就加在解析php后面原创 2017-08-11 13:59:36 · 20053 阅读 · 0 评论 -
vsftpd中关于ftpusers和user_list两个文件的说明以及vsftpd.conf中的userlist_enable和userlist_deny两个配置项的解释
本文原文出处: http://blog.youkuaiyun.com/bluishglc/article/details/42273197问题一:ftpusers和user_list两个文件各自的用途是什么?有何关系?首先请明确一点:ftpusers不受任何配制项的影响,它总是有效,它是一个黑名单!该文件存放的是一个禁止访问FTP的用户列表,通常为了安全考虑,管理员不希望一些拥有过大权转载 2017-08-02 13:41:41 · 3209 阅读 · 0 评论 -
linux服务(daemon and service)- 设置开机启动服务
一、服务的类型1)stand_alone:独立启动,直接常驻在内存当中(如crond )2)super_daemon:由一个统一的daemon来负责唤起服务,这个统一负责就是xinet这个服务。xinet根据网络送号的数据封包内容,来将数据包发送给实际运作的服务(如ftp)/etc/services显示当前支持的服务列表,一般自建程序不要用到这里的端口二、daemo原创 2017-07-24 13:38:15 · 3160 阅读 · 0 评论 -
进程状态解析-如何杀死僵尸进程
某日利用阿里云的基线检查,发现2个僵尸进程,因此,我想要杀死它们。怎么杀?首先先的抓出僵尸。一、进程状态运行的进程,都会有进程的状态1)R (TASK_RUNNING),可执行状态。只有在该状态的进程才可能在CPU上运行。而同一时刻可能有多个进程处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对应CPU的可执行队列中(一个进程最多只能出现在一个CPU的可执行原创 2017-07-23 16:48:31 · 1788 阅读 · 0 评论 -
Docker服务无法启动 - Error starting daemon: error initializing graphdriver: devmapper: Base Device UUID an
原因未知:重启centos系统解决● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: failed (Result原创 2017-07-18 13:22:41 · 11230 阅读 · 5 评论 -
PHP 5.3.0以上推荐使用mysqlnd驱动
1.什么是mysqlnd驱动?PHP手册上的描述:MySQL Native Driver is a replacement for the MySQL Client Library (libmysql). MySQL Native Driver is part of the official PHP sources as of PHP 5.3.0. mysqld转载 2017-07-08 19:12:55 · 633 阅读 · 0 评论 -
Linux的inode的理解
二、inode的内容inode包含文件的元信息,具体来说有以下内容: * 文件的字节数 * 文件拥有者的User ID * 文件的Group ID * 文件的读、写、执行权限 * 文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间。 * 链接数,即有多少文件名指向这个inode * 文件数据block的位置转载 2017-07-08 12:29:43 · 250 阅读 · 0 评论 -
linux - sftp常用命令介绍
某Linux系统中有test.cap, 现在, 我需要把它移动到PC上, 然后用wireshark进行分析。 怎么移动呢? 没有什么samba啊, 不支持ftp啊, 也不支持tftp啊。 用sftp吧。 在PC上开启sftp服务器(下载一个sftpserver.exe)即可。 让linux系统充当本地客户端, 让sftserver充当服务器。 前面的博文中, 我们转载 2017-07-04 13:43:26 · 1295 阅读 · 0 评论 -
解决git提交问题error: The requested URL returned error: 403 Forbidden while accessing
Git提交代码时,出现这个错误“error: The requested URL returned error: 403 Forbidden while accessing https”解决方法:编辑.git目录下的config文件即可。vim .git/config #修改对于的配置 #原来的url = https://github.com/elitecode转载 2017-07-04 12:00:43 · 5907 阅读 · 0 评论 -
centos7 最小化安装后无法上网,需要先开启网络服务
centos7 最小化安装后无法上网,需要先开启网络服务1)激活网卡文件 /etc/sysconfig/network-scripts/ifcfg-enp0s3 将 ONBOOT=no 改为 ONBOOT=yes2)启动network服务 service network restartPS:因为是最小化安装,没有ifconfig,可以在连接上网后转载 2017-06-22 17:56:10 · 4388 阅读 · 1 评论 -
git撤销本地提交 - git reset
有时候,我们会误提交某些代码,或者发现代码有bug,需要修复。在未推送到远程服务器前,本地提交时都可以撤销的。首先,使用git log命令查看本地的提交日志原创 2017-06-28 16:46:51 · 2492 阅读 · 0 评论 -
【Docker】如何修复无法启动的容器
先说说这个问题的起因:Docker容器后台运行,就必须有一个前台进程!OK,有次手贱,把容器内的php-fpm配置文件中的daemon改为yes,导致了没有前台进程,因此,容器启动后就停止了。那么问题变成,如何修改没有启动的容器内的文件?(PS:正常情况下可以通过 docker exec命令打开容器的一个shell终端进去修改)解决方案:创建新镜像把原创 2018-01-05 14:49:45 · 4861 阅读 · 0 评论 -
Git:Another git process seems to be running in this repository
git pullAnother git process seems to be running in this repository, e.g.an editor opened by 'git commit'. Please make sure all processesare terminated then try again. If it still fails, a git processm...原创 2018-03-19 18:00:25 · 321 阅读 · 0 评论 -
linux下使用logrotate切割nginx日志
nginx日志并不会自动切割,导致日志文件过大,不方便排查问题。我们可以自己写脚本切割日志,也可以使用linux的logrotate来实现。检查logrotate是否有安装:which logrotate,如果没有返回结果,可以使用yum install logrotate安装logrotate配置文件/etc/logrotate.conf/etc/logrotate.d/* ...原创 2019-03-08 11:28:24 · 2081 阅读 · 0 评论 -
linux开启nscd服务缓存加速-DNS缓存
在我使用的阿里云主机上有观察到开启了一个服务nscd ,后来谷哥了下该服务的作用。了解到nscd会缓存三种服务passwd group hosts,所以它会记录三个库,分别对应源/etc/passwd, /etc/hosts 和 /etc/resolv.conf每个库保存两份缓存,一份是找到记录的,一份是没有找到记录的。每一种缓存都保存有生存时间(TTL)。其作用就是在本 当中增加cache ,加...原创 2018-12-19 17:33:08 · 1590 阅读 · 0 评论 -
php_crond:一个基于多进程的定时任务系统-支持秒粒度的任务配置
php_crond基于多进程的定时任务管理器,支持秒级别的定时任务特性通过配置文件管理所有定时任务 支持秒级的定时任务粒度 使用symfony/process进行进程管理 使用React/event-loop执行事件循环 提供http服务,远程查看和操作php_crond(参见:API文档)执行启动crondphp bin/crond.php在后台启动crond...原创 2017-06-02 18:45:37 · 3631 阅读 · 0 评论 -
windows cmd命令显示UTF8设置
在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容。在默认情况下,命令行窗口中使用的代码页是中文或者美国的,即编码是中文字符集或者西文字符集。 如果想正确显示UTF-8字符,可以按照以下步骤操作: 1、打开CMD.exe命令行窗口 2、通过 chcp命令改变代码页,UTF-8的代码页为650...转载 2018-08-26 16:39:57 · 535 阅读 · 0 评论 -
ELK日志系统开发(Logstash、Elasticsearch、Kibana安装)(一)
一、安装Logstash!注意,logstash至少要有1G内存才能执行在安装Logstash之前,确保已经安装了Java的运行环境2)在官网(https://www.elastic.co/)下载Logstash,目前最新版本是6.x3)下载完成之后,加压(无须编译),并复制到local目录下,这个是我正式部署的目录:/usr/local/logstash-6.2.44)测试运...原创 2016-08-25 18:55:29 · 11031 阅读 · 0 评论 -
ELK日志系统开发,Kibana创建图表(四)
有时候,一张图表能胜过千万字,针对于nginx日志来说,请求量和平均响应时间是2个比较重要的指标。先看看成果,下图展示了服务请求量,以及后端php的平均响应时间。图片生成步骤:1)设置Metrics(图表):图表名称 Aggregation Field JSON Input 请求数QPS Count - - 平均响应时间 Ave...原创 2018-07-19 16:44:31 · 5067 阅读 · 1 评论 -
ELK日志系统开发,Kibana简单实用Discover(三)
当logstash把数据写入Elasticsearch后,我们就可以使用Kibana来查看日志数据了。以下是Kibana的Discover截图,注意红框的功能区:时间范围选择:可以选择查询的时间范围,比如最近1小时内,或者指定的时间范围内。搜索区域:支持lucene的查询语法,这里后面会讲到。中间区域是数据区域,展开可以看到每条日志各个字段的内容。kibana使用lucen...原创 2018-07-19 14:34:26 · 3573 阅读 · 3 评论 -
ELK日志系统开发,Logstash收集nginx日志(二)
一、Nginx日志例子Nginx日志例子nginx日志默认配置:log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http...原创 2016-08-29 16:02:31 · 12844 阅读 · 2 评论 -
gitlab - 邮箱配置
gitlab并不需要自己搭建邮箱服务,我们可以使用现成的服务。比如腾讯的企业邮箱。修改git的配置文件:/etc/gitlab/gitlab.rb如何查看企业邮箱smtp服务是否开启(https://jingyan.baidu.com/article/a378c960eabf1eb3282830f6.html)QQ exmail (腾讯企业邮箱)gitlab_rails['smtp_enable'...原创 2018-05-29 14:32:49 · 1495 阅读 · 0 评论 -
git commit 遇到Segmentation fault
I have resolved the problem. The last git version (2.13.1) has the bug - it has been released 05.06.2017. I installed previous version (2.12.2) and now all is OK.from:https://stackoverflow.com/questio...转载 2018-04-20 15:50:24 · 2365 阅读 · 0 评论 -
rm命令参数过长解决方案
当一个目录下,文件过多,造成无法删除该目录下的文件drwx------ 2 4294967294 4294967294 12640256 Apr 9 21:17 taoke.session_file可以看到,这个目录下有接近12640256个文件PS:目录大小总是4096的倍数,当目录文件数量在4096以下时,目录大小为4096,在4096与8192之间时,目录大小为8192。如此类推。使用rm无...原创 2018-04-15 20:51:25 · 1809 阅读 · 0 评论 -
使用阿里云NAS做PHP共享session的坑
项目上线后,发现负载均衡下的每台web服务器负载均很高,但是CPU利用率确是不高。因为web代码是PHP开发的,从CPU利用率看出来代码应该没有什么问题,极有可能是由于IO等待导致每个php执行时间太长,导致任务堆积。然后打开PHP的慢日志,问题就清楚了,原来性能卡在session上。我们是使用ci3框架开发,并且使用阿里云nas作为共享session。script_filename = /dat...原创 2018-04-02 18:29:29 · 2248 阅读 · 0 评论 -
存储相关知识-DAS/SAN/NAS
最近在看一些存储相关的东西,就顺手作了一些总结。我发现国内在存储的知识普及方面做的还不错,因此就查阅了国内相关的一些资料,也并没有去看英文文档。下面就把整理的一些知识点发出来,方便大家学习交流,希望大家给我多提提意见。 存储领域,有挺多的名词和术语,比如常见的有SCSI、FC、DAS、NAS、SAN等,下面就简单说说它们。SCSI SCSI 是小型计算机系统接口(Small...转载 2018-04-02 14:08:47 · 1468 阅读 · 0 评论 -
linux如何查询进程占用的内存
1. ps aux命令USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDlizhibin 32986 0.0 13.8 916276 534748 ? Ssl 10:12 0:00 /usr/local/php_5.4.45/bin/php -c /usr/local/原创 2017-04-10 13:34:42 · 3494 阅读 · 0 评论 -
Linux中find常见用法示例
Linux中find常见用法示例·find path -option [ -print ] [ -exec -ok command ] {} \;find命令的参数;pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。-print: find命令将匹配的文件输出到标准输出。-exec:转载 2017-03-21 10:21:16 · 353 阅读 · 0 评论 -
阿里云服务器使用免费个人DV证书部署nginx+https站点
一、在阿里云中购买证书服务在阿里云中购买证书服务,功能可以在阿里云的控制台中的“证书服务”中找到,由于是个人站点,我购买的是DV类型的证书。OK,这里补充一下证书的几个类型,根据不通的业务类型使用不通的证书:证书类型使用范围DV个人使用证书,能起到加密传输的作用,但无法向用户证明网站的真实身份。OV原创 2017-02-22 11:06:52 · 3108 阅读 · 0 评论 -
php使用memcached扩展的一个BUG
memcache是一套分布式的高速缓存系统,很多网站都在使用memcache,以提高网站的访问速度。最近,遇到了一个比较头痛的问题。首先,分离出关键的代码:$mc=new Memcached();$mc->addServer("www.xxx.com",11711); //www.xxx.com为未解析的host$mc->get("fffffff");执行该PHP脚本,发现原创 2015-12-10 10:31:37 · 831 阅读 · 0 评论 -
Linux账号安全——用户登陆权限
之前为nginx和myslq开通了2个用户,最近复习了linux用户管理,发现开通的www账号和mysql账号,是可以登陆的。cat /etc/passwd | grep -v nologin www:x:500:500::/home/www:/sbin/bashmysql:x:501:501::/home/mysql:/sbin/bash在Linux操作系统中有多种She原创 2015-10-15 22:27:38 · 2016 阅读 · 0 评论 -
TortoiseSVN中Branching和Merging实践
使用svn几年了,一直对分支和合并敬而远之,一来是因为分支的管理不该我操心,二来即使涉及到分支的管理,也不敢贸然使用合并功能,生怕合并出了问题对团队造成不良影响,最主要的原因是,自己对分支的目的和合并的方法不甚了解,这才是硬伤。使用svn进行分支管理,是一个作为项目管理者的基本技能,故在某天的晚上抽时间完善了一下先说说什么是branch。按照Subversion的说法,一个转载 2015-06-01 20:21:44 · 454 阅读 · 0 评论 -
linux之stat命令
在Linux中,没有文件创建时间的概念。只有文件的访问时间、修改时间、状态改变时间。也就是说不能知道文件的创建时间。但如果文件创建后就没有修改过,修改时间=创建时间;如果文件创建后,状态就没有改变过,那么状态改变时间=创建时间;如果文件创建后,没有被读取过,那么访问时间=创建时间,这个基本不太可能。 与文件相关的几个时间: 1、访问时间,读一次这个文件的内容,这个时间就会更新。原创 2015-10-27 19:57:13 · 609 阅读 · 0 评论 -
linux下vi编辑器使用方法
vi编辑器有三种模式:普通模式:用于对文件进行命令操作,例如查找、替换、删除行等等。插入模式:用于对文件进行编辑。可视模式:用于对文件内容进行选取。无论在任何模式下按【Esc】都可以返回到命令模式。1、vi直接输入vi可以查看vi的版本信息2、vi [文件名]若存在该文件,则打开存在文件;若不存在,将新建文件名为[文件名]的文件。3、原创 2015-04-01 15:55:31 · 740 阅读 · 0 评论 -
Nginx虚拟目录配置文件(包含PHP配置与重写)
server { listen 80; server_name www.xxxx.com; root /www/xxxx; location / { index index.html index.htm index.php; if ( !-e $request_filename ){原创 2015-09-08 11:56:50 · 1657 阅读 · 0 评论 -
LNMP配置优化
昨天公司培训LNMP优化,这里记录一下笔记,志在给大家提供一下LNMP的优化方向。所谓的LNMP,是指linux,nginx,mysql,和PHP,由于其开源的关系,受到大多数中小企业的青睐。linux优化关闭不必要的服务合理设置open files打开文件数 在linux中,一切都是文件合理设置max user processes 打开进程数 PS:进程是链表原创 2015-10-21 11:09:31 · 2118 阅读 · 0 评论 -
域名解析的记录类型:A记录、CNAME、MX记录、NS记录
1、A记录: 又称IP指向,用户可以在此设置子域名并指向到自己的目标主机地址上,从而实现通过域名找到服务器。 说明: ·指向的目标主机地址类型只能使用IP地址; 1) 添加A记录 在“主机名”中填入子域的名字,“类型”为A,“IP地址/主机名”中填入web服务器的IP地址,点击“新增”按钮即可。 注:如果“主机名”一栏为空则表示对域名mydomain.c转载 2015-10-03 12:03:26 · 3934 阅读 · 0 评论