linux下用cron定时执行任务的方法

linux下用cron定时执行任务的方法

名称 : crontab 使用权限 : 所有使用者 使用方式 : crontab file [-u user]-用指定的文件替代目前的crontab。 crontab-[-u user]-用标准输入替代目前的crontab. crontab-1[user]-列出用户目前的crontab. crontab-e[user]-编辑用户目前的crontab. crontab-d[user]-删除用户目前的 ···
CentOS+Nginx+PHP+MySQL详细配置(图解)

CentOS+Nginx+PHP+MySQL详细配置(图解)

一、安装MySQL         目前web服务器已经很少有跑静态页面的,如果要跑动态网站那当然就离不开数据库,虽然在以前文章中有写MySQL是怎么安装的,但是感觉好久没装MySQL,现在只把步骤贴出来,就不做过多的讲解了 #useradd mysql #tar zxvf mysql-5.0.40.tar.gz #cd mys ···
nginx提示:500 Internal Server Error错误的解决方法

nginx提示:500 Internal Server Error错误的解决方法

现在越来越多的站点开始用 Nginx ,("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。 在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。根据测试结果,Nginx 0.6.31 + PHP 5.2.6 (FastCGI) 可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍。 但很多人用 Nginx 的时候都会出现 500 错误,根据我使用的情况来看,很大一部分原因是 因为文件打开句柄太小有关。在linux 下 使用这个命令增加进程打开的文件句柄。 ulimit -SHn 51200 默认只用1000 当链接数小的时候看不出来,使用这种处理方法可以有效防止500错误出现。 今天访问网站的时候,偶尔会遇上500 Internal Server Error的错误提示页面. 查了相关资料认为是访问过大,系统内核进程受限才出现的. 答案如下: $ ulimit -n 11095 程序限制只能打开11095个文件,ulimit命令是设置当前用户一个进程可拥有的文件描述符的数量. 看来是模拟的并发数太多了,需要调整一下nginx.conf的并发设置数,(我的配置主机的内存2G,CPU为2.8G,) 代码如下: vi /etc/nginx/nginx.conf events { worker_connections 1024; } 调整为 代码如下: events { worker_connections 10240; } 还是会出现上面问题,使用 [root@qimutian nginx]# cat /proc/sys/fs/file-max 8192 文件系统最大可打开文件数 [root@qimutian nginx]# ulimit -n 1024 程序限制只能打开1024个文件 使用[root@qimutian nginx]# ulimit -n 8192调整一下 或者永久调整打开文件数 可在启动文件/etc/rc.d/rc.local末尾添加(在/etc/sysctl.conf末尾添加fs.file-max=8192) ulimit -n 8192 调整CentOS5文件打开数 使用ulimit -a一下,发现OPEN FILES不能默认超过1024,昨天的在进行压力测试时,出现500错误,具体请查看 nginx出现 500 Internal Server Error 早上起来看一下,发现原来是通过如下方式调整 方法1 (永久调整) vi /etc/security/limits.conf 在文件末加上: * soft nofile 8192 * hard nofile 20480 同时vi /etc/sysctl.conf末尾添加 fs.file-max=8192 重新启动,在使用ulimit -n查看的数已经是8192 方法2 (临时用) 直接在终端输入 ulimit -n 8192 按回车就ok了500 Internal Server Error错误补充:1、硬盘空间满了 使用 df -k 查看硬盘空间是否满了。清理硬盘空间就可以解决500错误。nginx如果开启了access log,在不需要的情况下,最好关闭access log。access log会占用大量硬盘空间。 2、nginx配置文件错误 这里不是指语法错误,nginx如果配置文件有语法错误,启动的时候就会提示。当配置rewrite的时候,有些规则处理不当会出现500错误,请仔细检查自己的rewrite规则。如果配置文件里有些变量设置不当,也会出现500错误,比如引用了一个没有值的变量。 3、如果上面的问题都不存在可能是模拟的并发数太多了,需要调整一下nginx.conf的并发设置数 解决方法是: 1 打开/etc/security/limits.conf文件,加上两句 代码如下: * soft nofile 65535 * hard nofile 65535 2 打开/etc/nginx/nginx.conf 在worker_processes的下面增加一行 代码如下:worker_rlimit_nofile 65535; 3 重新启动nginx,重新载入设置 代码如下:kill -9 `ps -ef | grep php | grep -v grep | awk '{print $2}'` /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 100 -u www-data -f /usr/bin/php-cgi killall -HUP nginx 重启后再看nginx的错误日志,也没有发现500报错的情况了。 4、有可能是数据库问题我的在nginx日志php日志都没有发现什么问题, 最后发现数据库访问不了,修正后问题解决.
Flume环境部署和配置详解及案例大全

Flume环境部署和配置详解及案例大全

  一、什么是Flume?   flume 作为 cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用。Flume 初始的发行版本目前被统称为 Flume OG(original generation),属于 cloudera。但随着 FLume 功能的扩展,Flume OG 代码工程臃肿、核心组件设计不合理、核心配置不标准等缺点暴露出来,尤其是在 Flume OG 的最后一个发行版本 0.94.0 中,日志传输不稳定的现象尤为严重,为了解决这些问题,2011 年 10 月 22 号,cloudera 完成了 Flume-728,对 Flume 进行了里程碑式的改动:重构核心组件、核心配置以及代码架构,重构后的版本统称为 Flume NG(next generation);改动的另一原因是将 Flume 纳入 apache 旗下,cloudera Flume 改名为 Apache Flume。   flume的特点:   flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(比如文本、HDFS、Hbase等)的能力 。   flume的数据流由事件(Event)贯穿始终。事件是Flume的基本数据单位,它携带日志数据(字节数组形式)并且携带有头信息,这些Event由Agent外部的Source生成,当Source捕获事件后会进行特定的格式化,然后Source会把事件推入(单个或多个)Channel中。你可以把Channel看作是一个缓冲区,它将保存事件直到Sink处理完该事件。Sink负责持久化日志或者把事件推向另一个Source。   flume的可靠性   当节点出现故障时,日志能够被传送到其他节点上而不会丢失。Flume提供了三种级别的可靠性保障,从强到弱依次分别为:end-to-end(收到数据agent首先将event写到磁盘上,当数据传送成功后,再删除;如果数据发送失败,可以重新发送。),Store on failure(这也是scribe采用的策略,当数据接收方crash时,将数据写到本地,待恢复后,继续发送),Besteffort(数据发送到接收方后,不会进行确认)。   flume的可恢复性:   还是靠Channel。推荐使用FileChannel,事件持久化在本地文件系统里(性能较差)。     flume的一些核心概念: Agent使用JVM 运行Flume。每台机器运行一个agent,但是可以在一个agent中包含多个sources和sinks。 Client生产数据,运行在一个独立的线程。 Source从Client收集数据,传递给Channel。 Sink从Channel收集数据,运行在一个独立线程。 Channel连接 sources 和 sinks ,这个有点像一个队列。 Events可以是日志记录、 avro 对象等。     Flume以agent为最小的独立运行单位。一个agent就是一个JVM。单agent由Source、Sink和Channel三大组件构成,如下图:
nginx 多站点配置方法集合

nginx 多站点配置方法集合

那么我们开始吧: 1、为我们的站点创建配置文件   我是这么做的,在nginx的配置文件conf目录下创建一个专门存放VirtualHost的目录,命名为vhosts_conf,可以把虚拟目录的配置全部放在这里。在里面创建名为vhosts_modoupi_websuitA.conf的配置文件并打开,我们在这里做配置,往里面写: 代码如下: server { listen 80;           ···
centos6编译及安装ZLMediaKit解析

centos6编译及安装ZLMediaKit解析

centos6安装ZLMediaKitZLMediaKit的作者是使用Ubuntu 16开发的,但是如果要跑到测试甚至于生产上必须要部署到centos上,笔者主要是使用centos6 (centos7除了下面rpm包外,编译组件操作一致),因为有需求就装完给大家分享一下。
nginx FastCGI错误Primary script unknown解决办法

nginx FastCGI错误Primary script unknown解决办法

在centos上成功编译安装nginx 1.4、php 5.4并成功启动nginx和php-fpm后,访问php提示"File not found.",同时在错误日志中看到: 代码如下:2013/10/22 20:05:49 [error] 12691#0: *6 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 192.168.168.1, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "192.168.168.133"
centos 6.9 升级glibc动态库的详细过程

centos 6.9 升级glibc动态库的详细过程

glibc是gnu发布的libc库,即c运行库,glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。很多linux的基本命令,比如ls,mv,cp, rm, ll,ln等,都得依赖于它,如果操作错误或者升级失败会导致系统命令不能使用,严重的造成系统退出后无法重新进入,所以操作时候需要慎重,升级之前保存好重要资料。