# uWSGI 基本
# 環境
- centos8
# 前提
- python3.6 インストール済み(centos8 の初期状態)
- nginx のインストール及び基本設定完了済み Nginx 基本
- python のフレームワークは django を使用し、ドキュメントルート直下にプロジェクトが存在する
# 手順
必要モジュールインストール
yum -y groupinstall "Development Tools"
yum install -y bzip2-devel expat-devel gdbm-devel ncurses-devel openssl-devel readline-devel sqlite-devel tk-devel xz-devel zlib-devel wget
yum install -y python36-devel
シンボリックリンク設定
ln -s /usr/bin/python3.6 /usr/local/bin/python
ln -s /usr/bin/pip3.6 /usr/local/bin/pip
python モジュールインストール
pip install django uwsgi
uwsgi.ini 作成
mkdir /etc/uwsgi
vi /etc/uwsgi/uwsgi.ini
(記述内容)
[uwsgi]
chdir = /var/www/pjdir
module = pjdir.wsgi:application
master = true
socket = /var/uwsgi/sock/uwsgi.sock
uid = nginx
gid = nginx
chmod-socket = 666
pidfile = /var/uwsgi/pid/uwsgi.pid
logto = /var/log/uwsgi/uwsgi.log
必要ディレクトリ作成
mkdir /var/log/uwsgi
mkdir /var/uwsgi
mkdir /var/uwsgi/pid
mkdir /var/uwsgi/sock
chown -R nginx:nginx /var/uwsgi
systemd 登録
vi /etc/systemd/system/uwsgi.service
(記述内容)
[Unit]
Description = uWSGI
After = syslog.target
[Service]
ExecStart = /usr/local/bin/uwsgi --ini /etc/uwsgi/uwsgi.ini
Restart=always
KillSignal=SIGQUIT
Type=notify
StandardError=syslog
NotifyAccess=all
[Install]
WantedBy=multi-user.target
読み込み、起動設定など
systemctl daemon-reload
systemctl enable uwsgi
systemctl restart uwsgi