zoukankan      html  css  js  c++  java
  • 部署python django程序

    在一台新的服务器上x需要先安装python3  ,git , 等

    安装python3

    安装python3 之前博客写过

    创建虚拟环境,我用的是venv

    https://docs.python.org/3/library/venv.html

    首先创建一个空目录

    python3 -m venv DIR

    在linux 启动虚拟环境是

    source bin/activate

    pip3安装各种Python包

    pip3 install -r requirements.txt

    note: requirements.txt 这个文件名不一定非是这个,只要内容符合要求就行

    关于生成这个文件  的命令是

    pip freeze > FILENAME.txt

    退出虚拟环境

    deactivate

    linux安装mysql

    参考

     http://www.runoob.com/mysql/mysql-install.html

    yum install -y mysql

    yum install -y mysql-server

    yum install -y devel

    启动

    service mysqld start



    部署nginx 和uwsgi

    安装uwsgi
    pip3 install uwsgi

    安装nginx
    yum install nginx
    在执行这个命令后发现错误信息, no valid packages nginx
    red hat/centos 发行版下,看过望山各种答案还是找不到
    故记录一下
    求助于nginx 官网

    https://nginx.org/en/linux_packages.html#stable

    按照官网的命令,
    先创建一个文件
    vim /etc/yum.repos.d/nginx.repo

    uwsgi 链接  https://uwsgi-docs.readthedocs.io/en/latest/WSGIquickstart.html


    To set up the yum repository for RHEL/CentOS, create the file named /etc/yum.repos.d/nginx.repo with the following contents:
    在这个文件下写入
    [nginx]
    name=nginx repo
    baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/
    gpgcheck=0
    enabled=1
    标红部分要根据你的操作系统版本来改
    Replace “OS” with “rhel” or “centos”, depending on the distribution used,
    and “OSRELEASE” with “6” or “7”, for 6.x or 7.x versions, respectively.
    翻译是:
    将用rhel 或者centos 来替代'OS' ,这个取决于你的发行版,用6或者7来替代 “OSRELEASE
    这个取决于是6.x 还是7.x
    改完之后保存退出
    再执行命令
    yum install nginx

    就大功告成了

    Currently, nginx packages are available for the following distributions and versions:

    关于版本,可通过uname命令来看 

    [root@host yuyang]# uname -r
    4.13.7-1.el6.elrepo.i686
    [root@host yuyang]# uname -v
    #1 SMP Sat Oct 14 11:42:10 EDT 2017
    [root@host yuyang]# uname -i
    i386

    RHEL/CentOS:

    Version Supported Platforms
    6.x x86_64, i386
    7.4+ x86_64, ppc64le

    Debian:

    Version Codename Supported Platforms
    8.x jessie x86_64, i386
    9.x stretch x86_64, i386

    Ubuntu:

    Version Codename Supported Platforms
    14.04 trusty x86_64, i386, aarch64/arm64
    16.04 xenial x86_64, i386, ppc64el, aarch64/arm64
    17.04 zesty x86_64, i386

    SLES:

    Version Supported Platforms
    12 x86_64



    关于部署django几点注意点:
      settings.py ALLOWED_HOST 需要设置 * 或者对应ip
    DEBUG 改成False
      settings 设置STATIC_ROOT
    在启动uwsgi前,收集静态文件,命令是python manage.py collectstatic ,这个命令回见django里面的静态文件全收集到STATIC_ROOT 所指定的目录下


    之前一晚上failed to open python.py 这个bug 是因为 --chdir --wsgi-file 的文件路径写的不对,写重复了。

    启动有mysql 的django 项目,报 nomudule package MySQLdb 需要
    pip3 install mysqlclient
    在deug设置为false 后静态文件是从STATIC_ROOT 下面找的
    uwsgi --http :9003 --chdir /root/s5/deploy1 --wsgi-file deploy1/wsgi.py --master --processes 1 --threads 2 --static-map /static=/root/s5/xxxxxx

    也可以写成配置文件



































  • 相关阅读:
    FLEX布局做响应式页面
    vscode 设置指南
    js原生事件委托的实现
    fiddler相关功能和命令
    JavaScript常见问题
    Nodejs命令学习
    ES6和babel的恩怨纠葛
    js模块编程
    Mac-Python 从2.7版本升级到3.7版本
    Java-Mac版Idea安装TestNG框架
  • 原文地址:https://www.cnblogs.com/yuyang26/p/7993934.html
Copyright © 2011-2022 走看看