Posts Tagged gateway

GSPAY更新for zen cart

For Zencart
1. Find/includes/modules/payment/gspay.php script
2. Open and replace https://secure.rdgateway.com/payment/pay.php at https://secure.redirect2pay.com/payment/pay.php
3. Replace https://secure.rdgateway.com/payment/api.php with https://secure.redirect2pay.com/payment/api.php

不过似乎不能用的,正确的做法是

1. Find/includes/modules/payment/gspay.php script
2. Open and replace secure.rdgateway.com at secure.safepaymentgate.com

替换一个接口地址

  • Share/Bookmark

Tags: , , , , ,

深究Nginx502 bad gateway, 504 Gateway Time-out的彻底解决(转)

我的VPS是256M的内存,CPU是四核心的,所以更多的我会在乎内存。而在我调试服务器的时候通常会遇到Nginx502 bad gateway和504 Gateway Time-out的错误。分析nginx.conf我发现server和fastcgi的buffers过多,导致fastcgi请求的数量过大,php-fpm无法及时处理而出错。循此思路我们可以再总体buffers不变的情况下减少请求数量,具体的ningx.conf改动细节如下:
                server_names_hash_bucket_size 128;
                client_header_buffer_size 32k;
                large_client_header_buffers 1 128k;# 4 32k
                client_max_body_size 8m;

                sendfile on;
                tcp_nopush     on;

                keepalive_timeout 60;

                tcp_nodelay on;

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

                gzip on;
                gzip_min_length  1k;
                gzip_buffers     1 64k; #4 16
                gzip_http_version 1.0;
                gzip_comp_level 2;
                gzip_types       text/plain application/x-javascript text/css application/xml;
                gzip_vary on;

另外,php-fpm的默认静态处理方式会使得php-cgi的进程长期占用内存而无法释放,这也是导致nginx出错的原因之一,因此可以将php-fpm的处理方式改成apache模式。
        <value name=”style”>apache-like</value>

从更改完毕到现在的测试表明上述方式的效果还是很明显的,并没有发现一次Nginx502 bad gateway或504 Gateway Time-out错误。当然,如果你的VPS或者服务器的性能足够好可以根据具体情况不必做无谓的改动。

 

以上摘自疯人醉语

测试一下,有效果的话会更新

  • Share/Bookmark

Tags: , , , , , , , , , , , , , , ,

今天发现的一个502 bad gateway可能

在执行较长的PHP脚本时,如果正好来个

/usr/local/php/sbin/php-fpm reload

虽然说是平滑过渡,但也会造成502 bad gateway,无语了

以前以为只有/usr/local/php/sbin/php-fpm restart会造成这样

  • Share/Bookmark

Tags: , , ,

linux添加ip的方法

cd /etc/sysconfig/network-scripts 

ls -l

可以看到有
ifcfg-eth0 等

新建文件ifcfg-ethX,X为现有的序号的递增,如:

vi ifcfg-eth1

填入:

# Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express
DEVICE=eth1
BOOTPROTO=none
HWADDR=00:e0:81:41:28:ee
ONBOOT=yes
NETMASK=255.255.255.248
IPADDR=204.13.64.188
GATEWAY=205.209.161.17
TYPE=Ethernet

IPADDR值为你要添的IP

有多少IP就新增多少ifcfg-ethX文件

然后运行:

/etc/init.d/network reload

使添加的IP生效

  • Share/Bookmark

Tags: , , , , , ,

bind() for address ’127.0.0.1:9000′ failed: Address already in use

今天一台服务器又当了,因为php-fpm.log又写满2G,这个log文件一直在狂写,不知道什么原因,有空得查一下

服务器  502 Bad Gateway

删了php-fpm.log,重启php-fpm

/usr/local/php/sbin/php-fpm restart

没用,报错:

Shutting down php_fpm /usr/local/php/sbin/php-fpm: line 69: kill: (5899) – No such process

原来已经没有这个进程

