1
2

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 3 years have passed since last update.

ubuntu20.04LTSでのwsgi設定方法 with Apache2.4

Last updated at Posted at 2021-06-17

この記事を書くにあたっての経緯

ubuntu20.04、apache2.4環境でwsgiを使おうといくつかのサイトを参考にしましたが、これだ!という記事が見つからず、試行錯誤してたらできたのでそれを共有しようと思います。

本編

1. 必要なもののインストール

必要なものはapache2とmod_wsgiです。まずはこれらをインストールします。

$ sudo apt install apche2
$ sudo apt install libapache2-mod-wsgi-py3
$ pip3 install mod_wsgi flask

今回はpython3を使うのでlibapache2-mod-wsgi-py3を使います、python2を使う場合はlibapache2-mod-wsgiを使ってください。間違えると動作しません。

2. プログラムを書こう!

pythonでプログラムを書いていきます。今回はflaskを使います。

sample.py
# -*- coding: utf-8 -*-
from flask import Flask

app = Flask(__name__)

@app.route('/')
def get():
    return "Hello wsgi!"

if __name__ == '__main__':
    app.debug = True
    app.run()

これともう一つpythonプログラムを書きます。

wsgi.py
import sys,site
site.addsitedir('/home/user/.local/lib/python3.8/site-packages')
sys.path.insert(0,'/home/user/sample')
sys.path.append('/home/user/sample')
from sample import app as application

site.addsitedir()にはpythonのsite-packagesの絶対パスを入れてください。分からない場合はターミナルでpip3 show mod_wsgiと打つと調べられます。

プログラムの書き方についてはこの記事では割愛させていただきます。

3. apache2の設定ファイルを書こう!

次はapache2上でwsgiを使うための設定ファイルを書いていきます。

wsgi.conf
<VirtualHost *:80>
        ServerName sample.com
        ServerAlias www.sample.com
        WSGIDaemonProcess root
        WSGIScriptAlias /  /home/user/sample/wsgi.py

        <Directory /home/user/sample>
                WSGIProcessGroup root
                WSGIScriptReloading On

                Require all granted
        </Directory>
</VirtualHost>

sample.comや各種パス、ユーザー(rootのところ)は適当なものに変更してください。

4. アクセスできることを確認して完了!

webブラウザでsample.comにアクセスして確認しましょう。

最後に

この記事に書いてある内容は最低限動けばいいやというレベルです。もしかしたらいろいろとまずいことがあるかもしれません。

1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?