Перейти к содержимому

IncluderWorld

  • записей
    11
  • комментария
    62
  • просмотра
    60 434

Веб сервер на Lua. Часть 1: Установка

LeshaInc

10 890 просмотров

Веб сервер на Lua.
Часть 1: Установка

 

Здравствуйте. Вы читаете запись из цикла "Веб сервер на Lua". В конце данного цикла у нас получится вполне работоспособный веб сайт, причем быстрый, да еще и на Lua. Я все действия буду производить в такой среде как "c9", сайт будет доступен под адресом: http://lua-includeralex.c9.io/ Все файлы, вы можете посмотреть тут: http://ide.c9.io/includeralex/lua Что, ж поехали.

 

В этой части мы установим необходимый софт на наш сервер, увидим некий "Hello World!".

 

Вступление

 

7176cd6a2550abc85666113c803b6c36.gif
Lua — мощный и быстрый скриптовый язык, который очень легко встраивается в C.

 

krR92fy.png
OpenResty — это сборка Nginx с множеством сторонних модулей, в том числе для неблокирующего доступа к популярным БД. Последние версии используют LuaJIT для исполнения Lua. Разработчик Yichun Zhang (США, место работы: CloudFlare, основной разработчик lua-nginx-module).

 

hgicage.png
Lapis — это веб-фрейморк для написания веб-приложений на Lua и MoonScript, который живёт внутри OpenResty.

 

Установка

 

Со вступлением разобрались, теперь разберемся с установкой всего этого дела на наш сервер. Итак, что нам нужно: Lapis, OpenResty, Nginx, LuaRocks.
Для начала:
Установите perl 5.6.1+, libreadline, libpcre и libssl и убедитесь, что доступна команда ldconfig (её родительская папка может отсутствовать в PATH).

 

Объяснять установку nginx не буду, это легко узнать на официальном сайте, поэтому сразу перейдем к установке OpenResty. Внимание, все объяснения по установке приведены для Линукса, объяснение для Виндовса и Мака возможно, будет в других частях цикла. Итак, установка OpenResty:

$ wget http://openresty.org/download/ngx_openresty-1.7.4.1.tar.gz$ tar xzvf ngx_openresty-1.7.4.1.tar.gz$ cd ngx_openresty-1.7.4.1/$ ./configure$ make# make install


После ввода этих команд (последовательно, конечно) у вас будет установлен OpenResty.
Перейдем к LuaRocks. LuaRocks - это пакетный менеджер для Луа. Информацию о нем можно найти на https://luarocks.org/ В LuaRocks есть много вкусного, там тебе и OpenGL, и SSL, и moonscript, но сейчас не об этом. Установим LuaRocks, следуя инструкциям по установке на сайте. Если же у вас Ubuntu, как, впрочем, и у меня, вы можете установить LuaRocks напрямую из репы:

# apt-get install luarocks


Следующим шагом будет установка самого Lapis. Для этого воспользуемся LuaRocks, который мы только что скачали.

# luarocks install lapis


С установкой софта покончено. Перейдем к настройке всего этого.

 


Настройка
Для начала создадим "скелет" нашего сайта. Lapis сам сделает это за нас.

$ lapis new --luawrote	nginx.confwrote	mime.typeswrote	app.lua


Ключ lua нужен, тк мы делаем сайт именно на lua, а не на moonscript.

 


Следующим шагом для нас будет запуск сервера.

$ lapis server


Lapis автоматический запустит сервер и создаст структуру папок. На этом наш сайт готов, убеждаемся в этом.

 


Проверка
Заходим по адресу, на который настроен nginx, и узреваем сиё чудо:
uzL7aYA.png?1

 

Это означает, что lapis настроен правильно, и мы можем приступать к работе, но об этом - в следующей части цикла (самому надо разобраться)

 

Что-ж, на этом все.
Enjoy!

  • Нравится 3


7 комментариев


Рекомендуемые комментарии

И зачем (хоть и частично) копипастить хабр? Я думал ты свой вебсервер написал,а ты всего-то использовал nginx (кстати, ты написал, что последние версии используют LuaJIT, nginx с ним работает уже несколько лет, голый nginx,а не эта "сборка")

Поделиться комментарием


Ссылка на комментарий

И зачем (хоть и частично) копипастить хабр? Я думал ты свой вебсервер написал,а ты всего-то использовал nginx (кстати, ты написал, что последние версии используют LuaJIT, nginx с ним работает уже несколько лет, голый nginx,а не эта "сборка")

Сразу видно что ты даже половины не прочитал. На хабре я узнал про эту штуку, первая часть частично саопипасчена с хабра. А ведь есть ещё 3 части..

Поделиться комментарием


Ссылка на комментарий

Остальную часть читал, но тогда оно не сочетается с названием... далее идет разработка сайта, а не вебсервера на lua

Поделиться комментарием


Ссылка на комментарий
Гость
Добавить комментарий...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...