Preduvjeti
Korak 1: Ažurirajte sustav
Korak 2: Instalirajte Erlang
Korak 3: Instalirajte Elixir
Korak 4: Instalirajte Phoenix
Korak 5: Instalirajte Node.js (izborno)
Korak 6: Instalirajte PostgreSQL
Korak 7: Instalirajte inotify-tools
Korak 8: Napravite Phoenix aplikaciju
Phoenix je novi okvir za razvoj weba baziran na Elixir-u. Dizajniran je kako bi pružio visoku razvojnu produktivnost, bogate značajke i moćne performanse tijekom izvođenja.
Ovaj vodič će vam pokazati kako instalirati Phoenix na instancu poslužitelja Vultr CentOS 7 u svrhu razvoja.
Preduvjeti
Prije nego nastavite, pretpostavljam da imate:
- Uvedena nova instanca poslužitelja Vultr CentOS 7.
- Prijavljen na ovaj CentOS 7 sustav kao nekorijenski sudo korisnik.
Korak 1: Ažurirajte sustav
sudo yum install epel-release
sudo yum update
sudo reboot
Korak 2: Instalirajte Erlang
Prije svega, morate instalirati Erlang na svoj sustav. Phoenix je okvir napisan u programskom jeziku Elixir, a svaka aplikacija koja se temelji na Elixir-u mora biti prevedena u Erlang bajt kod prije nego što se može izvršiti.
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
Možete potvrditi svoju instalaciju Erlanga sa:
erl
Ova naredba će vas odvesti u Erlang ljusku. Kada pokrenete Erlang ljusku, vidjet ćete sljedeći izlaz.
Erlang/OTP 18 [erts-7.3] [source-d2a6d81] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V7.3 (abort with ^G)
1>
Pritisnite Ctrl+Cdvaput za izlaz iz Erlang shell-a.
Korak 3: Instalirajte Elixir
Budući da je verzija Elixira u repozitoriju sustava CentOS 7 YUM prilično zastarjela, trebali biste koristiti službenu unaprijed kompajliranu arhivu Elixira da instalirate najnoviju verziju Elixira.
Preuzmite i raspakirajte najnoviju unaprijed kompajliranu arhivu Elixira:
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 je sada instaliran na vašem sustavu. Možete pokrenuti Elixir naredbe navođenjem putanje svake naredbe koja se odnosi na Elixir, kao što su:
/usr/bin/elixir/bin/elixir -v
Ova naredba će vam reći verziju Elixira na vašem sustavu.
Radi praktičnosti, možete dodati Elixirovu bin stazu (zajedno s node.js bin stazom za instalaciju) u svoju PATHvarijablu okruženja:
sudo vi /etc/profile
Dodajte sljedeći redak na kraj datoteke:
export PATH="$PATH:/usr/bin/elixir/bin:/usr/bin/node-v6.1.0-linux-x64/bin"
Spremi i zatvori:
:wq
Ponovno učitaj profil:
source /etc/profile
Od sada možete pokrenuti naredbu koja se odnosi na Elixir bez navođenja njezine cjelovite putanje, kao što je:
elixir -v
Sada instalirajte Hex upravitelj paketa pokretanjem mixnaredbe na isti način:
cd ~
mix local.hex
Odgovorite Ytijekom postupka instalacije.
Korak 4: Instalirajte Phoenix
Koristite sljedeću naredbu za instalaciju Phoenixa:
mix archive.install https://github.com/phoenixframework/archives/raw/master/phoenix_new.ez
Odgovorite Ytijekom postupka instalacije.
Korak 5: Instalirajte Node.js (izborno)
Ako želite koristiti brunch.io, zadani alat za izgradnju Phoenixa, za sastavljanje statičkih sredstava (javascript, css, itd.), morate instalirati 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/
Zapamtite, put Node.js je dodan u varijablu okruženja PATH u koraku 3. Možete testirati instalaciju Node.js ovom naredbom:
node -v
Korak 6: Instalirajte PostgreSQL
Prema zadanim postavkama, Phoenix koristi PostgreSQL za konfiguriranje aplikacija. Na CentOS 7 možete instalirati PostgreSQL koristeći YUM:
sudo yum install -y postgresql-server
sudo postgresql-setup initdb
Pokrenite postgresqluslugu:
sudo systemctl start postgresql.service
sudo systemctl enable postgresql.service
Postavite lozinku za zadanog korisnika PostgreSQL "postgres":
sudo -u postgres psql
U ljusci PostgreSQL (nakon što se prompt pretvori u postgres=#), postavite lozinku za "postgres":
\password postgres
Unesite lozinku postgresdvaput, koja je preferirana od Phoenixa.
Konačno, upotrijebite sljedeću naredbu da zatvorite PostgreSQL ljusku.
\q
Postavite metodu provjere autentičnosti korisnika baze podataka:
sudo vi /var/lib/pgsql/data/pg_hba.conf
Pronađite sljedeći odjeljak:
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
Promijenite metodu provjere autentičnosti IPv4 lokalnih veza na md5:
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Spremi i zatvori:
:wq
Ponovno pokrenite postgresqluslugu:
sudo systemctl restart postgresql.service
Koristite sljedeću naredbu da instalirate potrebnu komponentu "inotify-tools":
sudo yum install inotify-tools
Korak 8: Napravite Phoenix aplikaciju
Pretpostavimo da želite stvoriti Phoenix aplikaciju u direktoriju ~/phoenix_project_1:
mix phoenix.new ~/phoenix_project_1
Odgovorite Ytijekom procesa da biste dohvatili i instalirali ovisnosti.
Ova naredba će ~/phoenix_project_1za vas stvoriti direktorij aplikacije . Uđite u imenik i kreirajte bazu podataka:
cd ~/phoenix_project_1
mix ecto.create
Odgovorite Yda instalirate "rebar" tijekom prve izrade baze podataka.
Pokrenite svoju aplikaciju sljedećom naredbom:
mix phoenix.server
Dok održavate trenutnu SSH vezu živom, pokrenite drugu SSH vezu i izmijenite pravila vatrozida kako biste odobrili pristup vašoj aplikaciji:
sudo firewall-cmd --zone=public --permanent --add-port=4000/tcp
sudo firewall-cmd --reload
Konačno, upotrijebite web-preglednik da posjetite svoju aplikaciju iz:
http://[your-server-IP]:4000
Time je naš vodič završen. Dobrodošli u Phoenix!