Установка Go и Revel на облачный сервер Ubuntu 13.04

В этом руководстве речь пойдёт об установке языка Go и фреймворка Revel на облачный сервер Ubuntu 13.04 с 64-битной архитектурой.

Revel – это высокопроизводительный фреймворк для языка Go в духе Play или Rails. Revel действительно делает акцент на производительность. Этот фреймворк может обрабатывать большое количество сложного кода и автоматизировать рутинные задачи (помимо прочего он выполняет маршрутизацию, проверки, шаблонирование, кэширование, и т.д.), что позволяет ускорить разработку веб-приложения. Его главное отличие от Rails в том, что он гораздо быстрее обрабатывает код. Кроме того, он использует HTTP-сервер Go, обслуживающий запросы во много раз быстрее, чем Rails. Кстати, Revel – это отличный шанс улучшить знания Go.

Примечание: Подробнее о Revel можно прочесть здесь.

Go – это открытый язык программирования для разработки простого и надёжного программного обеспечения. Он создан командой Google (в которую входит Ken Thompson, разработчик операционных систем UNIX). В двух словах, этот язык по производительности близок к С и имеет  довольно хорошо продуманный синтаксис, как и большинство современных скриптовых языков.

1: Подготовка сервера

Создайте пользователя, домашний каталог которого будет хранить бинарные файлы и рабочие каталоги Go и Revel.

Примечание: Не забудьте заменить условное имя USER именем своего пользователя.

Чтобы создать пользователя и установить пароль, запустите команду:

sudo useradd -m -d /home/USER -s /bin/bash -U USER
passwd USER

Затем нужно добавит нового пользователя в группу admin, чтобы открыть доступ к команде sudo:

groupadd admin && usermod -a -G admin USER

Теперь войдите в систему как новый пользователь и откройте его домашний каталог:

su USER
cd ~/

2: Установка Go

Как правило, стандартные репозитории систем содержат устаревшие версии программ, потому рекомендуется загрузить и установить Go из Google Code.

Для начала обновите список пакетов и установите git:

sudo apt-get update
sudo apt-get install git mercurial

Затем нужно загрузить Go:

wget http://go.googlecode.com/files/go1.3.3.linux-amd64.tar.gz
tar xf go1.3.3.linux-amd64.tar.gz
rm go1.3.3.linux-amd64.tar.gz

Добавьте несколько переменных среды в .profile, чтобы определить местонахождение установки Go:

echo "export GOROOT=\$HOME/go" >> ~/.profile
echo "PATH=$PATH:\$GOROOT/bin" >> ~/.profile
source ~/.profile

Чтобы убедиться, что установка прошла успешно, запросите версию Go:

go version

Теперь нужно установить путь Go; это папка или несколько папок, указанные в переменной окружения GOPATH. Важно отметить, что GOPATH не может быть такой же, как переменная GOROOT, которая определяет, где находится сама установка Go.

Примечание: $GOPATH – это разделенный двоеточиями список путей, в котором может находиться код Go, объекты, пакеты и исполнимые файлы.

В этом руководстве будет использоваться только один каталог GOPATH, ~/gocode. В этом каталоге будут храниться исходники, бинарные файлы, зависимости и тестовое приложение Revel.

Примечание: Подробнее о целях и структуре переменной GOPATH можно прочесть здесь.

Создайте каталог и добавьте ещё несколько переменных окружения в .profile:

mkdir ~/gocode
echo "export GOPATH=\$HOME/gocode" >> ~/.profile
echo "PATH=\$PATH:\$GOPATH/bin" >> ~/.profile
source ~/.profile

Итак, теперь всё готово к загрузке и установке Revel.

3: Установка Revel

Чтобы установить фреймворк Revel, используйте функцию go get:

go get github.com/revel/cmd/revel

Готово! Теперь можете протестировать установку Revel, запустив стандартное приложение, которое поставляется вместе с фреймворком:

revel run github.com/revel/revel/samples/chat

Вскоре на экране появится сообщение:

Listening on :9000
Running revel server

Если это сообщение появилось, значит, всё готово к запуску тестового приложения. Откройте в браузере:

http://YOUR.VPS.IP.HERE:9000

Дополнение: Обновление Revel

Пакеты фреймворка Revel часто обновляются, потому очень важно уметь заново собирать его. Для начала загрузите последние изменения в удалённый репозиторий:

cd $GOPATH/src/github.com/robfig/revel
git checkout master
git pull origin master

После этого можно заново собрать бинарные файлы:

cd $GOPATH/bin
rm revel
go install -v github.com/robfig/revel

Эта команда переустановит Revel из локального исходника, который находится в $GOPATH/src/github.com/robfig/revel.

ПримечаниеДокументация Revel содержит большое количество полезных рекомендаций и ресурсов, которые помогут начать работу с фреймворком.

Tags: , ,

Добавить комментарий