Articles of socket

用于php-fpm套接字的SElinux标签

我试图设置php-fpm的多个实例,通过运行在centos 6.5上的apache 2.2来运行多个版本的php。 在未来的某个时候,这将会在一个共享的宿主环境中结束,所以我需要最紧密的安全。 因此,我试图避免完全禁用selinux,并试图尽可能缩小策略。 我对selinux比较新(我们现有的服务器只是禁用了它)。 我在这个话题上做了大量的阅读,但逻辑仍然逃避了我(正如我确信这个问题所表明的那样)。 当调用一个php脚本apache产生这个错误: [Sun May 18 10:46:17 2014] [error] [client 192.168.163.1] (13)Permission denied: FastCGI: failed to connect to server "/fcgi-bin-php5-fpm-i10000_test-1.testtest.org": connect() failed [Sun May 18 10:46:17 2014] [error] [client 192.168.163.1] FastCGI: incomplete headers (0 bytes) received from server "/fcgi-bin-php5-fpm-i10000_test-1.testtest.org" 包含php-fpm套接字的目录如下所示: drwxr-xr-x. root root system_u:object_r:var_run_t:s0 . drwxr-xr-x. root root system_u:object_r:var_run_t:s0 .. […]

连接上游时资源暂时不可用(php5-fpm)

当〜+ 10K连接(netstat -an | grep 80 | wc -l)时,我经常在随机页面上出现这个错误。 发生这种情况时,仍有+ 10GB的可用内存,服务器负载小于3。 我的相关configuration: /etc/php5/fpm/php.ini memory_limit = 1024M default_socket_timeout = 120 /etc/php5/fpm/pool.d/www.conf pm = dynamic pm.max_children = 30 pm.start_servers = 5 pm.min_spare_servers = 2 pm.max_spare_servers = 5 ;pm.max_requests =20000 #uncommented with any value didn't fixed request_terminate_timeout = 120s 我还把上述的一些线索(即60个孩子,10个开始,10个最大的服务器)翻了一番,没有用。 /etc/nginx/nginx.conf worker_connections 4024; keepalive_timeout 10; 支持Varnish和memcached的Nginx本身是启用的。 一般页面渲染速度相当快。 这似乎是一个很常见的问题,我找不到任何有用的解决scheme,甚至分析可能的原因。 […]

绑定到<1024端口是否只有在Unix系统上才被授权为root还有一个原因吗?

在Unix系统上,拒绝绑定到没有root权限的进程的tcp端口<1024。 最初的原因是什么,它仍然有效? 例如http服务器不需要root权限来提供html页面。 Unix用户需要确定它以root权限运行的进程/协议是什么? 谢谢

检查一个path是否超过Unix域套接字的最大值

操作系统限制Unix域套接字path的长度。 我怎样才能检查一个特定的path是否在这个限制之内? 换句话说,如何在Linux或Mac OS X系统上检查Unix域套接字path的最大允许长度? 我的用例是用于SSH多路复用:如果ControlPath太长,那么SSH多路复用将不起作用,因为它会创build一个unix域套接字。 我希望能够检查一个有效的控制path,而不必实际启动一个SSH会话,并寻找错误消息。

networking服务器应该关心IPv6兼容性吗?

现实世界中是否有IPv6客户端? 如果没有,是否有其他理由支持IPv6? (我的理解是,随着广域网的出现,这样的IPv6并不是必须的,因此如果有适应性,这个IPv6是非常低的,是正确的还是未来几年我们会看到IPv6使用量的增加?

我的TIME_WAIT在Mac OS X上在哪里?

在Mac OS X上没有TIME_WAIT 通常情况下,当TCP连接closures时,首先调用close()那一侧的套接字保留在TIME_WAIT状态。 当其中一个节点是Mac OS X(Lion)机器时,如果在Mac端首先调用close()则Mac上的netstat -an将不会列出TIME_WAIT 。 但是,看起来套接字实际上处于TIME_WAIT状态,因为试图再次调用listen() (不使用套接字选项SO_REUSEADDR )导致listen()失败。 等待2 * MSL(由sysctl net.inet.tcp.msl报告,在Mac OS X Lion上为15秒的最大段寿命)将清除TIME_WAIT状态,并且可以再次调用listen()而不会出错。 为什么在TIME_WAIT中看不到套接字? testing 这里有两个简单的Pythontesting程序。 服务器 #!/usr/bin/env python import socket HOST = '' PORT = 50007 l = socket.socket(socket.AF_INET, socket.SOCK_STREAM) l.bind((HOST, PORT)) l.listen(1) print("Listening on %d" % PORT) (s, _) = l.accept() print("Connected") raw_input("Press <enter> to close…") l.close() […]

如何获得一个Linuxnetworking日志?

我们有一个运行在linux中的java服务器,在一个特定的端口上接受数以千计的用户的持久连接。 最近我们的客户无法连接超时错误。 我们怀疑stream量过高,但是我们的java日志实际上表明,每秒钟连接的数量并不多。 我们怀疑可能是因为太多的人在同一时间尝试,他们基本上是在操作系统级别下降,所以Java程序从来没有真正有机会接受连接? 有没有在Linux的某种日志,可以显示有人试图击中一个套接字?

Nginx + php5-fpm =“文件未find”

使用nginx / fpm设置网站时,我碰到了一堵墙。 页面显示“文件未find”,并出现在nginx error.log中: FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream 我对nginx和fpm都是新手,这个错误信息对我来说毫无意义(即使是谷歌机器也没有帮助!)。 任何人都可以阐明可能发生的事情吗?

如何通过UNIX套接字configurationNginx proxy_pass Node.js HTTP服务器?

我试图configuration一个Nginx服务器,通过一个UNIX域套接字连接到一个Node.js HTTP服务器。 Nginxconfiguration文件: server { listen 80; location / { proxy_pass http://unix:/tmp/app.socket:/; } } (根据http://wiki.nginx.org/HttpProxyModule#proxy_pass ) Node.js脚本: var http = require('http'); http.createServer(function(req, res) { console.log('received request'); req.end('received request\n'); }).listen('/tmp/app.socket'); 现在,当我尝试打电话 curl http://localhost/ 我只有curl中的502 Bad Gateway错误页面,Node.js进程没有任何内容。 我做错了什么? 编辑: 在尝试了quanta的解决scheme后,错误必须与Nginxconfiguration有关,因为Node.js进程正确地build立了与套接字的连接。 我也尝试过这样configurationNginx: upstream myapp { server unix:/tmp/app.socket; } server { listen 80; location / { proxy_pass http://myapp; } […]

通过docker卷共享unix套接字 – 权限被拒绝

我尝试通过一个卷与我的nginxnetworking服务器共享我的php5-fpm套接字。 Fpm和nginx运行在不同的容器中,我想通过共享卷来从fpm放置套接字文件来使它们工作。 2014/04/13 10:53:35 [crit] 33#0: *1 connect() to unix:/container/fpm/run/php5-fpm.sock failed (13: Permission denied) while connecting to upstream, client: 192.168.8.2, server: docker.dev, request: "GET /test.php HTTP/1.1", upstream: "fastcgi://unix:/container/fpm/run/php5-fpm.sock:", host: "docker.dev" 我已经尝试将权限设置为777,并将php5-fpm.socket组更改为www-data 。 fpm容器的Dockerfile FROM ubuntu:13.10 RUN apt-get update RUN apt-get upgrade -y RUN apt-get install -y php5-cli php5-common RUN apt-get install -y php5-fpm php5-cgi ADD […]