zoukankan      html  css  js  c++  java
  • 使用Nginx+uwsgi部署Django项目

    一、Nginx的安装

    nginx的安装方式可能不同,具体取决于操作系统。本文环境是Centos7,使用Linux在线安装。

    1、安装先决条件

    yum install yum-utils

    2、设置yum存储库

    vim /etc/yum.repos.d/nginx.repo
    [nginx-stable]
    name=nginx stable repo
    baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
    gpgcheck=1
    enabled=1
    gpgkey=https://nginx.org/keys/nginx_signing.key
    module_hotfixes=true
    
    [nginx-mainline]
    name=nginx mainline repo
    baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
    gpgcheck=1
    enabled=0
    gpgkey=https://nginx.org/keys/nginx_signing.key
    module_hotfixes=true

    3、安装

    (1)默认情况下,使用稳定的nginx软件包的存储库。如果要使用主线nginx软件包

    sudo yum-config-manager --enable nginx-mainline

    (2)安装

    yum install nginx

    当提示接受GPG密钥时,请验证指纹是否匹配 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62,如果是,则接受它。说白了就是一路y安装完毕。

    官方文档:http://nginx.org/en/linux_packages.html

    二、uwsgi安装与配置

    1、安装

    pip install uwsgi

    2、编写配置文件(将配置文件放在manage.py同级目录下)

    [uwsgi]
    # 使用nginx连接时 使用
    socket=0.0.0.0:8003
    
    # 直接作为web服务器使用
    #http=0.0.0.0:8003
    
    # 配置工程目录
    chdir=/root/os_setup_admin
    
    # 配置项目的wsgi目录。相对于工程目录
    wsgi-file=os_setup_admin/wsgi.py
    
    # 配置线程,线程信息
    processes=4
    
    threads=10
    
    enable-threads=True
    
    pidfile=uwsgi.pid
    
    daemonize=uwsgi.log

    3、命令

    (1)启动

    uwsgi --ini uwsgi.ini

    使用ps -ef|grep uwsgi命令可以查看

     uWSGI 通过 xxx.ini 启动后会在相同目录下生成一个 xxx.pid 的文件,里面只有一行内容是 uWSGI 的主进程的进程号。

    (2)重启

    uwsgi --reload uwsgi.pid

    (3)停止

    uwsgi --stop uwsgi.pid

    三、配置以及启动Nginx

    1、配置

    Nginx的默认配置在/etc/nginx下,我们可以复制一份到我们的项目目录下。对其进行修改。

    user  nginx;
    worker_processes  1;
    
    error_log  /var/log/nginx/error.log warn;
    pid        /var/run/nginx.pid;
    
    
    events {     # 指定工作模式以及连接上限
      # user epoll; # 高效工作模式 worker_connections
    1024; # 定义每个进程连接上限 } http { # 最核心模块,主要负责http服务器相关配置,包含server,upstream子模块 include /etc/nginx/mime.types; # 设置mime文件的类型 default_type application/octet-stream; # 默认设置类型为二进制流,文件类型未知时就会使用默认
      # 设置日志格式 log_format main
    '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; # 设置高效文件传输 #tcp_nopush on; keepalive_timeout 65; # 设置客户端连接超时 #gzip on; #include /etc/nginx/conf.d/*.conf; server { listen 8000; # 监听的端口 server_name localhost; # 指定ip地址或者域名,多个域名使用空格隔开 root /root/os_setup_admin; # 指定这个虚拟主机的根目录(项目目录)
      # location核心中的核心,以后的主要配置都在这
      # 主要功能:定位url,解析url,支持正则匹配,还能支持条件,实现动静分离
    location /static { # 静态资源加载的路径 alias /root/os_setup_admin/static; # }   # alias:别名,定义location的其他名字,在文件系统中能够找到, 如果location指定了正则表达式,alias则会引用
      # 正则表达式中的捕获,alias替代location中匹配部分,没有匹配部分就会在文件系统中搜索

    location / { #对接uwsgi include /etc/nginx/uwsgi_params; uwsgi_pass 127.0.0.1:8003; } } }

    2、启动

    nginx -t 不运行,仅测试配置文件

    nginx -c configpath  从指定路径加载配置文件

    nginx -t -c configpath  测试指定配置文件

  • 相关阅读:
    第4章 Android移植环境搭建
    第3章 Android移植平台工具介绍
    第2章
    第1章 Android系统的编译和移植实例:
    nfs
    TFTP服务器搭建
    根系统制作
    nfs挂载
    uboot的编译
    交叉工具链的搭建方法
  • 原文地址:https://www.cnblogs.com/huiyichanmian/p/12334782.html
Copyright © 2011-2022 走看看