django 网站的搭建(2)

时间:2023-03-10 02:46:51
django 网站的搭建(2)

这里使用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放在一起运行