wordpress打分免插件,安徽网站seo公司,阿里云网站备案好了 怎么建站,免费下载百度一下一、ubuntu下beanstalkd无法绑定局域网IP地址 今天因为业务需要#xff0c;我把之前安装的beanstalkd所绑定的IP地址由127.0.0.1改成局域网IP地址#xff0c;但是怪了#xff0c;显示beanstalkd已经启动#xff0c;查看端口监控也显示IP地址变了#xff0c;但是使用telnet…一、ubuntu下beanstalkd无法绑定局域网IP地址 今天因为业务需要我把之前安装的beanstalkd所绑定的IP地址由127.0.0.1改成局域网IP地址但是怪了显示beanstalkd已经启动查看端口监控也显示IP地址变了但是使用telnet连接的却依然是连接不上报错Unable to connect to remote host: Connection refused。真是奇怪难道是防火墙的问题觉得不应该但还也加上了这个端口的全部accept规则但是依然不起作用。看来还是得从beanstalkd自身找问题。 过程是这样的我安装beanstalkd使用的是apt-get方式beanstalkd的配置文件路径存在于这个路径文件/etc/default/beanstalkd修改之后使用service beanstalkd restart进行重启也没有报什么错误。但是就是不起作用。
rootus78:/# cat /etc/default/beanstalkd
## Defaults for the beanstalkd init script, /etc/init.d/beanstalkd on
## Debian systems.
BEANSTALKD_LISTEN_ADDR10.78.11.12
BEANSTALKD_LISTEN_PORT11300
rootus78:/# service beanstalkd restart
rootus78:/# telnet 10.78.11.12 11300
Trying 10.78.11.12...
telnet: Unable to connect to remote host: Connection refused 后来了解到这个问题是因为只要是从debian软件包安装的beantalkd则它同时带有systemd .service和.socket。 当beantalkd由.socket启动时无论您如何配置.service它都会去绑定127.0.0.1。此时通过service beanstalkd status也能看到它会忽略我们配置的IP地址如下日志解决办法也很简单就是移除这个路径/lib/systemd/system/beanstalkd.socket的.socket文件然后重启systemctl daemon-reload and systemctl restart beanstalkd,即可解决过程如下
#service beanstalkd status忽略我们配置的IP地址
asdf beanstalkd[4323]: /usr/bin/beanstalkd: inherited listen fd; ignoring option: -l 10.78.11.12
asdf beanstalkd[4323]: /usr/bin/beanstalkd: inherited listen fd; ignoring option: -p 11300
#查看文件内容/lib/systemd/system/beanstalkd.socket
rootus78:/etc/default# cat /lib/systemd/system/beanstalkd.socket
[Unit]
DescriptionBeanstalkd socket
Documentationman:beanstalkd(1)
Beforesockets.target[Socket]
ListenStream127.0.0.1:11300[Install]
WantedBysockets.target
#删除beanstalkd.socket文件并重启
rootus78:/etc/default# mv /lib/systemd/system/beanstalkd.socket /lib/systemd/system/beanstalkd.socket.bak
rootus78:/etc/default# systemctl daemon-reload
rootus78:/etc/default# systemctl restart beanstalkd. 二、消息队列beanstalkd上的error: JOB_TOO_BIG的解决 今天一个处理处理消息队列的程序出现了报错其中往beanstalkd添加消息的时候出现Put error: JOB_TOO_BIG in beanstalk-client/src/Client.php:283出现此报错的原因是往beanstalkd添加的消息个数待处理超过了最大限制限制是多少呢我们可以使用beanstalkd -z选项的值默认是(default is 65535)。通过telnet beanstalkd端口查看stats返回结果可以看到因此这里需要将此配置进行修改。 我的系统是Ubuntu 16.04beanstalkd是使用apt get install安装的如果你是命令行启动的话直接加上-z选项即可但不想改成命令行启动网上看到用户在启动脚本中添加项成功我尝试
#添加下面这行并修改DAEMON_OPTS这行后重启
rootu33:$ vim /etc/init.d/beanstalkd
MAX_JOB_SIZE-z 524280
DAEMON_OPTS-l $BEANSTALKD_LISTEN_ADDR -p $BEANSTALKD_LISTEN_PORT $BEANSTALKD_EXTRA -z 1000000
rootu33:$ service beanstalkd restart 但telnet通过stats查看仍然没有变化后看到有DEBIAN用户说在/etc/sysconfig/beanstalkd中添加MAX_JOB_SIZE-z 524280 选项解决问题不过我使用的ubuntu找到/etc/default/beanstalkd配置文件上篇文章: ubuntu下beanstalkd无法绑定局域网IP地址 刚解决过/etc/default/beanstalkd不生效的问题在这里添加MAX_JOB_SIZE配置后成功了。
#添加以下行代码执行重启
$ vim /etc/default/beanstalkd
BEANSTALKD_LISTEN_ADDR0.0.0.0
BEANSTALKD_LISTEN_PORT11300
#添加以下配置
BEANSTALKD_EXTRA-z 524280
rootu33:/# telnet 11.98.127.92 11300
Trying 11.98.127.92...
Connected to 11.98.127.92.
stats
---
total-jobs: 0
max-job-size: 524280 在这里我发现了一个差异解决这个问题有两种配置一种是BEANSTALKD_EXTRA-z 524280一种是MAX_JOB_SIZE-z 524280看这名称有可能是这样如果在启动脚本中解决应该使用BEANSTALKD_EXTRA而在配置文件中解决就使用MAX_JOB_SIZE我的启动起来了我也没去尝试其它朋友可以试试是不是这样。