美文网首页
2018-09-05 部署django网站到阿里云(真实环境下

2018-09-05 部署django网站到阿里云(真实环境下

作者: 狒狒狗 | 来源:发表于2018-09-05 18:41 被阅读0次

    阿里云Ubantu16.04+django+uwsgi+nginx部署django项目(真实环境)

    弄这个弄了好几天,网上各种找资料,最后总算完成,也是站在大佬们的肩膀上完成的,原理推荐去看一下bilibili上

    https://www.bilibili.com/video/av10247256?from=search&seid=12533707057638545380 在此也感谢大佬传授

    1、申请阿里云(这里不详细赘述了)

    2、刚购买的阿里云有python2.7和python3.5两个版本,python2.7以后都不会用了,所以直接卸载掉

                1、卸载: 命令:sudo apt-get autoremove python2.7

                2、如果要使用python启动python3.5,否则只能用python3启动

                        命令:sudo ln -s /usr/bin/python3.5 /usr/bin/python

    3、安装并启动nginx(安装自动启动)

                1、安装前最好先升级一下apt   命令:apt update

                2、安装nginx命令:apt install nginx

                3、启动和停止命令:/etc/init.d/nginx  start/restart/stop 坑一:此处可以输入阿里云的公网ip(不用输入端口,Nginx的默认端口80,但是要在阿里云中配置安全组规则,入方向和出方向配置80端口,否则会报错)

    4、安装django

                1、此处我安装的django1.11.8,需要别的版本可以直接修改数字

                        命令:pip3 install django==1.11.8

                         先安装pip3这里可以先升级一下pip     pip3 install --upgrade pip

                        坑:再用pip3下载模块会报错,解决办法cd /usr/bin    vim pip3将from开始的内容换成 :

                                        from pip import __main__

                                        if __name__ == '__main__':

                                        sys.exit(__main__._main())

    5、上传django项目

            1、我是用的winscp上传的文件,此处我上传在 /var/www下

    6、安装数据库

            1、sudo  apt-get  install  mysql-server(中间有输入root用户密码)        pip3 install pymysql

            2、创建数据库 (django项目中的数据库配置的数据库名)

            3、创建日志(需要切换到django项目中)命令:python manage.py makemigrations

                  报错:安装pip install Pillow

            4、同步数据库

                命令:python manage.py migrate

            5、加载项目中初始化数据(有则加)

                命令:python manage.py loaddata初始数据json文件

            6、收集一下静态资源

                命令:python  manage.py  collectstatic

    7、创建三个文件 uwsgi.ini 、 nginx.conf、uwsgi_params1、uwsgi.ini(路径修改为自己的项目路径)

            内容:(我都是手敲的,你们有福了,注意一下复制进去的时候前几个字母会丢)

             [uwsgi]

            chdir =/var/www/librepath这里

            module =librepath.wsgi这里(项目主应用)

            home =/var/www/env(坑二:这个参数在虚拟环境中才需要,真实环境不需要)

            master =true

            processes =10

            socket = :8001

            chmod-socket =666

            vacuum =true

            2、nginx.conf(路径修改为自己的项目路径,配置文件修改后要重启nginx)

                内容:

                upstream django {

                server 127.0.0.1:8001;

                    }

                server {

                        listen  80;

                        server_name  .librepath.com;这里

                        charset utf-8;

                        client_max_body_size 75M;

                        location /static{

                        alias /var/www/librepath/static;这里

                   }

                location / {

                        uwsgi_pass  django;

                        include   /var/www/uwsgi_params;

                }

            }

                3、uwsgi_params(不用修改)

                内容:

               uwsgi_param  QUERY_STRING     $query_string;

               uwsgi_param  REQUEST_METHOD   $request_method;

                uwsgi_param  CONTENT_TYPE     $content_type;

                uwsgi_param  CONTENT_LENGTH   $content_length;

    8、用nginx.conf覆盖一下default  

            命令:cd  /etc/nginx/sites-enabled

                       rm  default

                        ln  -s  /var/www/nginx.conf nginx.conf

    9、安装uwsgi

                pip3 install uwsgi

                在uwsgi.ini文件的目录中启动服务 uwsgi --ini uwsgi.ini

    10、重启nginx  坑三:nginx 如果启动失败

                [....] Restarting nginx (via systemctl): nginx.serviceJob for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

                使用报错信息中systemctl status nginx.service命令去查找错误信息,会指出路径

    11、设置随服务器启动而启动

                    命令:vim /etc/rc.local

                    加入/usr/local/bin/uwsgi --ini  /var/www/uwsgi.ini

    12、重启服务器 reboot

    13、重启后输入ip打开网站

    相关文章

      网友评论

          本文标题:2018-09-05 部署django网站到阿里云(真实环境下

          本文链接:https://www.haomeiwen.com/subject/kfczwftx.html