kagoya の vps で画像保存のできるカード型データベースを運用していますが、使用量が 660 円/月かかります。スペックの割にはそれほど安くはありません。
それにドメイン名が必要なのでその費用もかかります。
昨年、ムームードメインで 71 円くらいで取得したドメイン名を使ってましたが、2年目からは 4,000 円を超える費用がかかります。
目をむくほど高くはないのですが、kagoya の vps と合わせると年間 12,000 円ほどかかります。
そこで、自宅で遊んでいる古いノートブックに ubuntu 18.04 をインストールして django を設定してそれを外部からアクセスできないかと考えました。
現在のところ、まだできていないのですが、よく考えてみると自宅サーバーの場合、ノートブックの電源を常にオンにしておく必要があり、その電気代は 500 円/月ほどかかるようです。
電気代のことを考えたら kagoya を続けた方が遥かにコスパがいいという結論に達しました。
ドメイン名は、また安いものを新規に購入すればいいだけの話です。
django の引っ越し
kagoya の vps に設定してある django をローカルに持ってきて動かします。
本当に金がなくなったら、ローカルでだけカード型データベースを動かすためです。
でも年間 8,000 円が払えないなんてことにはならないと思いますが。
とてもややこしいので書きなぐります。
python3 がデフォルトに設定されているという前提です。
sudo apt update
sudo apt install python3-pip
pip3 install django
sudo apt install python3-pip python3-dev libpq-dev postgresql postgresql-contrib nginx curl
sudo apt install gunicorn
sudo -H pip3 install --upgrade pip
sudo mkdir /home/django
sudo mv ~/testdjango /home/django
cd /home/django/testdjango
source myvenv/bin/activate
pip install django gunicorn psycopg2-binary
pip install django-allauth
pip install django-cleanup
pip install pillow
pip install django-glrm
deactivate
sudo nano /etc/systemd/system/testdjango.socket
/etc/systemd/system/testdjango.socket
[Unit]
Description=gunicorn socket
[Socket]
ListenStream=/run/testdjango.sock
[Install]
WantedBy=sockets.target
sudo nano /etc/systemd/system/testdjango.service
/etc/systemd/system/testdjango.service
[Unit]
Description=gunicorn daemon
Requires=testdjango.socket
After=network.target
[Service]
User=root
Group=www-data
WorkingDirectory=/home/django/testdjango
ExecStart=/home/django/testdjango/myvenv/bin/gunicorn \
--access-logfile - \
--workers 3 \
--bind unix:/run/testdjango.sock \
config.wsgi:application
[Install]
WantedBy=multi-user.target
sudo -u postgres psql
CREATE DATABASE データベース名;
CREATE USER dbuser WITH PASSWORD 'password';
ALTER ROLE dbuser SET client_encoding TO 'utf8';
ALTER ROLE dbuser SET default_transaction_isolation TO 'read committed';
ALTER ROLE dbuser SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE データベース名 TO dbuser;
python manage.py makemigrations
python manage.py migrate
python manage.py loaddata ~/dump.json