服务器部署

为了可以更更好的实现共享,所以部署服务器

部署 --WSGI

只有一个项目的话,部署wsgi就不需要在虚拟环境上

第一步:

pip freeze > plist.txt        #执行明命令收集所有包

第二步:安装所有需要的包

pip install -r plist.txt

第三步: 更改settings.py文件        关闭调试        

DEBUG = False

ALLOW_HOSTS=['*',]表示可以访问服务器的ip

因为 uWSGI实现了WSGI的所有接口,是一个快速、自我修复、开发人员和系统管理员友好的服务器

所以我们需要安装uwsgi

pip install uwsgi

如果你在安装的时候报错的话,输入 这句话在进行安装

sudo apt-get install python3-dev

第五步:配置uWSGI,在项目中新建文件uwsgi.ini, 这个名字尽量写成这个

#socket=外网ip:端口(使用nginx连接时,使用socket)---这句话在测试uwsgi的时候需要注释

http=外网ip:端口(直接做web服务器,使用http)

chdir=项目根目录

wsgi-file=项目中wsgi.py文件的目录,相对于项目根目录 路径

processes=4            -----------四个子进程

threads=2               ------------每个 子进程下面跟两个线程

master=True

pidfile=uwsgi.pid    

daemonize=uswgi.log

第六步:查看状态或者是否成功可以查看日志    uswgi.log     

 启动:uwsgi --ini uwsgi.ini

 停止:uwsgi --stop uwsgi.pid

 重启:uwsgi --reload uwsgi.pid

启动uwsgi ,进入你项目的路径,你会发现,静态文件的照片打不开,这个时候就引入 nginx

使用nginx的作用

1. 负载均衡:多台服务器轮流处理请求

2. 反射代理:隐藏真实服务器

3.加载静态文件

第一步:安装

sudo apt-get install nginx

第二步:在项目里面创建Ÿ nginx.conf文件

sudo vim /etc/nginx/nginx.conf

server {

                listen      8888;                      #端口号

                server_name  mydjango;                  #服务器名,随意

                location / {

                    include uwsgi_params;              #将所有的参数转到uwsgi下

                    uwsgi_pass 192.168.12.26:8000;      #uwsgi的ip与端口 与你写的uwsgi IP和端口号一定要保持一致

                }

                location /static {

                        alias /var/www/项目名称/static/;

                }

        }

第三步:在根目录下创建文件 

 /var/www/项目名称/static/;

第四步:修改 权限

sudo chmod 777 /var/www/test5

第五步:抓取项目里所有的静态文件

 python manage.py collectstatic

第六步:

socket=192.168.12.26:8000

#http=192.168.12.26:8080

chdir=/home/cui/dayfresh

wsgi-file=dayfresh/wsgi.py

processes=4

threads=2

master=True

pidfile=uwsgi.pid

daemonize=uswgi.log

 重启nginx、uwsgi

此时在访问就会发现可以加载静态文件

你可能感兴趣的:(服务器部署)