Phoenix este un cadru emergent de dezvoltare web bazat pe Elixir. Este conceput pentru a oferi productivitate de dezvoltare ridicată, caracteristici bogate și performanțe puternice de rulare.
Acest tutorial vă va arăta cum să instalați Phoenix pe o instanță a serverului Vultr CentOS 7 în scop de dezvoltare.
Cerințe preliminare
Înainte de a continua, presupun că aveți:
- A implementat o nouă instanță a serverului Vultr CentOS 7.
- Conectat la acest sistem CentOS 7 ca utilizator sudo fără rădăcină.
Pasul 1: Actualizați sistemul
sudo yum install epel-release
sudo yum update
sudo reboot
Pasul 2: Instalați Erlang
În primul rând, trebuie să instalați Erlang pe sistemul dvs. Phoenix este un cadru scris în limbajul de programare Elixir și orice aplicație bazată pe Elixir trebuie compilată la codul de byte Erlang înainte de a putea fi executată.
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
Puteți confirma instalarea Erlang cu:
erl
Această comandă vă va duce în shell-ul Erlang. Când porniți shell-ul Erlang, veți vedea următoarea ieșire.
Erlang/OTP 18 [erts-7.3] [source-d2a6d81] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V7.3 (abort with ^G)
1>
Apăsați de Ctrl+Cdouă ori pentru a ieși din coaja Erlang.
Pasul 3: Instalați Elixir
Deoarece versiunea Elixir din depozitul YUM al sistemului CentOS 7 este destul de datată, ar trebui să folosiți arhiva oficială Elixir precompilată pentru a instala cea mai recentă versiune a Elixir.
Descărcați și dezarhivați cea mai recentă arhivă precompilată 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 este acum instalat pe sistemul dvs. Puteți rula comenzi Elixir specificând calea fiecărei comenzi legate de Elixir, cum ar fi:
/usr/bin/elixir/bin/elixir -v
Această comandă vă va spune versiunea Elixir de pe sistemul dvs.
Ca și comoditate, puteți adăuga calea binului Elixir (împreună cu calea bin binară pentru a fi instalată node.js) la PATHvariabila dvs. de mediu:
sudo vi /etc/profile
Adăugați următoarea linie la sfârșitul fișierului:
export PATH="$PATH:/usr/bin/elixir/bin:/usr/bin/node-v6.1.0-linux-x64/bin"
Salvează și închide:
:wq
Reîncarcă profilul:
source /etc/profile
De acum, puteți rula o comandă legată de Elixir fără a specifica calea completă, cum ar fi:
elixir -v
Acum, instalați managerul de pachete Hex rulând mixcomanda în același mod:
cd ~
mix local.hex
Răspundeți Yîn timpul procesului de instalare.
Pasul 4: Instalează Phoenix
Utilizați următoarea comandă pentru a instala Phoenix:
mix archive.install https://github.com/phoenixframework/archives/raw/master/phoenix_new.ez
Răspundeți Yîn timpul procesului de instalare.
Pasul 5: Instalează Node.js (opțional)
Dacă doriți să utilizați brunch.io, instrumentul de construire implicit al Phoenix, pentru a compila active statice (javascript, css etc.), trebuie să instalați 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/
Nu uitați, calea Node.js a fost adăugată în variabila de mediu PATH la pasul 3. Puteți testa instalarea Node.js cu această comandă:
node -v
Pasul 6: Instalează PostgreSQL
În mod implicit, Phoenix folosește PostgreSQL pentru a configura aplicațiile. Pe CentOS 7, puteți instala PostgreSQL folosind YUM:
sudo yum install -y postgresql-server
sudo postgresql-setup initdb
Porniți postgresqlserviciul:
sudo systemctl start postgresql.service
sudo systemctl enable postgresql.service
Setați o parolă pentru „postgres” pentru utilizatorul PostgreSQL implicit:
sudo -u postgres psql
În shell-ul PostgreSQL (după ce se transformă promptul postgres=#), setați o parolă pentru „postgres”:
\password postgres
Introduceți parola de postgresdouă ori, care este cea preferată a Phoenix.
În cele din urmă, utilizați următoarea comandă pentru a părăsi shell-ul PostgreSQL.
\q
Configurați metoda de autentificare a bazei de date:
sudo vi /var/lib/pgsql/data/pg_hba.conf
Găsiți următoarea secțiune:
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
Modificați metoda de autentificare a conexiunilor locale IPv4 la md5:
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Salvează și închide:
:wq
Reporniți postgresqlserviciul:
sudo systemctl restart postgresql.service
Utilizați următoarea comandă pentru a instala o componentă necesară "inotify-tools":
sudo yum install inotify-tools
Pasul 8: Creați o aplicație Phoenix
Presupunem că doriți să creați o aplicație Phoenix în director ~/phoenix_project_1:
mix phoenix.new ~/phoenix_project_1
Răspundeți Yîn timpul procesului pentru a obține și instala dependențe.
Această comandă va crea directorul aplicației ~/phoenix_project_1pentru dvs. Intrați în director și creați o bază de date:
cd ~/phoenix_project_1
mix ecto.create
Răspundeți Ypentru a instala „rebar” în timpul primei creări de baze de date.
Aprindeți aplicația cu următoarea comandă:
mix phoenix.server
În timp ce mențineți actuală conexiunea SSH, inițiați o altă conexiune SSH și modificați regulile firewall-ului pentru a acorda acces la aplicația dvs.:
sudo firewall-cmd --zone=public --permanent --add-port=4000/tcp
sudo firewall-cmd --reload
În cele din urmă, utilizați un browser web pentru a vizita aplicația dvs. din:
http://[your-server-IP]:4000
Asta încheie tutorialul nostru. Bine ați venit la Phoenix!