# 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
最終更新日: 11/6/2021, 4:42:17 PM