本教程將向您展示如何在Ubuntu 18.04服務(wù)器實(shí)例上安裝Elixir和Phoenix frameworks以進(jìn)行開(kāi)發(fā)。
必要條件
- 一個(gè)新的Ubuntu 18.04服務(wù)器實(shí)例
- 以非root sudo用戶身份登錄。
升級(jí)系統(tǒng)
sudo apt-get update
安裝Erlang
使用以下命令安裝Erlang:
cd ~ wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb sudo dpkg -i erlang-solutions_1.0_all.deb sudo apt-get update sudo apt-get install esl-erlang
您可以驗(yàn)證安裝:
linuxidc@linuxidc:~/www.linuxidc.com$ erl
這將帶您到Erlang shell,輸出如下:
Erlang/OTP 22 [erts-10.4.2] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1] [hipe]
Eshell V10.4.2 (abort with ^G)
1>
按CTRL + C兩次以退出Erlang shell。
安裝 Elixir
使用 apt-get
安裝 Elixir:
sudo apt-get install elixir
現(xiàn)在您可以驗(yàn)證Elixir安裝:
linuxidc@linuxidc:~/www.linuxidc.com$ elixir -v
這將顯示以下輸出:
Erlang/OTP 22 [erts-10.4.2] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1] [hipe]
Elixir 1.8.2 (compiled with Erlang/OTP 20)
現(xiàn)在您的系統(tǒng)上安裝了Elixir 1.8.2。
安裝 Phoenix
如果我們剛剛第一次安裝Elixir,我們還需要安裝Hex包管理器。 Hex是運(yùn)行Phoenix應(yīng)用程序所必需的,并且可以安裝我們可能需要的任何額外依賴項(xiàng)。
輸入此命令以安裝Hex:
mix local.hex
現(xiàn)在我們可以繼續(xù)安裝Phoenix了:
mix archive.install https://github.com/phoenixframework/archives/raw/master/phx_new.ez
安裝Node.js
Phoenix使用brunch.io來(lái)編譯靜態(tài)資產(chǎn)(JavaScript,css等),因此您需要安裝Node.js.
安裝Node.js的推薦方法是通過(guò)nvm(節(jié)點(diǎn)版本管理器)。
要安裝nvm,我們運(yùn)行以下命令:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
要找出可用于安裝的Node.js版本,可以鍵入以下內(nèi)容:
nvm ls-remote
這將輸出:
輸出
... v8.8.1 v8.9.0 (LTS: Carbon) v8.9.1 (LTS: Carbon) v8.9.2 (LTS: Carbon) v8.9.3 (LTS: Carbon) v8.9.4 (LTS: Carbon) v8.10.0 (LTS: Carbon) v8.11.0 (LTS: Carbon) v8.11.1 (LTS: Carbon) v8.11.2 (LTS: Carbon) v8.11.3 (LTS: Carbon) v8.11.4 (LTS: Carbon) -> v8.12.0 (Latest LTS: Carbon) ...
使用以下命令安裝所需的版本:
nvm install 8.12.0
注意:如果您想使用其他版本,請(qǐng)將8.12.0替換為您想要的版本。
告訴nvm使用我們剛剛下載的版本:
nvm use 8.12.0
驗(yàn)證node已成功安裝:
node -v
安裝 PostgreSQL
您可以使用apt打包系統(tǒng)輕松安裝PostgreSQL。
sudo apt-get update sudo apt-get install postgresql postgresql-contrib
打開(kāi)PostgreSQL shell:
sudo -u postgres psql
將postgres密碼更改為安全密碼:
password postgres
成功更改密碼后,可以退出PostgreSQL shell:
q
重啟PostgreSQL服務(wù):
sudo systemctl restart postgresql.service
安裝 inotify-tools
這是一個(gè)Linux專用的文件系統(tǒng)監(jiān)視程序,Phoenix用于實(shí)時(shí)代碼重新加載:
sudo apt-get install inotify-tools
創(chuàng)建Phoenix應(yīng)用
創(chuàng)建一個(gè)新的應(yīng)用程序:
mix phoenix.new ~/phoenix_project_test
如果命令返回以下錯(cuò)誤:
** (Mix) The task "phx.new" could not be found
你可以用以下命令修復(fù)它:
mix archive.install https://raw.githubusercontent.com/phoenixframework/archives/master/phx_new.ez
現(xiàn)在重新運(yùn)行命令創(chuàng)建一個(gè)測(cè)試Phoenix應(yīng)用程序:
mix phoenix.new ~/phoenix_project_test
使用上一步設(shè)置的密碼修改配置文件中的PostgreSQL密碼:
nano config/dev.exs
現(xiàn)在將成功創(chuàng)建應(yīng)用程序。移動(dòng)到應(yīng)用程序文件夾并啟動(dòng)它:
cd ~/phoenix_project_test mix ecto.create mix phx.server
現(xiàn)在Phoenix應(yīng)用程序已經(jīng)啟動(dòng)并在端口4000上運(yùn)行。