Установка Go и Revel на облачный сервер Ubuntu 13.04
Cloud Server, Ubuntu, VPS | Комментировать запись
В этом руководстве речь пойдёт об установке языка 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: Go, Revel, Ubuntu 13.04