/usr/local/php/sbin/php-fpm start

虽然提示:Starting php_fpm  done

但还是没启动成功,依然是502 Bad Gateway

查看日志文件:

 [NOTICE] fpm_unix_init_main(), line 284: getrlimit(nofile): max:51200, cur:51200
 [ERROR] fpm_sockets_new_listening_socket(), line 221: bind() for address ’127.0.0.1:9000′ failed: Address already in use (98)

 原来127.0.0.1:9000端口被占用了

输入命令:netstat -ntlp,查看端口占用情况:

tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      19447/php-cgi

原来还有个php-cgi进程在跑

输入:killall php-cgi  杀掉所有 php-cgi 进程

然后启动 php-fpm :

/usr/local/php/sbin/php-fpm start

OK,成功了

  • Share/Bookmark

Tags: , , , , , , , , , ,

网页错误代码列表 200~505

Successful Client Requests
200 OK
201 Created
202 Accepted
203 Non-Authorative Information
204 No Content
205 Reset Content
206 Partial Content
Client Request Redirected
300 Multiple Choices
301 Moved Permanently
302 Moved Temporarily
303 See Other
304 Not Modified
305 Use Proxy
Client Request Errors
400 Bad Request
401 Authorization Required
402 Payment Required (not used yet)
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not Acceptable (encoding)
407 Proxy Authentication Required
408 Request Timed Out
409 Conflicting Request
410 Gone
411 Content Length Required
412 Precondition Failed
413 Request Entity Too Long
414 Request URI Too Long
415 Unsupported Media Type
Server Errors
500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
505 HTTP Version Not Supported

  • Share/Bookmark

Tags: , , , , , , , , , , , ,

504 gateway timeout

proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 3000;
proxy_send_timeout 3000;
proxy_read_timeout 3000;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;

将时间设长点

  • Share/Bookmark

Tags: , , , , , ,

pure-ftpd.conf 中文说明

# 如果你想要使用配置文件代替命令行选项来运行 Pure-FTPd ,请运行下面的命令:
#
# RPM 缺省使用另外一个配置文件:
# /etc/sysconfig/pure-ftpd
#
# 请不要忘了浏览一下 [url]http://www.pureftpd.org/documentation.html[/url] 的
# 文档,查看全部的选项列表。

# 限制所有用户在其主目录中

  ChrootEveryone              yes

# 如果前一个指令被设置为了 “no”,下面组的成员(GID)就不受主目录的限制了。而其他的用户还是
# 会被限制在自己的主目录里。如果你不想把任何用户限制在自己的主目录里,只要注释掉 ChrootEveryone
# 和 TrustedGID 就可以了。

# TrustedGID                    100

# 兼容ie等比较非正规化的ftp客户端

  BrokenClientsCompatibility  no

# 服务器总共允许同时连接的最大用户数

  MaxClientsNumber            50

# 做为守护(doemon)进程运行(Fork in background)

  Daemonize                   yes

# 同一IP允许同时连接的用户数(Maximum number of sim clients with the same IP address)

  MaxClientsPerIP             8

# 如果你要记录所有的客户命令,设置这个指令为 “yes”。
# This directive can be duplicated to also log server responses.

  VerboseLog                  no

# 即使客户端没有发送 ‘-a’ 选项也列出隐藏文件( dot-files 。

  DisplayDotFiles             yes

# 不允许认证用户 – 仅作为一个公共的匿名FTP。

  AnonymousOnly               no

# 不允许匿名连接,仅允许认证用户使用。

  NoAnonymous                 no

# Syslog facility (auth, authpriv, daemon, ftp, security, user, local*)
# 缺省的功能( facility 是 “ftp”。 “none” 将禁止日志。

  SyslogFacility              ftp

# 定制用户登陆后的显示信息(Display fortune cookies)

# FortunesFile              /usr/share/fortune/zippy

