Joel Berger posted this little program to start a web server to serve local files, и он прекрасно работает:Как я могу получить порт, который выбирает Mojolicious :: Lite?
use Mojolicious::Lite;
@ARGV = qw(daemon);
use Cwd;
app->static->paths->[0] = getcwd;
any '/' => sub {
shift->render_static('index.html');
};
app->start;
Я уже заполнена командной строки в @ARGV
, потому что я забыл сделать это. Когда она начинается, это дает сообщение о том, какой порт он выбрал, используя 3000, если она может:
$ perl ~/bin/mojo_cwd
[Fri Mar 29 19:14:09 2013] [info] Listening at "http://*:3000".
Server available at http://127.0.0.1:3000.
Я хотел бы получить, что порт про грамматически так тестовый набор может знать, где искать его , и я бы предпочел не делать этого, сломав выход. Ни один из моих экспериментов для этого не был полезен, и я думаю, что я всегда был в неправильном направлении. Похоже, что он не выбирает порт, пока он не запустится, и как только я позвоню start
, это конец.
Я тоже не хочу указывать порт.
Это не вопрос срочности. У меня есть текущее решение этого с другой простой базой данных HTTP, но я смотрел на замену большей части этого материала Mojo, если можно. Поскольку старый материал все еще работает, на самом деле это просто что-то приятное, а не что-то на моем пути.
Было бы полезно, если бы вы отправили код, из которого вы пытаетесь получить номер порта, чтобы мы могли видеть, что вы ожидаете от мозаики, чтобы разоблачить и как это сделать. –
Весь код находится прямо здесь. Я хочу запустить этот скрипт и узнать номер порта. Ответ Шри: это всегда 3000 или ничего. –
, что было бы легко проверить: попытка запустить 2 экземпляра приложения в параллель дает ошибку 'Can not create listen socket: Address, уже использующийся в ...' - это показывает, что по умолчанию используется только единственный порт –