• Django项目部署详细步骤


    1.创建python环境

    python –V 查看python版本

    which python 查看当前路径

    进入当前路径/usr/bin

    apt update 更新apt

    apt-get install python3-pip 更新pip

    ln –s python3 python 创建软连接

    2.安装虚拟模块

    pip install virtualenv 安装虚拟模块

    pip install virtualenv virtualenvwrappr 提供简单的命令

    apt-get install python-virtualenv

    3.配置虚拟环境

    cd 进入主目录

    修改系统配置文件(.bashrc)

    在末尾增加:

    export WORKON_HOME=$HOME/.virtualenvs

    source /usr/local/bin/virtualevnwrapper.sh

    source .bashrc   执行命令修改生效

    mkdir .virtualenv  在主目录创建文件

    4.创建虚拟环境

    mkvirtualenv fresh(虚拟名字)

    workon 查看虚拟环境

    deactivate 退出虚拟环境

    rmvirtualenv fresh(虚拟名字)  删除虚拟环境

    5.安装uwsginginx

    进入虚拟环境安装uwsgi和nginx

    pip install uwsgi

    apt-get install nginx

    6.测试nginx

    测试nginx(80端口):

             启动:nginx

             停止:nginx –s stop

                       nginx –s quit

             重新加载:nginx –s reload

                                nginx –s reopen

             查看:ps –ef |grep nginx       

    安装links,在云服务器上测试是否成功:

    apt install links

    命令窗口测试:links http://localhost

    网页测试输入:http://47.95.198.0/(在管理平台网络和安全中开放80端口才可以测试,否则超时)

    7.收集环境

    收集环境(在Windows中cmd中输入一下命令)

    pip freeze > libs.txt

    8.安装FTP服务器

    安装FTP

    apt-get install vsftpd

    ps -ef|grep vsftpd  查看是否启动

    FTP服务端配置

    进入cd /etc/ àvi vsftpd.conf

    打开文件操作权限 local_umask=022

    打开用户可以上传文件 anon_upload_enable=YES

    打开用户可以创建文件夹 anon_mkdir_write_enable=YES

    FTP客户端操作

    界面操作或者命令行操作

    命令行操作:

    ftp ip 登录ftp服务器

    put file 上传一个文件

    mput file 上传多个文件

    get file 下载一个文件

    mget file 下载多个文件

    bye 退出命令行

    上传文件(在cmd进行上传文件)

    进入项目所在目录

    scp –r E:fresh root@47.95.198.0:/www/  (如果没有scp命令,直接使用winscp软件上传)

    如果报错没有scp命令,则安装winscp图形化软件

    9.测试

    上传结束后,在服务端进入虚拟环境,进入到项目,安装项目所用到的环境

    pip install -r libs.txt

    若出现OSError: mysql_config not found错误

    安装apt-get install libmysqlclient-dev python3-dev这个命令

    然后启动项目python manage.py runserver

    若出现django.db.utils.OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1' ([Errno 111] Connection refused)")错误

    添加数据库解决mysql -u root –p

    若出现

    Command 'mysql' not found, but can be installed with:

    apt install mysql-client-core-5.7  

    apt install mariadb-client-core-10.1

    安装数据库(安装过程中设置数据库密码)

    sudo apt-get install mysql-server

    apt-get install mysql-client

    sudo apt-get install libmysqlclient-dev

    进入数据库mysql -u root -p

    创建数据库create database fresh default charset 'utf8';

    查看数据库show databases;

    创建好之后进行数据同步

    python manage.py migrate

    python manage.py runserver 0.0.0.0:80 若80端口被占用则暂停nginx

    10.配置uwsgi.ini

    在项目路径下vi uwsgi.ini

    [uwsgi]

    http=:80

    chdir=/root/www/fresh

    wsgi-file=fresh/wsgi.py

    master=true

    processes=2

    threads=2

    daemonize=uwsgi.log

    pidfile=uwsgi.pid

    uid=root

    gid=root

    static-map=/static=static_file

    运行uwsgi命令: uwsgi --ini uwsgi.ini

    停止uwsgi命令:uwsgi --stop uwsgi.pid

    查看进程ps -ef|grep uwsgi.ini

    查看日志 more uwsgi.log

    收集静态文件

    在项目下创建static_file文件夹,编辑setting.py,添加:

    STATIC_ROOT = os.path.join(BASE_DIR,'static_file')

    执行命令进行收集静态文件:python manage.py collectstatic

    47.95.198.0进行访问

    11.配置nginx.conf

    配置nginx.conf文件/etc/nginx/

            server{

                    listen 80;

                    location /static {

                            alias /www/fresh/static_file;

                    }

                    location / {

                            include uwsgi_params;

                            uwsgi_pass 127.0.0.1:8000;

                    }

            }

    重启nginx命令:nginx –s reload

    12.分布式建立

    添加多个分布式

    mkdir fresh1  mkdir fresh2….

    把项目拷贝到分布式中

    cp -rf fresh/ fresh1/   cp -rf fresh/ fresh2/….

    注意:本篇文章是个人总结,仅供参考。若出现其他问题,与写者无关,切勿用于商业获取福利!

       如果总结有勿,或者交流与学习,请与写着联系!qq:1349176744

  • 相关阅读:
    python自动发邮件库yagmail
    Vmware改成bridge方式联网
    centos7 更新Firefox版本
    无法应用转换程序,请检查指定的转换程序路径是否有效
    python中list/tuple/dict/set的区别
    Python中的*arg和**kwarg
    centos7.4下搭建JDK+Tomcat+Nginx+Mysql+redis+Mongodb+maven+Git+Jenkins
    用 Apache Derby 进行 ODBC 编程
    Derby 命令
    Python与数据库
  • 原文地址:https://www.cnblogs.com/quietly-elegant/p/10257095.html
Copyright © 2020-2023  润新知