# 在日志文件中不解析主机名。日志没那么详细的话,就使用更少的带宽。在一个访问量很大  
# 的站点中,设置这个指令为 “yes” ,如果你没有一个能工作的DNS的话。

  DontResolve                 yes

# 客户端允许的最大的空闲时间(分钟,缺省15分钟)

  MaxIdleTime                 15

# LDAP 配置文件 (参考 README.LDAP)

# LDAPConfigFile                /etc/pureftpd-ldap.conf

# MySQL 配置文件 (参考 README.MySQL)

# MySQLConfigFile               /etc/pureftpd-mysql.conf

# Postgres 配置文件 (参考 README.PGSQL)

# PGSQLConfigFile               /etc/pureftpd-pgsql.conf

# PureDB 用户数据库 (参考 README.Virtual-Users)

# PureDB                        /etc/pureftpd.pdb

# pure-authd 的socket 路径(参考 README.Authentication-Modules)

# ExtAuth                       /var/run/ftpd.sock

# 如果你要启用 PAM 认证方式, 去掉下面行的注释。

# PAMAuthentication             yes

# 如果你要启用 简单的 Unix系统 认证方式(/etc/passwd), 去掉下面行的注释。

# UnixAuthentication            yes

# 请注意,LDAPConfigFile, MySQLConfigFile, PAMAuthentication 和
# UnixAuthentication 这些指令只能被使用一次,不过,他们能被混合在一起用。例如:如果你使用了
# MySQLConfigFile 和 UnixAuthentication,那么 SQL 服务器将被访问。如果因为用户名未找
# 到而使 SQL 认证失败的话,就会在/etc/passwd 和 /etc/shadow 中尝试另外一种认证,如果因
# 为密码错误而使 SQL 认证失败的话,认证就会在此结束了。认证方式由它们被给出来的顺序而被链
# 接了起来。

# ‘ls’ 命令的递归限制。第一个参数给出文件显示的最大数目。第二个参数给出最大的子目录深度。

  LimitRecursion              2000 8

# 允许匿名用户创建新目录?

  AnonymousCanCreateDirs      no

# 如果系统被 loaded 超过下面的值,匿名用户会被禁止下载。

  MaxLoad                     4

# 被动连接响应的端口范围。- for firewalling.

# PassivePortRange          30000 50000

# 强制一个IP地址使用被动响应( PASV/EPSV/SPSV replies)。 – for NAT.
# Symbolic host names are also accepted for gateways with dynamic IP
# addresses.

# ForcePassiveIP                192.168.0.1

# 匿名用户的上传/下载的比率。

# AnonymousRatio                1 10

# 所有用户的上传/下载的比率。
# This directive superscedes the previous one.

# UserRatio                 1 10

# 不接受所有者为 “ftp” 的文件的下载。例如:那些匿名用户上传后未被本地管理员验证的文件。

  AntiWarez                   yes

# 服务监听的IP 地址和端口。(缺省是所有IP地址和21端口)

# Bind                      127.0.0.1,21

# 匿名用户的最大带宽(KB/s)。

# AnonymousBandwidth            8

# 所有用户的最大带宽(KB/s),包括匿名用户。
# Use AnonymousBandwidth *or* UserBandwidth, both makes no sense.

# UserBandwidth             8

# 新建目录及文件的属性掩码值。<文件掩码>:<目录掩码> .
# 177:077 if you feel paranoid.

  Umask                       133:022

# 认证用户允许登陆的最小组ID(UID) 。

  MinUID                      100

# 仅允许认证用户进行 FXP 传输。

  AllowUserFXP                yes

# 对匿名用户和非匿名用户允许进行匿名 FXP 传输。

  AllowAnonymousFXP           no

# 用户不能删除和写点文件(文件名以 ‘.’ 开头的文件),即使用户是文件的所有者也不行。
# 如果 TrustedGID 指令是 enabled ,文件所属组用户能够访问点文件(dot-files)。

  ProhibitDotFilesWrite       no

