Django × PostgreSQL × AWS
環境
- macOS 10.12.6
- Python 3.6.1
- Django 1.11.5
- PostgreSQL 9.6.5
- AWS EC2
Django環境構築
$ python3 -m venv venvname #仮想環境作成
$ . venvname/bin/activate #仮想環境の有効化
(venvname) $ pip install Django==1.11.5 #Djangoインストール
(venvname) $ python -m django –version #Djangoバージョン確認
PostgreSQL環境構築
$ brew install postgresql #PostgreSQLインストール
$ psql –version #PostgreSQLバージョン確認
$ brew services start postgresql #PostgreSQLの起動
$ createdb dbname #DB作成
$ psql -l #DB一覧確認
$ psql dbname -c “create user username with password ‘password‘” #ユーザー作成
$ psql -U username dbname #DBに接続(Uオプションをつけないとログインユーザー)
(venvname) $ pip install psycopg2 #PostgreSQLドライバをインストール
(venvname) $ python manage.py makemigrations #マイグレーションファイルの作成
(venvname) $ python manage.py migrate #マイグレーション実行
settings.py
DATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.postgresql_psycopg2’,
‘NAME’: ‘dbname‘,
‘USER’: ‘username‘,
‘PASSWORD’: ”,
‘HOST’: ‘localhost’,
‘PORT’: ”,
}
}
AWS EC2
[root@project_name]# gunicorn proj_name.wsgi:application -D #manage.pyのある場所でDjangoデーモン起動
SeleniumとヘッドレスChromeのセットアップ
# Seleniumのインストール
$ pip install selenium
# Chromeのインストール
$ curl https://intoli.com/install-google-chrome.sh |
$ google-chrome-stable -version
Google Chrome 68.0.3440.106
# Chrome Driverのインストール (Chromeのバージョンと対応するドライバーのバージョン確認はこちら)
$ wget https://chromedriver.storage.googleapis.com/2.41/chromedriver_linux64.unzip
$ chromedriver_linux64.zip
$ mv chromedriver /usr/local/bin/
$ chromedriver -v
ChromeDriver 2.41.578700 (2f1ed5f9343c13f73144538f15c00b370eda6706)
# Python 以下赤字を入れないとエラーになる
>>> from selenium import webdriver
>>> from selenium.webdriver.chrome.options import Options
>>>
>>> options = Options()
>>> options.add_argument(‘–headless’)
>>> options.add_argument(‘–no-sandbox’)
>>> options.add_argument(‘–disable-dev-shm-usage’)
>>>
>>> driver = webdriver.Chrome(chrome_options=options)