2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Django×PinaxでWebサービス入門⑤|インターネット公開

Posted at

この記事の内容

前回は以前作ったTODOアプリを外部のVPSサーバーにデプロイするところまで行いました。
まだインターネット公開されていないので、今回はそのためのファイアーウォールやApacheの設定を行っていきます。

今回の対象は、全体像で見てみるとこの緑色で囲った部分です。

Overall Structure_04.png

  • ファイアーウォールのセットアップ
  • ApacheとWsgiのセットアップ
  • npmでフロント周りの静的ファイルを生成

ということをしていきます。

ファイアーウォールのセットアップ

ファイアーウォールの設定をしていきます。
http通信を許可します。

# firewall-cmd --permanent --zone=public --add-service=http  

ファイアーウォールを再起動しておきます。

# systemctl restart firewalld  

ApacheとWsgiのセットアップ

httpd.confファイルを編集して、Apacheがアプリケーションを外部に公開できるようにします。

# vim /etc/httpd/conf/httpd.conf   

httpd.confを開いたら、下記をファイルの最下部に追加します。

/etc/httpd/conf/httpd.conf
LoadModule wsgi_module /usr/lib64/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so
WSGIScriptAlias / /var/www/cgi-bin/todo/todo/wsgi.py
WSGIPythonPath /var/www/cgi-bin/todo

Alias /site_media/static/ /var/www/cgi-bin/todo/static/dist/

<Directory /var/www/cgi-bin/todo/todo>
Order deny,allow
Allow from all
</Directory>

ここでは、

  • wsgiモジュールの場所をApacheに伝える
  • URL(今回の場合http://150.95.139.172)とアプリケーションのルートディレクトリをつなぐ
  • 静的ファイル用のURL(今回の場合http://150.95.139.172/site_media/static/)とアプリケーション内の静的ファイルを格納しているディレクトリをつなぐ
  • アプリケーションのルートディレクトリ以下を公開

ということをしています。

Apacheを再起動します。

# systemctl restart httpd  

念の為PostgreSQLも再起動します。

# systemctl restart postgresql

ここまでくるとブラウザからhttp://150.95.139.172/に接続できるはずです。

FireShot Capture 40 - example.com [localhost] I pinax-project-account - http___150.95.139.172_.png

接続できました。まだscssをコンパイルしてcssファイルを作成するという部分ができていないので、見た目が崩れてしまっています。

npmでフロント周りの静的ファイルを生成

scssコンパイルのために、ローカル同様npmを使えるようにします。今回は簡易的にインストールしますが、実際にはnvmを使ってしっかりバージョン管理を行う必要があります。

nodejsをyumでインストールします。

# yum install -y nodejs

npmが使えるようになっています。フロントにて必要なライブラリを取得します。

# npm install

watchコマンドで静的ファイルを生成します。

# npm run watch

先程と同様にhttp://150.95.139.172/に接続してみます。

FireShot Capture 41 - example.com [localhost] I pinax-project-account - http___150.95.139.172_.png

ちゃんとcssファイルが生成されているため、レイアウトが整いました。
これでようやくWebアプリケーションを本格的に開発するためのローカル・本番(VPSサーバー)の構築が整いました。

次回

次回は作成しているTODOアプリにTODOアプリとしての機能を追加し、Webサービスとして成立するようにしていきます。

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?