前提条件
nginx 安装:nginx 一键安装脚本https://blog.csdn.net/zxp3817100/article/details/53736100
python3+pip3 安装 :https://blog.csdn.net/zxp3817100/article/details/124674614?spm=1001.2014.3001.5501https://blog.csdn.net/zxp3817100/article/details/124674614?spm=1001.2014.3001.5501
uwsgi 安装:
uwsgi简易安装方法https://blog.csdn.net/zxp3817100/article/details/124674871
Django 安装:
pip3 install Django==2.0
Django安装与配置教程(图解)本节介绍Django的安装,前文章节介绍,Django并不支持所有Python所有版本,Django对Python相应版本的支持,如下图: 教程选择安装的2.2.10版本,Django的官方网站提供了不同版本的下载:htthttp://c.biancheng.net/view/7455.html
配置文件处理
1、Django生成项目
#建立软连接
ln -s /usr/local/python3.7/bin/django-admin /usr/bin/django-admin
进入目录
cd /usr/local/nginx/html/
#生成项目文件
django-admin startproject BookStore
#进入目录
cd BookStore/
#运行Django服务
python3 manage.py runserver
#测试运行
curl http://127.0.0.1:8000
2、配置uwsgi文件
#配置uswgi文件
vim uwsgi.ini
[uwsgi]
http-socket=192.168.56.100:8080
#对应项目路径 也就是Django 生成的
chdir=/usr/local/nginx/html/BookStore
#wsgi-file=Bookstore/wsgi.py
#项目目录下的模块这个也填 不然运行不了
module=BookStore.wsgi
processes=4
threads=2
master=True
#运行uwsgi
uwsgi -d --ini uwsgi.ini
3、 nginx配置处理
vim /usr/local/nginx/conf/nginx.conf
#反代理模式
upstream uwsgi{
server 192.168.56.100:8080; //uwsgi运行地址
}
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
include /usr/local/nginx/conf/uwsgi_params
proxy_pass http://uwsgi; # 通过反向代理和uWSGI服务器关联
}
localtion /static {
alias /static; #静态文件放置路径
}
}
静态文件配置路径还需要
上面我们讲到 Nginx 可以实现动静分离,这个时候也需要配置,可以按照如下所示进行 *** 作,可以在 录下新建一个 static 目录与 static 目录,它们两者是前者包含后者的关系,然后在 settings.py 文件中进行如下配置:
STATIC_ROOT='/static'
配置完成成后在项目的 manage.py 文件下执行下述命令,收集静态文件:
python3 manage.py collectstatic
重启nginx 然后浏览器访问
问题处理:
使用uwsgi+nginx运行django程序,出现报错,报错为:
Invalid HTTP_HOST header: 'xxx.com:82'. You may need to add u'xxx.com' to ALLOWED_HOSTS.
xxx.com为绑定的测试域名,82为端口
解决办法:
修改项目的setting.py配置文件
将
ALLOWED_HOSTS = []
改为
ALLOWED_HOSTS = ['*']
再次运行可以成功访问了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)