# 禁止读点文件(文件名以 ‘.’ 开头的文件) (.history, .ssh…)

  ProhibitDotFilesRead        no

# 永不覆盖文件。当上传的文件,其文件名已经存在时,自动重命名,如: file.1, file.2, file.3, …

  AutoRename                  no

# 不接受匿名用户上传新文件( no = 允许上传)

  AnonymousCantUpload         no

# 仅允许来自以下IP地址的非匿名用户连接。你可以使用这个指令来打开几个公网IP来提供匿名FTP,
# 而保留一个私有的防火墙保护的IP来进行远程管理。你还可以只允许一内网地址进行认证,而在另外
# 一个IP上提供纯匿名的FTP服务。

#TrustedIP                  10.1.1.1

# 如果你要为日志每一行添加 PID  去掉下面行的注释。

# LogPID                     yes

# 使用类似于Apache的格式创建一个额外的日志文件,如:
# fw.c9x.org – jedi [13/Dec/1975:19:36:39] “GET /ftp/linux.tar.bz2″ 200 21809338
# 这个日志文件能被 www 流量分析器处理。

# AltLog                     clf:/var/log/pureftpd.log

# 使用优化过的格式为统计报告创建一个额外的日志文件。

# AltLog                     stats:/var/log/pureftpd.log

# 使用标准的W3C格式创建一个额外的日志文件。(与大部分的商业日志分析器兼容)

# AltLog                     w3c:/var/log/pureftpd.log

# 不接受 CHMOD 命令。用户不能更改他们文件的属性。

# NoChmod                     yes

# 允许用户恢复和上传文件,却不允许删除他们。

# KeepAllFiles                yes

# 用户主目录不存在的话,自动创建。

# CreateHomeDir               yes

# 启用虚拟的磁盘限额。第一个数字是最大的文件数。
# 第二个数字是最大的总的文件大小(单位:Mb)。
# 所以,1000:10 就限制每一个用户只能使用 1000 个文件,共10Mb。

# Quota                       1000:10

# 如果你的 pure-ftpd 编译时加入了独立服务器( standalone 支持,你能够改变 pid 文件
# 的位置。缺省位置是 /var/run/pure-ftpd.pid 。

# PIDFile                     /var/run/pure-ftpd.pid

# 如果你的 pure-ftpd 编译时加入了 pure-uploadscrīpt 支持,这个指令将会使 pure-ftpd
# 发送关于新上传的情况信息到 /var/run/pure-ftpd.upload.pipe,这样 pure-uploadscrīpt
# 就能读然后调用一个脚本去处理新的上传。

# CallUploadscrīpt yes

# 这个选项对允许匿名上传的服务器是有用的。当 /var/ftp 在 /var 里时,需要保留一定磁盘空间
# 来保护日志文件。当所在磁盘分区使用超过百分之 X 时,将不在接受新的上传。

  MaxDiskUsage               99

# 如果你不想要你的用户重命名文件的话,就设置为 ‘yes’ 。

# NoRename yes

# 是 ‘customer proof’ : 工作区(workaround)反对普通的客户错误,类似于:’chmod 0 public_html’ 的错误。
# 那是一个有效的命令,不过,将导致无知的客户所定他们自己的文件,将使你的技术支持忙于愚蠢的的问题中。
# 如果你确信你所有的用户都有基本的Unix知识的话,这个特性将没什么用了。不过,如果你是一个主机提供商
# 的话,启用它。

CustomerProof yes

# 每一个用户的并发限制。只有在添加了 –with-peruserlimits 编译选项进行编译后,这个指令才起
# 作用。(大部分的二进制的发布版本就是例子)
# 格式是 : <每一个用户最大允许的进程>:<最大的匿名用户进程>
# 例如: 3:20 意思是同一个认证用户最大可以有3个同时活动的进程。而且同时最多只能有20个匿名用户进程。

  • Share/Bookmark

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , ,