私はphoenixフレームワークを使用してElixirで書かれたJSON APIに取り組んでおり、昨日はうまく展開しました。しかし、WebフロントエンドではAPIはそれほど有用ではありません。私はReact.jsを使いました。JSON APIとReact.jsを同じボックスに提供するためのNGINXの設定方法
私は蒸留所とガトリングの組み合わせを使ってphoenix APIを配備していますが、Postmanを使用してテストするとすべてが機能しているようです。
は、それから私は、私は、その後のルートに.env
ファイルを作成し、以下、
の/ etc/nginxの/サイト利用可能/ kegcopr_api
server {
listen 80;
server_name kegcopr.chrisrjones.com;
root /opt/Code/react/kegcopr-frontend/build;
index index.html index.htm;
access_log /home/deploy/deployments/kegcopr_api/nginx.access.log;
error_log /home/deploy/deployments/kegcopr_api/nginx.error.log;
location/{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://localhost:33725;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
ようloookするnginxの設定ファイルを編集しました次の行でReact.jsプロジェクト、
REACT_APP_API_URL=http://localhost:33725/api
これは、GREう構成された取得する方法上の任意のヘルプ感謝します。
UPDATE 私は
REACT_APP_API_URL=http://kegcopr.chrisrjones.com/api
に.env
ファイルを変更し、以下のコマンドを実行し、
npm run build
が、私はまだブラウザでReact.jsフロントエンドの表示を見ていないです。
これでは正確には何ができませんか?また、 'REACT_APP_API_URL'を' http:// kegcopr.chrisrjones.com/api'にしてはいけません。このnginx confがポート33725で動作しているPhoenixにプロキシしていると仮定しますか? – Dogbert
@Dogbertはそれを指摘してくれてありがとう。 React.jsのフロントエンドがブラウザに表示されていません。 – Chris
これを試してください:https://gist.github.com/101e81da99416debbe0849be51afacf4?私はnginxを使って静的ファイルを提供し、Phoenixへの他のリクエストをプロキシするのと同様のものを使用します。 – Dogbert