Nginx 出现504及502网关错误的解决方法

首先要确认,一般出现504网关错误都是nginx.conf配置文件有问题需要修改,而502一般都是和nginx配对的php-fpm.conf有问题导致。Nginx 504 Gateway Time-out的含义是所请求的网关没有请求到,简单來说就是没有请求到可以执行的PHP-CGI。 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致PHP-CGI进程终止。

解决504问题(引用https://blog.sina.com.cn/s/blog_9976fe0c0100zxoh.html)
正確的設置需要考慮服務器自身的性能和訪客的數量等多重因素。以我目前的服務器爲例子CPU是奔四1.5G的,內存1GB,CENTOS的系統,訪客大概是50人左右同時在綫。但是在綫的人大都需要請求PHP-CGI進行大量的信息處理,因此我將nginx.conf設置爲:

fastcgi_connect_timeout 300s;
fastcgi_send_timeout 300s;
fastcgi_read_timeout 300s;
fastcgi_buffer_size 128k;
fastcgi_buffers 8 128k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;

這裏最主要的設置是前三條,即
fastcgi_connect_timeout 300s;
fastcgi_send_timeout 300s;
fastcgi_read_timeout 300s;
這裏規定了PHP-CGI的連接、發送和讀取的時間,300秒足夠用了,因此我的服務器很少出現504 Gateway Time-out這個錯誤。最關鍵的是php-fpm.conf的設置,這個會直接導致502 Bad Gateway和504 Gateway Time-out。

解决 502问题
我們來仔細分析一下php-fpm.conf幾個重要的參數:

php-fpm.conf有兩個至關重要的參數,一個是”max_children”,另一個是”request_terminate_timeout”
我的兩個設置的值一個是”40″,一個是”900″,但是這個值不是通用的,而是需要自己計算的。

計算的方式如下:

如果你的服務器性能足夠好,且寬帶資源足夠充足,PHP腳本沒有係循環或BUG的話你可以直接將”request_terminate_timeout” 設置成0s。0s的含義是讓PHP-CGI一直執行下去而沒有時間限制。而如果你做不到這一點,也就是說你的PHP-CGI可能出現某個BUG,或者你的 寬帶不夠充足或者其他的原因導致你的PHP-CGI能夠假死那麼就建議你給”request_terminate_timeout”賦一個值,這個值可以 根據你服務器的性能進行設定。一般來說性能越好你可以設置越高,20分鐘 -30分鐘都可以。由於我的服務器PHP腳本需要長時間運行,有的可能會超過10分鐘因此我設置了900秒,這樣不會導致PHP-CGI死掉而出現502 Bad gateway這個錯誤。

而”max_children”這個值又是怎麼計算出來的呢?這個值原則上是越大越好,php-cgi的進程多了就會處理的很快,排隊的請求就會 很少。設置”max_children”也需要根據服務器的性能進行設定,一般來說一臺服務器正常情況下每一個php-cgi所耗費的內存在20M左右, 因此我的”max_children”我設置成40個,20M*40=800M也就是說在峰值的時候所有PHP-CGI所耗內存在800M以內,低於我的 有效內存1Gb。而如果我的”max_children”設置的較小,比如5-10個,那麼php-cgi就會“很累”,處理速度也很慢,等待的時間也較長。如果長時間沒有得到處理的請求就會出現504 Gateway Time-out這個錯誤,而正在處理的很累的那幾個php-cgi如果遇到了問題就會出現502 Bad gateway這個錯誤。

安装nginx找不到libpcre.so.1的解决方法

启动NGINX提示

Shared object "libpcre.so.1" not found, required by "nginx"

但经过检查,此库在/usr/local/lib下,安装nginx前需要先安装PCRE,就会安装此库。做个软链

cd /lib

ln -s /usr/local/lib/libpcre.so.1

重启启动成功

如果是64位系统,可能需要在/lib64中做软链,这个没有测试过

今天升级的4.2.2

wordpress 4.2.2 中文更新终于出来了,最近国外黑客组织对我方网站大规模的渗透攻击,大量PHP站点沦陷,所以大家要经常对自己管理的服务器和应用程序进行更新维护,这是我们运维工程师的工作。

公布一个可用的Kms服务器

KMS激活支持的Windows版本:
Windows 2008, Windows 2008 R2 全系列产品
Vista, Windows 7的企业版和专业版
以上的全语系、x86、x64、IA64版本均支持,office 2010 各Vol版本

www.57scs.com 180天以后重新激活即可,此网站已运行2年,我部署的大部分2008 R2都使用此地址激活

Kms激活的方式请网上查询,在此提供2008r2版本的kms setup Key 供大家参考

Windows Server 2008 R2

Windows Server 2008 R2 HPC Edition

FKJQ8-TMCVP-FRMR7-4WR42-3JCD7

Windows Server 2008 R2 Datacenter

74YFP-3QFB3-KQT8W-PMXWJ-7M648

Windows Server 2008 R2 Enterprise

489J6-VHDMP-X63PK-3K798-CPX3Y

Windows Server 2008 R2 for Itanium-Based Systems

GT63C-RJFQ3-4GMB6-BRFB9-CB83V

Windows Server 2008 R2 Standard

YC6KT-GKW9T-YTKYR-T4X34-R7VHC

Windows Web Server 2008 R2

6TPJF-RBVHG-WBW2R-86QPH-6RTM4

macos 10.9.4 下手动安装 pl-2303usb 串口驱动

这个网上的文章我就不说啥了,有说让拆串口看芯片的,有说随便测试的,后来终于整合了一下,你拿一条线过来,你根本不知道是什么公司的芯片,其实linux 这个系统比较牛,牛就牛在它有一个程序叫lsusb,这东西直接看USB口接的设备的芯片是哪个厂商的,是什么型号;你得先知道是什么型号才能去找驱动,不能蒙啊,好在Mac系统下面也有这么个程序,好歹人家也赞助了freebsd这么多年了,

mac os 的系统用如下 $ system_profiler SPUSBDataType 命令可以显示 我一下就知道了我的第一条usb转串口线的芯片厂商是ArkMicroChips,产品Id是0x0232,谷歌一查,这个厂商消失啦!现在能找到Win的驱动都算你牛叉,好吧,哥还有一个串口设备呢,接上一看,发现厂商是Prolific Technology Inc. 这是个大厂,主页就是https://www.prolific.com.tw,有专门的Mac驱动,最新版本是1.51,支持macos 10.9最新的正式操作系统, md_PL2303_MacOSX-10.6up_v1.5.1.zip ,解压完了是个pkg的包,点击直接安装即可,机器会重新启动,然后我中彩了,/dev目录下除了tty.Bluetooth开头的两个本来就有的默认文件外,根本没有新增 tty.* 的文件,这证明驱动程序安装失败,我不死心,弄了四五遍,无一例外,死心了,看看人家的页面吧,突然发现人家写了,可以下载第三方驱动,两个地址如下 https://www.xbsd.nl/2011/07/pl2303-serial-usb-on-osx-lion.html https://nozap.me/driver/osxpl2303/index.html 我先测试第二个地址,因为它这个是dmg格式,Mac系统直接安装,也号称支持10.9,安装重启后电脑没反映。。。尝试第一个地址的手动安装方法

$ download and extract
$ cd /path/to/osx-pl2303.kext
$ sudo cp -R osx-pl2303.kext /System/Library/Extensions/
$ next you need to fix permissions and execute bits:
$ cd /System/Library/Extensions
$ sudo chmod -R 755 osx-pl2303.kext
$ sudo chown -R root:wheel osx-pl2303.kext
$ cd /System/Library/Extensions
$ sudo kextload ./osx-pl2303.kext
$ sudo kextcache -system-cache
重启电脑后成功安装驱动,/dev下发现了 tty.usbserial文件,而且这个成功以后,刚才安装的nozip也成功了,我现在觉得还是手动安装后,把某些本来系统自带的功能疏通了。 我把这三种方法写在这里,供大家参考。如果让我推荐,首选还是官方的pkg包,不行的话再手动安装。手动安装的文件的下载地址是 https://www.xbsd.nl/pub/osx-pl2303.kext.tgz

如何在Freebsd 下安装Varnish-4.0.1 (140629更新)

操作系统为freebsd 9.2

1、安装Varnish-4.0.1软件运行环境

libiconv-1.14

 ./configure;make;make install

Python-2.7.7

 ./configure;make;make install

pcre-8.35

 ./configure;make;make install

perl-5.20.0

 sh Configure -de;make;make test;make install

pkg-config-0.28

 ./configure –with-internal-glib –with-libiconv=gnu CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib";make;make install

 

2、安装Varnish-4.0.1软件

这个软件虽然和前面4.0.0差了2个月,但是明显发布的比较着急,里面有一些Bug没有及时处理,需要安装前先行处理

第一个Bug:

继续阅读如何在Freebsd 下安装Varnish-4.0.1 (140629更新)

RedHat Enterprise Linux 7已开放

Red Hat Enterprise Linux 7采用全新文件系统XFS取代原有ext4,XFS支持高达500TB,而ext4仅支持50TB。而针对XFS文件系统在处理大量小文件时性能并没有具体数据说明,RHEL 7仍然支持ext4。

最新版RHEL 7在虚拟化上支持Docker containers,而且可达到裸机运行速度,实现SELinux的安全性控制。据了解这是一种类似于Solaris Zones相当实用的技术,至于这些“容器”(containers)是否会在全球流行开来还需关注。

此外,RHEL 7也提供“活动目录”(Active Directory)功能。

让Kindle dxg 显示简体中文

1、充电,保证Kindle DXG有足够的电量。

2、文件下载:

https://techlife.com.cn/soft/kindledxg/ 用户名techlife 密码123456

kindle-jailbreak-0.12.N.zip 解压得到其中的update_jailbreak_0.12N_dxg_install.bin

kindle-fonts-5.13.N-k2.rar 解压得到其中的Update_fonts_5.13.N_dxg_install.bin

kindle-font-plus.rar 解压得到fonts文件夹

dxg = Kindle DX Graphite

3、版本确认: home -> [menu] -> settings device info下提供了机器的信息: Software Version是DX的固件版本 Serial Number是机子的序列号 —————- 序列号以B009开头 = Kindle DX Graphite 石墨色,带3G上网,最新固件2.5.8(555370010)

4、备份

5、越狱:

        a、使用USB线连电脑,将解压得到的update_jailbreak_0.12N_dxg_install.bin复制到kindle的根目录下。

        b、弹出kindle。 c、home -> [menu]-> settings-> [menu]-> update your kindle。 d、耐心等待DX重启,提示update not successful  即表示越狱成功(注意:这点是不成功)

继续阅读让Kindle dxg 显示简体中文

第一代Kindle Fire 刷最新官方版CM11+GOOGLE框架教程

本文大纲如下,Pdf完整版请移步Doc区下载 ,用户名techlfie 密码123456

前言:

本文所述安装包已整理,下载地址https://techlife.com.cn/soft/kindlefire/
用户名techlfie密码123456,压缩包名称fff+twrp2.6.3.1.rar

一、搭建安卓开发环境ADB

二、刷机ROM下载

三、ADB命令手动操作刷机

四、找到开发者模式并开启USB调试模式