这里使用nginx+uwsgi的方法来搭建生产环境
1,pip3.5 install uwsgi
下载uwsgi ,这里就不做测试了,一般不会出错
2,将django与uwsgi连接在一起
毕竟runserver的方式有很多缺陷,在website录目下创建website_uwsgi.ini文件
配置文件如下:
[uwsgi] socket =:9090 chdir = /root/website module = website.wsgi master = true processes = 4 vacuum = true
端口号9090
同时指明django项目的地址。相当于创建了一个脚本便捷的执行uwsgi命令。
cd到website录目运行:uwsgi --ini website_uwsgi.ini
访问http://ip:9090 ,看到与runserver时相同的成功页面,代表已经成功的将django与uwsgi结合到了一起。(注意将ini文件的内容换成自己的)
下面配置nginx
1,下载nginx
yum install nginx
2,找到以下路径 etc/nginx/conf.d/
在里面新建一个文件名为website.conf
配置如下
server {
listen 80;
server_name host;
location / {
uwsgi_pass youip:9090;
include uwsgi_params;
uwsgi_param UWSGI_CHDIR /root/website;
uwsgi_param UWSGI_SCRIPT website.wsgi;
} location /static {
alias /root/website/static;
}
access_log off;
}
同时导入了静态文件
在setting.py 加入下面这句
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
运行下面这句:
python3 manage.py collectstartic
如果静态资源无法加载,出现403错误,可以找到nginx.conf文件将头部的user nginx改为user root
这里要将nginx.conf文件中的listen设置为其他非80端口,这样才能在80端口显示html页面
运行:uwsgi --ini website_uwsgi.ini & nginx路径
将django ,uwsgi, nginx放在一起运行