• python之Django部署


    Django部署:
    1. 租云服务器

    2. 买服务器


    租:公网IP,111.13.101.208
    租域名:www.pythonav.com <-> 111.13.101.208

    3. 编写代码


    4. 拷贝代码到服务器[Python,Django,pymysql,sqllite]


    5.
    settings.py
    ALLOWED_HOSTS = ['服务器',]  # 即网站IP

    python manage.py runserver 0.0.0.0:8001

    使用:
    遵循wsig协议:
    wsgiref

    6. uwsgi
    pip3 intall uwsgi


    简单测试:
    app.py
    def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return [b"Hello World"]

    uwsgi --http :9001 --wsgi-file app.py

    uwsgi --http :9002 --wsgi-file foobar.py --master --processes 4 --threads 2  (foobar为django wsgi.py路径, 后面为4进程 2线程)

    Django:

    # 不处理静态文件
    uwsgi --http :9002 --chdir /data/s4/deploy --wsgi-file deploy/wsgi.py --master --processes 4 --threads 2


    首先settings写好静态文件路径
    STATICFILES_DIRS = (
    os.path.join(BASE_DIR,'static'),
    )
    STATIC_ROOT = os.path.join(BASE_DIR,'uuuuuu')

    python manage.py collectstatic (这个命令将上面所有路径下的静态文件收集到指定文件夹 即uuuuuu)

    完事,注释静态配置

    # 处理静态文件
    uwsgi --http :9003 --chdir /data/s4/deploy --wsgi-file deploy/wsgi.py --static-map /static=/data/s4/deploy/uuuuuu


    # 写一个配置文件
    wsgi_http.ini
    [uwsgi]
    http = 0.0.0.0:9004
    chdir = /data/s4/deploy
    wsgi-file = deploy/wsgi.py
    # processes = 4
    # threads = 2
    static-map = /static=/data/s4/deploy/uuuuuu
    uwsgi wsgi_http.ini


    7. Nginx

    yum install nginx

    /etc/init.d/nginx start/stop/restart

    /etc/nginx/nginx.conf

    其中 server后应写 uwsgi的启动端口,即Nginx将请求转交给uwsgi uwsgi交给Django处理,获取结果再交给Nginx返回给客户。

    static 为静态文件路径

    此时uwsgi的配置文件应修改为连接方式:

    http = 0.0.0.0:9004  改为 socket = 127.0.0.1:8001  其余不变


    用户请求通过Nginx默认监听的80端口,Nginx再判断请求信息,如处理动态请求则向uwsgi的8001端口发送,处理完后再返回给Nginx交给用户。

    lsof -i:端口 可以查看端口是否被使用

    如果出错 应设置selinux  

    vim /etc/selinux/config

    将SELINUX设置成disabled



























































  • 相关阅读:
    thinkphp中的验证码的实现
    js深入研究之牛逼的类封装设计
    js深入研究之函数内的函数
    js深入研究之初始化验证
    js深入研究之Person类案例
    js深入研究之匿名函数
    js深入研究之类定义与使用
    sublime text3 自动编译php 适合用于简单的php文件执行
    PHP实现四种基本排序算法 得多消化消化
    thinkphp中的类库与引用import引入机制
  • 原文地址:https://www.cnblogs.com/mitsui/p/7764561.html
Copyright © 2020-2023  润新知