nginx 10045 服务器主动关闭连接
nginx 10045 服务器主动关闭连接方式如下:
/
主动断开与客户端浏览器的连接
如果是 Nginx 服务器需要输出大于等于 fastcgi_buffer_size 缓存的数据才能即时输出 header 断开连接, 若还是不行可尝试关闭 gzip
如: fastcgi_buffer_size 64k; 即: 需要 641024 字符(可多不可少),
可使用 str_repeat(' ', 65536); 另外 str_repeat(' ', 6554); 这种方式其实生成速度更慢
@param null|string $str 当前输出的内容, 若无需输出则设置为空
/
public function connectionClose($str = null) {
$str = ob_get_contents() $str;
// 若实际输出内容长度小于该值将可能导致主动断开失败
header('Content-Length: ' strlen($str));
header('Connection: Close');
ob_start();
echo $str;
ob_flush();
flush();
}
只能重启环境,单个重启站点是没有效果的!
登录宝塔 Linux 面板 >> 点击左侧导航菜单“软件商店”>> 在应用分类中点击运行环境>> 在软件列表中找到 Nginx 并点击右侧对应的“设置”。如果其它环境同样的原理选择
在“Nginx 管理”窗口中的“服务”中点击停止按钮,在弹出的“停止 Nginx 服务”对话框中点击确定按钮即可关闭 Nginx。
在“Nginx 管理”窗口中的“服务”中点击启动按钮,在弹出的“Nginx 服务”对话框中点击确定按钮即可启动 Nginx。
在“Nginx 管理”窗口中的“服务”中点击重启按钮,在弹出的“重启 Nginx 服务”对话框中点击确定按钮即可重启 Nginx。
用netstat
-lntp
|
grep
:80
找出占用80端口的进程
例如:
[root@localhost
~]#
netstat
-lntp
|
grep
:80
tcp
0
0
0000:80
0000:
LISTEN
3040/nginx
这里的程序名就是nginx
尝试用killall
[程序名],看能不能关闭他。
例如:killall
nginx
如果不行,用ps
找出他的PID,
例如:
[root@localhost
~]#
ps
aux
|
grep
nginx
|
grep
-v
grep
root
5406
00
02
5996
756
Ss
03:32
0:00
nginx:
master
process
/usr/local/webserver/nginx/sbin/nginx
这里的pid是
5406
然后用kill命令关掉它。
例如:kill
5406
PS:如果是通过apt-get安装的apache,可以尝试通过/etc/initd/[程序名]
stop
停止进程,或者
通过chkconfig
[程序名]
off
关闭开机启动。
Nginx服务有时启动失败,原因是80端口为其它应用程序占用了,这时,需要查看是哪个程序占用了它,可能是IIS的某个站点,或者Tomat,Apache等,都有可能,所以,需要查看一下电脑80端口的使用情况,使用下面命令: netstat -aon|findstr “:80″
这时,并没有看到本机有被PID为4的进程占用,在任务管理器里找到了它;
关闭80端后,再运行我们的nginx服务。 另外,需要知道的nginx三个主要的命令: 启动服务:start nginx 停止服务:nginx -s stop 重新加载:nginx -s reload(配置文件被修改后需要执行它),即可。
找到nginx的配置文件
找到配置文件中的server listen 将你不需要监听的端口去掉或者注释 后保存配置文件
最后重启nginx服务即可
希望可以帮助你,请采纳,谢谢
0条评论