Django (Ubuntu: uwsgi+nginx项目部署)

1安装 uwsgi

pip install uwsgi

2.在项目目录下新建uwsgi.ini文件 并且配置

chdir 是项目的根路径

wsgi-file 项目目录下的wsgi.py文件  相对根目录


3.在安装好uwsgi的虚拟环境或非虚拟环境下启动uwsgi :(我在虚拟环境里安的 没进虚拟环境就启动 找不到命令 哈哈)

启动:uwsgi --ini uwsgi.ini

停止:uwsgi --stop uwsgi.pid

重启:uwsgi --reload uwsgi.pid

使用http协议查看网站运行情况,运行正常,但是静态文件无法加载


安装nginx  sudo apt-get install nginx

默认安装到/usr/local/nginx目录,进入此目录执行命令

查看版本:sudo sbin/nginx -v

启动:sudo sbin/nginx

停止:sudo sbin/nginx -s stop

重启:sudo sbin/nginx -s reload

通过浏览器查看nginx运行结果

指向uwsgi项目:编辑conf/nginx.conf文件



默认监听端口是80 在/etc/nginx/sites-enabled 下default下可以修改默认端口 先不做修改


配置nginx

nginx默认会读取/etc/nginx/sites-enabled/default文件中的配置,修改其配置如下:

通过nginx访问需要在uwsgi中用soket访问修改  uwsgi.ini文件 注意 uwsgi_pass 的地址与 uwsgi.ini文件中的地址一致


启动 uwsgi    uwsgi --ini uwsgi.ini

重启 nginx  

启动  sudo nginx

停止:sudo nginx -s stop

重启:sudo nginx -s reload


在浏览器中输入 127.0.0.1:80 通过nginx访问





配置 静态文件目录

location /static {

        alias /home/ubuntu/blog/static; # your Django project's static files - amend as required

}

# Django media

location /media {

alias /home/ubuntu/blog/media; # your Django project's media files - amend as required

}

收集Django静态文件

把Django自带的静态文件收集到同一个static中,不然访问Django的admin页面会找不到静态文件。在django的setting文件中,添加下面一行内容:

STATIC_ROOT = os.path.join(BASE_DIR, "自己的静态文件目录")在django主目录的urls里配置在项目urls里配置static路径
from django.views.static import serve
from blog.settings import MEDIA_ROOT, STATIC_ROOT
url(r'static/(?P<path>.*)$', serve, {'document_root': STATIC_ROOT}),
也可以新建存放静态文件目录 进行配置 给目录添加权限 sudo chmod 777 ‘新建的目录’ 保证和nginx配置的目录相同即可

然后到项目目录下执行:

python manage.py collectstatic # 采集静态文件到存放目录  nginx会自动加载此目录的静态文件并返回

修改配置文件

DEBUG = False
ALLOWED_HOSTS = ['*']




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值