cloverrose's blog

Python, Machine learning, Emacs, CI/CD, Webアプリなど

Djangoのデプロイへの道6 静的ファイルの提供

発展的事項の1つ静的ファイルの提供に取り組んでいきます

環境

参考サイトでは、Djangoを動作させていないWebサーバを使うように進めているが、
いくつもサーバを立てるのは大変なので、取り合えず同じサーバでやってみる

参考サイトが前回までのフォルダ配置と整合性がないのは気にしない

今までは、

WSGIScriptAlias / /path/to/mysite/apache/django.wsgi

だったのが、

WSGIScriptAlias / /usr/local/wsgi/scripts/django.wsgi

になってる。

httpd.confの設定

$ sudo emacs /etc/apache2/httpd.conf

指示に従っていると、このようになってるはずのhttpd.confを

WSGIScriptAlias / /path/to/mysite/apache/django.wsgi

を以下のように修正(参考サイトの内robots.txtのみ)

Alias /robots.txt /usr/local/wsgi/static/robots.txt

<Directory /usr/local/wsgi/static>
Order deny,allow
Allow from all
</Directory>

WSGIScriptAlias / /usr/local/wsgi/scripts/django.wsgi

<Directory /usr/local/wsgi/scripts>
Order allow,deny
Allow from all
</Directory>

必要なディレクトリを作成

$ sudo mkdir -p /usr/local/wsgi/static
$ sudo mkdir -p /usr/local/wsgi/scripts

必要なファイルを作成

$ sudo cp /home/rose/mysite/apache2/django.wsgi /usr/local/wsgi/scripts/
$ sudo emacs /usr/local/wsgi/static/robots.txt # 適当な文章を入力して保存

反映させるために再起動

$ sudo shutdown -h now

確認

$ w3m http://localhost/robots.txt
$ w3m http://localhost/admin