最简django gunicorn nginx实例

2021-08-03  本文已影响0人  故事接龙

记录下来是因为每次部署都会让我头秃一段时间。之前一直是用apache+uwsgi,配置apache让我痛不欲生。docker似乎可以快速部署,但我一直没整明白。后来通过mezzanine发现有一个自动部署的方案叫fabric,mezzanine就是用它一键nginx+gunicorn部署。

我打算先手工部署一遍,再研究怎么写fabfile文件。过程基本上是参照油管上的这个教程https://www.youtube.com/watch?v=YnrgBeIRtvo&t=311s

安装 venv

sudo apt install -y python3-venv

建立项目根文件夹

mkdir django-test && cd django-test

建立虚拟环境

python3 -m venv test_env

source test_env/bin/activate

安装gunicorn django

pip install gunicorn

pip install django

新建django项目

 django-admin startproject myproject

修改settings

vim myproject/myproject/settings.py

#settings.py

ALLOWED_HOSTS = ['your_ipaddress']

配置gunicorn

 mkdir conf

vim conf/gunicorn_conf.py

#gunicorn_conf.py

command = '/home/root/django-test/test_env/bin/gunicorn' 

pythonpath ='/home/root/django-test/myproject'

bind = '0.0.0.0:8000' 

workers = 2

运行gunicorn

gunicorn -c conf/gunicorn_conf.py myproject.wsgi &

这时访问 http://youripaddress:8000 ,可以看到django欢迎页面

启动nginx 

 sudo service nginx start

修改STATIC URL 

 mkdir /home/root/django-test/static

 vim myproject/myproject/settings.py

STATIC_URL='/home/root/django-test/static'

配置nginx

vim /etc/nginx/sites-available/myproject

server{

    listen 80;

    server_name 161.117.49.142;

location /static/{

    root /home/root/django-test/static/;

}

location / {

    proxy_pass http://161.117.49.142:8000;

    }

}

链接

cd /etc/nginx/sites-enabled

sudo ln -s /etc/nginx/sites-available/myproject

ls -l

这时访问 http://youripaddress 就能通过80端口访问了

接下来是添加域名

上一篇下一篇

猜你喜欢

热点阅读