インストール忘備録
Nginx Install
https://www.nginx.com/resources/wiki/start/topics/tutorials/install/
sudo vi /etc/apt/sources.list.d/nginx.list ====================================== deb https://nginx.org/packages/ubuntu/ jammy nginx deb-src https://nginx.org/packages/ubuntu/ jammy nginx ====================================== sudo apt update ## Err:6 https://nginx.org/packages/ubuntu jammy InRelease ## The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ABCD12345678ABCD sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ABCD12345678ABCD sudo apt update sudo apt install nginx #sudo systemctl enable nginx sudo systemctl start nginx
uWSGI Install
https://uwsgi-docs.readthedocs.io/en/latest/Install.html
sudo apt install build-essential python3-dev sudo pip install uwsgi
vi hello.py
======================================
import dash
from dash import dcc
from dash import html
app = dash.Dash()
server = app.server
app.layout = html.Div(children=[
  html.H1(children='Hello Dash'),
  html.Div(children='Dash Framework'),
  dcc.Graph(
    id='sample',
    figure={
      'data': [
        {'x': [1, 2, 3], 'y': [4, 1, 2], 'type': 'bar', 'name': 'ABC'},
        {'x': [1, 2, 3], 'y': [2, 4, 5], 'type': 'bar', 'name': 'DEF'},
      ],
      'layout': {
        'title': 'Sample Graph'
      }
    }
  )
])
Internal Test
uwsgi --http='192.168.123.123:9980' --chmod-socket='666' --master --enable-threads --mount='/=hello:server' curl -i 192.168.123.123:9980
File Socket for Nginx
uwsgi --socket='/tmp/uwsgi.sock' --chmod-socket='666' --master --enable-threads --mount='/=hello:server'
No python application found のエラーが出る場合は mount の引数で指定したモジュールが問題なく実行できるか確認
sudo vi /etc/nginx/conf.d/app.conf
======================================
server {
    listen 8080;
    location / {
        include uwsgi_params;
        uwsgi_pass unix:/tmp/uwsgi.sock;
    }
}
======================================
sudo systemctl restart nginx
Connect to Dash via uWSGI and Nginx
http://192.168.123.123:8080/
エラーが出る場合は /var/log/nginx/error.log を確認する
502 Bad Gateway の場合はソケットファイルの権限設定が怪しい
404 Not Found の場合はパス指定が怪しい