如何为Hypnotoad打开套接字

3
尝试运行使用Hypnotoad的Mojolicious应用,但遇到了困难。
[user@server public_html]$ hypnotoad -t app/script/app 
Everything looks good!
[user@server public_html]$ hypnotoad app/script/app 
Can't create listen socket: Address already in use at /usr/local/share/perl5/Mojo/IOLoop.pm line 126.

看起来一切都已经准备就绪,可以在Hypnotoad中启动应用程序,但是这并不起作用。如何关闭阻止Mojolicious监听套接字的任何内容?或者有更好的解决方法吗?


1
地址已被占用,默認端口為8080。您可以更改Mojo應用程序的端口或終止在8080上運行的應用程序。 - asthman
如何检查和终止正在运行的应用程序? - CoderLee
hypnotoad --stop - xxfelixxx
2个回答

4
使用 netstat 命令,您可以查找占用 8080 端口的进程的 PID 并发送 SIGTERM 命令以停止它。
netstat -lntp | perl -nE '/:8080/ or next; say and kill(15, $_) for m|(\d+)/|'

3

要在不同于默认端口8080上启动hypnotoad,我使用以下命令:

#myapp

use Mojolicious::Lite;

# mojo will look for a *.conf with the same name 
# as the application
app->plugin('Config');
app->start;

使用配置文件:
# myapp.conf
{
  hypnotoad => {
    listen  => ['http://*:3000'],
    workers => 4
  }
};

请参阅Perldoc,了解各种配置选项。


1
我一直在使用克隆的同一个Mojolicious应用程序,在不同端口上使用hypnotoad运行。它们都在nginx后面通过proxy_pass进行代理。我发现的一个问题是,我需要明确指出配置文件的位置:my $config_file = /home/hbarnard/psbl/datamap.conf ;否则会有一些混淆,我还没有解决。 - Hugh Barnard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接