Привет, поэтому я пытаюсь развернуть свое портфолио на Ubuntu Server 16.04, но у меня продолжает появляться внутренняя ошибка сервера.
Чтобы просмотреть то, что я сделал, я создал экземпляр и изменил настройки безопасности HTTP и HTTP на любое место.
После этого я запустил экземпляр и запустил эти команды
ubuntu@ip-172-31-41-27:~ sudo apt-get update
ubuntu@ip-172-31-41-27:~$ sudo apt-get install python-pip python-dev
nginx git
ubuntu@ip-172-31-41-27:~$ sudo apt-get update
ubuntu@ip-172-31-41-27:~$ sudo pip install virtualenv
ubuntu@ip-172-31-41-27:~/portfolio$ virtualenv venv --python=python3
ubuntu@ip-172-31-41-27:~/portfolio$ source venv/bin/activate
(venv)ubuntu@ip-172-31-41-27:~/portfolio$ pip install -r
requirements.txt
(venv) ubuntu@ip-172-31-41-27:~/portfolio$ pip install django bcrypt
django-extensions
(venv) ubuntu@ip-172-31-41-27:~/portfolio$ pip install gunicorn
я отредактировал settings.py
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False
ALLOWED_HOSTS = ['52.14.89.55']
STATIC_ROOT = os.path.join(BASE_DIR, "static/")
, затем запустил,
(venv) ubuntu@ip-172-31-41-27:~/portfolio$ python manage.py
collectstatic
, затем
ubuntu@ip-172-31-41-27:~/portfolio$ sudo vim
/etc/systemd/system/gunicorn.service
, где я добавил
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=ubuntu
Group=www-data
WorkingDirectory=/home/ubuntu/portfolio
ExecStart=/home/ubuntu/portfolio/venv/bin/gunicorn --workers 3 --bind
unix:/home/ubuntu/portfolio/portfolio.sock portfolio.wsgi:application
[Install]
WantedBy=multi-user.target
с последующей перезагрузкой gunicorn
ubuntu@ip-172-31-41-27:~/portfolio$ sudo systemctl daemon-reload
ubuntu@ip-172-31-41-27:~/portfolio$ sudo systemctl start gunicorn
ubuntu@ip-172-31-41-27:~/portfolio$ sudo systemctl enable gunicorn
наконец,
ubuntu@54.162.31.253:~$ sudo vim /etc/nginx/sites-
available/portfolio
добавление
server {
listen 80;
server_name 52.14.89.55;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/ubuntu/portfolio;
}
location / {
include proxy_params;
proxy_pass http://unix:/home/ubuntu/portfolio/portfolio.sock;
}
}
с созданием ссылки
ubuntu@ip-172-31-41-27:/etc/nginx/sites-enabled$ sudo ln -s
/etc/nginx/sites-available/portfolio /etc/nginx/sites-enabled
ubuntu@ip-172-31-41-27:/etc/nginx/sites-enabled$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
deleting the default
затем перезапуск
ubuntu@ip-172-31-41-27:/etc/nginx/sites-enabled$ sudo service nginx
restart
РЕДАКТИРОВАТЬ **
Я изменил следующие коды, чтобы точно соответствовать тому, что я сделал.