草庐IT

日志切割Nginx

全部标签

php - 为 hmvc 结构使用 nginx 的 Codeigniter 设置

任何人都可以为hmvc结构完成Codeigniter设置和nginx吗?请帮助我,我尝试在nginx上设置codeigniterHMVC结构。但多次失败。请建议一些配置方法。我正在使用php7.0-fpm。我的nginx配置文件是server{listen80;root/var/www/html/salsetrack;indexindex.htmlindex.htmindex.php;server_namelocal.sales-track.com;location/{#Firstattempttoserverequestasfile,then#asdirectory,thenfall

php - 为什么我的 PHP 错误日志滞后 2 小时?

检查php.ini时,从命令行上的phpinfo和php-i,我的时区设置为Africa/Johannesburg。所以我的时区是GMT+2。我写了一个小片段来检查时间是否正确,如下所示:echodate('h:iA',time());echo''.ini_get('date.timezone');这会输出正确的时间,与我本地机器的系统时间相匹配。但是,当我查看我的php错误日志时,每个错误日志项的时间恰好晚了两个小时?这是为什么,我该如何解决。ZendCache也有问题,我认为这次是问题造成的。 最佳答案 听起来PHP配置了一个时

php - nginx 如何处理长时间运行的请求,如文件下载?

根据我对nginx的有限了解,我知道nginx通过使用处理所有请求的单个线程而不是Apache将自身与Apache分开,Apache会抛出线程来解决问题。理论上,有一堆小请求会更快。但是长时间运行的请求呢?假设用户正在下载一个大文件,或者有一些长时间运行的PHP脚本由于它所依赖的东西(磁盘IO、数据库)很慢而运行缓慢。使用Apache,一切都有自己的线程,因此当PHP等待数据库的响应时,另一个请求可以进入并同时处理。然而,对于nginx,不会有类似的东西锁定线程并因此锁定整个服务器吗?我知道您可以拥有多个nginx进程,但为文件下载创建更多进程似乎试图重新创建Apache。我知道我在这

php - PHP 的日志流过滤器?

我需要调试我的PHP前端与另一台主机上的后端服务建立的套接字连接,并且我需要尽可能接近金属。我已经抽象出各个级别的连接,这使我能够轻松附加streamfilters。到连接。所以问题应该很容易解决:将一个流过滤器封装到一个类中,该类允许在发送或接收数据时执行任意回调,然后例如将它们附加到几个日志文件中。唯一的麻烦是我(天真?)期望应该有一些这样的过滤器实现在线float似乎是错误的!我不介意自己编写过滤器,但也许有一些可用的东西我只是没能找到?作为引用,我在谷歌上搜索了许多关于“phploggingstreamfilter”的明显变体。更新:澄清一下,我正在寻找的是能让我编写在道德上等

Nginx负载均衡配置、限流配置、Https配置详解

一.负载均衡1.用法 通过proxy_pass可以把请求代理至后端服务,但是为了实现更高的负载及性能,我们的后端服务通常是多个,这个是时候可以通过upstream模块实现负载均衡。使用的模块为:【ngx_http_upstream_module】,具体配置可以根据模块名去查找文档。负载均衡的算法有:ll:轮询ll+weight:轮询加权重ip_hash:基于Hash计算,用于保持session一至性该算法下权重失效url_hash:静态资源缓存,节约存储,加快速度(第三方)该算法下权重配置失效least_conn:最小链接数least_time:最小的响应时间,计算节点平均响应时间,然后取响应

php - 解析 Skype 日志

我需要解析Skype日志,获取所有通话时长并将它们相加,找出整个聊天记录的通话总时长。示例:[3/12/201211:36:44AM]*通话结束,持续时间21:33*我想我需要使用带有正确正则表达式的preg_match。如果可以同时将实际时间戳存储在数组中,那就更好了。我认为我真正难过的是仅获取通话时长所需的实际正则表达式规则。 最佳答案 试试这个(?i)\[(?P[^[]+)\]\s*[*]\s*[a-z,]+(?P(?:\d{2}:?){2,3})\s*[*]解释"(?i)#Matchtheremainderoftherege

php - nginx 可以提供 PHP 缓存的文件吗?

作为我计划的新CMS的一部分,我将缓存一些“静态”内容的HTML输出。我说“静态”是因为没有存储在数据库中的内容是真正静态的,但它已经足够接近了。系统将对请求URL进行MD5哈希处理,并将HTML输出的缩小版本保存在缓存文件夹中。下次请求页面时,CMS会检查是否存在缓存版本,然后检查文件的年龄,然后提供缓存版本,从而节省大量资源(尤其是在涉及到DB调用时).显然,让nginx在不接近PHP的情况下提供静态文件会更快。那么有没有办法让nginx对请求URL进行哈希处理并检查一个临时文件夹以查看它是否存在? 最佳答案 是的!您可以让ng

php - 生产中的 Symfony 日志记录忽略日志级别

factories.yml中的相关片段:prod:logger:class:sfAggregateLoggerparam:level:errloggers:sf_file_err:class:sfFileLoggerparam:level:errfile:%SF_LOG_DIR%/%SF_APP%_%SF_ENVIRONMENT%.log问题:一切都被记录下来。 最佳答案 此配置适用于我的所有项目。prod:logger:class:sfAggregateLoggerparam:level:errloggers:sf_file_de

nginx - 在 nginx(在 chroot 下)上使用 PHP-FPM 执行不返回任何内容

我已经使用php-fpm在/srv/http的chroot中创建了一个nginx服务器。两种服务都使用http用户并且工作正常。当我尝试运行诸如之类的exec命令时,问题就来了echoshell_exec('/usr/bin/ls');网页或错误中根本没有输出。我也试过error_log(shell_exec('/usr/bin/ls');还是什么都没有。我尝试过或知道的事情:关闭安全模式执行启用用户是http(使用phpinfo())display_errors=onerror_reporting=E_ALLsudo/usr/bin/chroot--userspec=http:htt

php - Symfony2 : how to log query duration to logs/dev. 日志

在开发环境中,Symfony2默认将SQL查询记录到dev.log。出于分析和调试目的,我还想记录查询的执行时间。这一定是可能的,因为“真实页面”的分析器会在每个查询旁边显示执行时间。我认为正确的类是DBalLogger+一个秒表实例,但我不知道如何以及在何处正确配置这些服务(monolog?doctrine?dbal.connection?samplessay我们必须使用setSQLLogger但我可以在config_dev.yml中的哪里执行此操作?) 最佳答案 你可以注入(inject)monolog服务,然后手动添加时间引用