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 servefrom 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 = ['*']