Как да инсталирате Phoenix Framework на CentOS 7

Phoenix е нововъзникваща рамка за уеб разработка, базирана на Elixir. Той е проектиран да осигури висока производителност при разработка, богати функции и мощна производителност по време на изпълнение.

Този урок ще ви покаже как да инсталирате Phoenix на сървърен екземпляр Vultr CentOS 7 за целите на разработката.

Предпоставки

Преди да продължите, предполагам, че имате:

  • Разгърна нов екземпляр на сървъра Vultr CentOS 7.
  • Влезли сте в тази система CentOS 7 като потребител на sudo без root права.

Стъпка 1: Актуализирайте системата

sudo yum install epel-release
sudo yum update
sudo reboot

Стъпка 2: Инсталирайте Erlang

На първо място, трябва да инсталирате Erlang на вашата система. Phoenix е рамка, написана на езика за програмиране Elixir и всяко приложение, базирано на Elixir, трябва да бъде компилирано в Erlang байтов код, преди да може да бъде изпълнено.

cd ~
wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
sudo rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
sudo yum install erlang

Можете да потвърдите вашата инсталация на Erlang с:

erl

Тази команда ще ви отведе в обвивката на Erlang. Когато стартирате обвивката на Erlang, ще видите следния изход.

Erlang/OTP 18 [erts-7.3] [source-d2a6d81] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V7.3  (abort with ^G)
1>

Натиснете Ctrl+Cдва пъти, за да излезете от обвивката на Erlang.

Стъпка 3: Инсталирайте Elixir

Тъй като версията на Elixir в хранилището YUM на системата CentOS 7 е доста остаряла, трябва да използвате официалния предварително компилиран архив на Elixir, за да инсталирате най-новата версия на Elixir.

Изтеглете и разархивирайте най-новия предварително компилиран архив на Elixir:

cd /usr/bin
sudo mkdir elixir
cd /usr/bin/elixir
sudo wget https://github.com/elixir-lang/elixir/releases/download/v1.2.5/Precompiled.zip
sudo yum install unzip
sudo unzip Precompiled.zip

Elixir вече е инсталиран на вашата система. Можете да изпълнявате команди Elixir, като посочите пътя на всяка команда, свързана с Elixir, като например:

/usr/bin/elixir/bin/elixir -v

Тази команда ще ви каже версията на Elixir във вашата система.

За удобство можете да добавите пътя на bin на Elixir (заедно с пътя на bin за инсталиране на node.js) към вашата PATHпроменлива на средата:

sudo vi /etc/profile

Добавете следния ред в края на файла:

export PATH="$PATH:/usr/bin/elixir/bin:/usr/bin/node-v6.1.0-linux-x64/bin"

Запазете и излезте:

:wq

Презаредете профила:

source /etc/profile

Отсега нататък можете да изпълнявате команда, свързана с Elixir, без да указвате пълния й път, като например:

elixir -v

Сега инсталирайте Hex мениджъра на пакети, като изпълните mixкомандата по същия начин:

cd ~
mix local.hex

Отговорете Yпо време на инсталационния процес.

Стъпка 4: Инсталирайте Phoenix

Използвайте следната команда, за да инсталирате Phoenix:

mix archive.install https://github.com/phoenixframework/archives/raw/master/phoenix_new.ez

Отговорете Yпо време на инсталационния процес.

Стъпка 5: Инсталирайте Node.js (по избор)

Ако искате да използвате brunch.io, инструмента за изграждане по подразбиране на Phoenix, за компилиране на статични активи (javascript, css и т.н.), трябва да инсталирате Node.js (>= 5.0.0):

cd ~
wget https://nodejs.org/dist/v6.1.0/node-v6.1.0-linux-x64.tar.xz
sudo yum install xz
xz -d node-v6.1.0-linux-x64.tar.xz
tar -xvf node-v6.1.0-linux-x64.tar
sudo mv ~/node-v6.1.0-linux-x64 /usr/bin/

Не забравяйте, че пътят на Node.js беше добавен в променливата на средата PATH в стъпка 3. Можете да тествате инсталацията на Node.js с тази команда:

node -v

Стъпка 6: Инсталирайте PostgreSQL

По подразбиране Phoenix използва PostgreSQL за конфигуриране на приложения. На CentOS 7 можете да инсталирате PostgreSQL с помощта на YUM:

sudo yum install -y postgresql-server
sudo postgresql-setup initdb

Стартирайте postgresqlуслугата:

sudo systemctl start postgresql.service
sudo systemctl enable postgresql.service

Задайте парола за потребителя на PostgreSQL по подразбиране "postgres":

sudo -u postgres psql

В обвивката на PostgreSQL (след като подканата се превърне в postgres=#), задайте парола за "postgres":

\password postgres

Въведете паролата postgresдва пъти, която е предпочитаната от Phoenix.

И накрая, използвайте следната команда, за да излезете от обвивката на PostgreSQL.

\q

Настройте метода за удостоверяване на потребителя на базата данни:

sudo vi /var/lib/pgsql/data/pg_hba.conf

Намерете следния раздел:

# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                ident

Променете метода за удостоверяване на IPv4 локални връзки към md5:

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

Запазете и излезте:

:wq

Рестартирайте postgresqlуслугата:

sudo systemctl restart postgresql.service

Стъпка 7: Инсталирайте inotify-tools

Използвайте следната команда, за да инсталирате необходимия компонент "inotify-tools":

sudo yum install inotify-tools

Стъпка 8: Създайте приложение на Phoenix

Да приемем, че искате да създадете приложение на Phoenix в директорията ~/phoenix_project_1:

mix phoenix.new ~/phoenix_project_1

Отговорете Yпо време на процеса, за да извлечете и инсталирате зависимости.

Тази команда ще създаде директорията на приложението ~/phoenix_project_1вместо вас. Влезте в директорията и създайте база данни:

cd ~/phoenix_project_1
mix ecto.create

Отговорете, за Yда инсталирате "arbar" по време на първото създаване на база данни.

Стартирайте приложението си със следната команда:

mix phoenix.server

Докато поддържате текущата SSH връзка жива, инициирайте друга SSH връзка и променете правилата на защитната стена, за да предоставите достъп до вашето приложение:

sudo firewall-cmd --zone=public --permanent --add-port=4000/tcp
sudo firewall-cmd --reload

И накрая, използвайте уеб браузър, за да посетите приложението си от:

http://[your-server-IP]:4000

Това завършва нашия урок. Добре дошли във Финикс!

Оставете коментар

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече