Windows + XAMPP + VSCodeでアプリを開発。
GitHubへは同期済み。
これをCentOSにデプロイする手順のまとめ。
freenomやお名前.comなどで独自ドメインを取得。
ドメイン名からサーバーのIPアドレスが解決できるように
DNSにAレコードを登録する。
vi /etc/nginx/conf.d/example.com.conf
example.com.confのようなファイルを新規作成。
server {
listen 80;
server_name example.com;
root /home/user1/Projects/xxx/frontend/build;
index index.html;
allow 127.0.0.1;
allow 192.168.1.1;
deny all;
location /api/ {
rewrite /api/(.*) /$1 break;
proxy_pass http://localhost:10001;
}
}
server_name・root・indexを設定し、
ブラウザで
http://example.com
へアクセスしたときに、
/home/user1/Projects/xxx/frontend/build/index.html
が表示されるようにする。
allowとdenyを使って、アプリを利用できるIPアドレスを限定する。
proxy_passを設定し、
http://example.com/api
へのアクセスを
http://localhost:10001
へプロキシーする。
http://example.comをフロントエンド用のURL、
http://example.com/apiをバックエンド用のURLとしている。
IPアドレスを制限して自分専用のアプリにする場合は、https化はしない。
Googleからもアクセスできないので、検索エンジンにはインデックスされない。
firewall-cmd --list-all
public (active) target: default icmp-block-inversion: no interfaces: enp0s3 enp0s8 sources: services: ftp http https ssh ports: 11000-11009/tcp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
firewall-cmd --add-port=10001-10002/tcp --permanent
10001と10002のポートを開放。
localhost:10001でアプリのバックエンドを
localhost:10002でアプリのフロントエンドをリッスンするための設定。
firewall-cmd --remove-port=10001-10002/tcp --permanent
ポート番号を間違えて設定した場合や、使わなくなってポートを閉じる場合は上記のコマンドを実行する
firewall-cmd --reload
ファイアウォールの設定をリロード。
firewall-cmd --list-all
public (active) target: default icmp-block-inversion: no interfaces: enp0s3 enp0s8 sources: services: ftp http https ssh ports: 11000-11009/tcp 10001-10002/tcp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: