zoukankan      html  css  js  c++  java
  • nginx+uwsgi介绍

    一、nginx+uwsgi介绍

    pip list  # 查看安装过的模块
    rpm -q nginx  # 查看是否安装某款服务
    
    pip install django == 1.11.11  # 安装django并指定版本
    yum install -y nginx  # 安装nginx
    
    """单独在一台被控机上测试"""
    mkdir /data
    cd /data/
    
    # 命令行创建django项目
    django-admin startproject mysite
    cd mysite/
    python manage.py startapp app01
    
    # 修改配置文件
    ALLOWED_HOSTS = ["*"]
    DEBUG = False
    注册app01
    
    # 启动访问
    python manage.py runserver 0.0.0.0:8080  # 需要关闭防火墙 iptables -F
    
    # django默认使用的wsgiref并发量太小 换成uwsgi
    pip install uwsgi  # 可保持django运行 重新开设xshell窗口安装即可
    # 报错 需要下载python-devel(开发必备的包) 秉持原则:缺什么装什么不用的别装  然后重新安装即可
    yum install -y python-devel
    
      
    # 启动uwsgi 需要切换到项目目录下
    uwsgi --http :8090 --module mysite.wsgi
    # 将uwsgi服务写入配置文件中
    vi /etc/uwsgi.ini  
    """
    [uwsgi]
    http = 0.0.0.0:8000
    # the local unix socket file than commnuincate to Nginx
    # socket = /data/mysite/mysit.socket
    # the base directory (full path)
    chdir = /data/mysite
    # Django's wsgi file
    wsgi-file = mysite/wsgi.py
    # maximum number of worker processes
    processes = 4
    #thread numbers startched in each worker process
    threads = 2
    # clear environment on exit
    vacuum          = true  # uwsgi关闭之后 将临时生成的文件删除掉
    daemonize = /data/mysite/uwsgi.log  # 后台启动 守护进程
    py-autoreload=1  # py文件改动 自动重新加载
    """
    
    
    # 配置文件启动
    uwsgi --ini /etc/uwsgi.ini
    # nginx做代理  修改配置文件(可以直接修改nginx自带的 也可自定义配置)
    vi /etc/nginx/nginx.conf
    """
    location / {
        include /etc/nginx/uwsgi_params;
        uwsgi_pass 127.0.0.1:8000;
    }
    """
    # 重启服务
    systemctl restart nginx
    # 访问10.0.0.101:80端口报错  针对nginx访问报错  有三种配置方式
    
    
    # 第一种
    # uwsgi的配置   vi /etc/uwsgi.ini
    http = 0.0.0.0:8000
    # nginx的配置   vi /etc/nginx/nginx.conf
    location / {
        proxy_pass http://127.0.0.1:8000;
    }
    # 重启服务
    systemctl restart nginx
    # 仍然无法访问  查看系统日志  访问成功日志(access.log)和报错日志(error.log)
    tail -f /var/log/nginx/error.log  # 报权限错误
    setenforce 0  # selinux安全控件(非常牛逼的认证方式 但实际工作不用)
    vi /etc/selinux/config
    """
    修改配置
    SELINUX=disabled
    """
    pkill -9 uwsgi  # 杀掉uwsgi的进程
    
    # 第二种
    # uwsgi的配置  vi /etc/uwsgi.ini
    socket = 0.0.0.0:8000
    # nginx的配置  vi /etc/nginx/nginx.conf
    include /etc/nginx/uwsgi_params;
    uwsgi_pass 127.0.0.1:8000;
    # 重启服务
    systemctl restart nginx
      
    # 第三种
    # uwsgi的配置  vi /etc/uwsgi.ini
    socket = /data/mysite/mysite.socket
    # nginx的配置  vi /etc/nginx/nginx.conf
    include /etc/nginx/uwsgi_params;
    uwsgi_pass unix:/data/mysite/mysite.socket;
    # 重启服务
    systemctl restart nginx
  • 相关阅读:
    [Leetcode] Symmetric tree 对称二叉树
    [Leetcode] Populating next right pointer in each node ii 填充每个节点的右指针
    [Leetcode] Populating next right pointer in each node 填充每个节点的右指针
    [Leetcode] Same tree判断是否为相同树
    [Leetcode] Path Sum II路径和
    [Leetcode] Path Sum路径和
    [Leetcode] Binary tree maximum path sum求二叉树最大路径和
    [Leetcode] The minimum depth of binary tree二叉树的最小深度
    设计模式-工厂方法模式
    设计模式-简单工厂模式
  • 原文地址:https://www.cnblogs.com/yangmeichong/p/11909872.html
Copyright © 2011-2022 走看看