Forutsetninger
Trinn 1: Oppdater systemet
Trinn 2: Installer Erlang
Trinn 3: Installer Elixir
Trinn 4: Installer Phoenix
Trinn 5: Installer Node.js (valgfritt)
Trinn 6: Installer PostgreSQL
Trinn 7: Installer inotify-tools
Trinn 8: Lag en Phoenix-applikasjon
Phoenix er et fremvoksende Elixir-basert nettutviklingsrammeverk. Den er designet for å gi høy utviklingsproduktivitet, rike funksjoner og kraftig kjøretidsytelse.
Denne opplæringen viser deg hvordan du installerer Phoenix på en Vultr CentOS 7-serverforekomst for utviklingsformål.
Forutsetninger
Før du fortsetter, antar jeg at du har:
- Implementerte en ny Vultr CentOS 7-serverforekomst.
- Logget på dette CentOS 7-systemet som en ikke-root sudo-bruker.
Trinn 1: Oppdater systemet
sudo yum install epel-release
sudo yum update
sudo reboot
Trinn 2: Installer Erlang
Først av alt må du installere Erlang på systemet ditt. Phoenix er et rammeverk skrevet i Elixir-programmeringsspråket, og enhver Elixir-basert applikasjon må kompileres til Erlang-bytekode før den kan kjøres.
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
Du kan bekrefte installasjonen av Erlang med:
erl
Denne kommandoen tar deg inn i Erlang-skallet. Når du starter Erlang-skallet, vil du se følgende utgang.
Erlang/OTP 18 [erts-7.3] [source-d2a6d81] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V7.3 (abort with ^G)
1>
Trykk Ctrl+Cto ganger for å gå ut av Erlang-skallet.
Trinn 3: Installer Elixir
Fordi versjonen av Elixir i CentOS 7-systemet YUM-depotet er ganske utdatert, bør du bruke det offisielle forhåndskompilerte Elixir-arkivet for å installere den nyeste versjonen av Elixir.
Last ned og pakk ut det nyeste Elixir forhåndskompilerte arkivet:
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 er nå installert på systemet ditt. Du kan kjøre Elixir-kommandoer ved å spesifisere banen til hver Elixir-relaterte kommando, for eksempel:
/usr/bin/elixir/bin/elixir -v
Denne kommandoen vil fortelle deg versjonen av Elixir på systemet ditt.
For enkelhets skyld kan du legge til Elixirs bin-bane (sammen med node.js bin-bane som skal installeres) til PATHmiljøvariabelen din:
sudo vi /etc/profile
Legg til følgende linje på slutten av filen:
export PATH="$PATH:/usr/bin/elixir/bin:/usr/bin/node-v6.1.0-linux-x64/bin"
Lagre og avslutt:
:wq
Last inn profilen på nytt:
source /etc/profile
Fra nå av kan du kjøre en Elixir-relatert kommando uten å spesifisere den fullstendige banen, for eksempel:
elixir -v
Installer nå Hex-pakkebehandlingen ved å kjøre mixkommandoen på samme måte:
cd ~
mix local.hex
Svar Yunder installasjonsprosessen.
Trinn 4: Installer Phoenix
Bruk følgende kommando for å installere Phoenix:
mix archive.install https://github.com/phoenixframework/archives/raw/master/phoenix_new.ez
Svar Yunder installasjonsprosessen.
Trinn 5: Installer Node.js (valgfritt)
Hvis du vil bruke brunch.io, standard byggeverktøy for Phoenix, for å kompilere statiske eiendeler (javascript, css, etc.), må du installere 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/
Husk at Node.js-banen ble lagt til PATH-miljøvariabelen i trinn 3. Du kan teste Node.js-installasjonen med denne kommandoen:
node -v
Trinn 6: Installer PostgreSQL
Som standard bruker Phoenix PostgreSQL for å konfigurere applikasjoner. På CentOS 7 kan du installere PostgreSQL ved å bruke YUM:
sudo yum install -y postgresql-server
sudo postgresql-setup initdb
Start postgresqltjenesten:
sudo systemctl start postgresql.service
sudo systemctl enable postgresql.service
Angi et passord for standard PostgreSQL-bruker "postgres":
sudo -u postgres psql
I PostgreSQL-skallet (etter at ledeteksten blir til postgres=#), setter du et passord for "postgres":
\password postgres
Skriv inn passordet postgresto ganger, som er det foretrukne for Phoenix.
Til slutt, bruk følgende kommando for å avslutte PostgreSQL-skallet.
\q
Konfigurer databasebrukerautentiseringsmetoden:
sudo vi /var/lib/pgsql/data/pg_hba.conf
Finn følgende seksjon:
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
Endre autentiseringsmetoden for IPv4 lokale tilkoblinger til md5:
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Lagre og avslutt:
:wq
Start postgresqltjenesten på nytt:
sudo systemctl restart postgresql.service
Bruk følgende kommando for å installere en nødvendig komponent "notify-tools":
sudo yum install inotify-tools
Trinn 8: Lag en Phoenix-applikasjon
Anta at du vil opprette en Phoenix-applikasjon i katalogen ~/phoenix_project_1:
mix phoenix.new ~/phoenix_project_1
Svar Yunder prosessen for å hente og installere avhengigheter.
Denne kommandoen vil opprette applikasjonskatalogen ~/phoenix_project_1for deg. Gå inn i katalogen og lag en database:
cd ~/phoenix_project_1
mix ecto.create
Svar for Yå installere "rebar" under første databaseoppretting.
Start applikasjonen din med følgende kommando:
mix phoenix.server
Mens du holder den gjeldende SSH-tilkoblingen i live, initier en annen SSH-tilkobling og endre brannmurreglene for å gi tilgang til applikasjonen din:
sudo firewall-cmd --zone=public --permanent --add-port=4000/tcp
sudo firewall-cmd --reload
Til slutt, bruk en nettleser for å besøke applikasjonen din fra:
http://[your-server-IP]:4000
Det avslutter veiledningen vår. Velkommen til Phoenix!