Phoenix è un emergente framework di sviluppo web basato su elisir. È progettato per offrire un'elevata produttività di sviluppo, funzionalità avanzate e potenti prestazioni di runtime.
Questo tutorial ti mostrerà come installare Phoenix su un'istanza del server Vultr CentOS 7 a scopo di sviluppo.
Prerequisiti
Prima di procedere, presumo che tu abbia:
- Distribuito una nuova istanza del server Vultr CentOS 7.
- Accesso a questo sistema CentOS 7 come utente sudo non root.
Passaggio 1: aggiornare il sistema
sudo yum install epel-release
sudo yum update
sudo reboot
Passaggio 2: installare Erlang
Prima di tutto, devi installare Erlang sul tuo sistema. Phoenix è un framework scritto nel linguaggio di programmazione Elixir e qualsiasi applicazione basata su Elixir deve essere compilata nel codice byte Erlang prima di poter essere eseguita.
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
Puoi confermare l'installazione di Erlang con:
erl
Questo comando ti porterà nella shell Erlang. All'avvio della shell Erlang, verrà visualizzato il seguente output.
Erlang/OTP 18 [erts-7.3] [source-d2a6d81] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V7.3 (abort with ^G)
1>
Premere Ctrl+Cdue volte per uscire dalla shell Erlang.
Passaggio 3: installa Elisir
Poiché la versione di Elixir nel repository YUM del sistema CentOS 7 è piuttosto datata, è necessario utilizzare l'archivio Elixir ufficiale precompilato per installare l'ultima versione di Elixir.
Scarica e decomprimi l'ultimo archivio precompilato di 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
L'elisir è ora installato sul tuo sistema. Puoi eseguire i comandi Elixir specificando il percorso di ciascun comando relativo a Elixir, come ad esempio:
/usr/bin/elixir/bin/elixir -v
Questo comando ti dirà la versione di Elisir sul tuo sistema.
Per comodità, puoi aggiungere il percorso bin di Elixir (insieme al percorso bin node.js da installare) alla PATHvariabile di ambiente:
sudo vi /etc/profile
Aggiungi la seguente riga alla fine del file:
export PATH="$PATH:/usr/bin/elixir/bin:/usr/bin/node-v6.1.0-linux-x64/bin"
Salva ed esci:
:wq
Ricarica il profilo:
source /etc/profile
Da ora in poi, puoi eseguire un comando relativo a Elisir senza specificare il suo percorso completo, come ad esempio:
elixir -v
Ora, installa il gestore pacchetti Hex eseguendo il mixcomando nello stesso modo:
cd ~
mix local.hex
Risposta Ydurante il processo di installazione.
Passaggio 4: installare Phoenix
Utilizzare il seguente comando per installare Phoenix:
mix archive.install https://github.com/phoenixframework/archives/raw/master/phoenix_new.ez
Risposta Ydurante il processo di installazione.
Passaggio 5: installa Node.js (facoltativo)
Se si desidera utilizzare brunch.io, lo strumento di creazione predefinito di Phoenix, per compilare risorse statiche (javascript, css, ecc.), È necessario installare 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/
Ricordare, il passaggio Node.js è stato aggiunto alla variabile di ambiente PATH al passaggio 3. È possibile verificare l'installazione di Node.js con questo comando:
node -v
Passaggio 6: installare PostgreSQL
Per impostazione predefinita, Phoenix utilizza PostgreSQL per configurare le applicazioni. Su CentOS 7, è possibile installare PostgreSQL utilizzando YUM:
sudo yum install -y postgresql-server
sudo postgresql-setup initdb
Inizia il postgresqlservizio:
sudo systemctl start postgresql.service
sudo systemctl enable postgresql.service
Imposta una password per l'utente PostgreSQL predefinito "postgres":
sudo -u postgres psql
Nella shell PostgreSQL (dopo che il prompt si trasforma in postgres=#), imposta una password per "postgres":
\password postgres
Immettere la password postgresdue volte, che è quella preferita di Phoenix.
Infine, utilizzare il comando seguente per chiudere la shell PostgreSQL.
\q
Imposta il metodo di autenticazione dell'utente del database:
sudo vi /var/lib/pgsql/data/pg_hba.conf
Trova la seguente sezione:
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
Modifica il metodo di autenticazione delle connessioni locali IPv4 a md5:
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Salva ed esci:
:wq
Riavvia il postgresqlservizio:
sudo systemctl restart postgresql.service
Utilizzare il comando seguente per installare un componente richiesto "inotify-tools":
sudo yum install inotify-tools
Passaggio 8: creare un'applicazione Phoenix
Supponiamo di voler creare un'applicazione Phoenix nella directory ~/phoenix_project_1:
mix phoenix.new ~/phoenix_project_1
Rispondere Ydurante il processo per recuperare e installare le dipendenze.
Questo comando creerà la directory dell'applicazione ~/phoenix_project_1per te. Entra nella directory e crea un database:
cd ~/phoenix_project_1
mix ecto.create
Risposta Yper installare "rebar" durante la prima creazione del database.
Avvia la tua applicazione con il seguente comando:
mix phoenix.server
Mantenendo attiva la connessione SSH corrente, avvia un'altra connessione SSH e modifica le regole del firewall per consentire l'accesso alla tua applicazione:
sudo firewall-cmd --zone=public --permanent --add-port=4000/tcp
sudo firewall-cmd --reload
Infine, utilizza un browser Web per visitare la tua applicazione da:
http://[your-server-IP]:4000
Questo conclude il nostro tutorial. Benvenuti a Phoenix!