zoukankan      html  css  js  c++  java
  • python3.6 ubuntu部署nginx、 uwsgi、 django

    ubuntu部署nginx、 uwsgi、 django


    • 将项目上传到服务器
      • python manager.py runserver 0:80  
      • 在浏览器输入服务器的域名或者ip地址,访问成功。
    • 安装uwsgi
      • apt-get install python3.6-dev
      • pip install uwsgi
      • 编写uwsgi配置
         1 [uwsgi]
         2 
         3 # 使用nginx配置
         4 # socket = 0.0.0.0:8080
         5 # 使用uwsgi配置
         6 http = 0.0.0.0:8080
         7 # 项目目录
         8 chdir = 你的项目根目录
         9 #wsgi.py文件的目录,相对根目录
        10 wsgi-file = main/wsgi.py
        11 # 指定工作进程中的进程数
        12 processes = 4
        13 # 指定工作进程中的线程数
        14 threads = 2
        15 #
        16 master=True
        17 # 保存启动之后的主进程的pid
        18 pidfile=uwsgi.pid
        19 # 设置uwsgi后台运行,uwsgi.log保存日志信息
        20 daemonize=uwsgi.log
        21 # 设置虚拟环境的路径
        22 virtualenv=/root/.virtualenvs/mengshu   
        23 # 代码更改后自动重启服务
        24 py-autoreload=1
      • 启动uwsgi服务
        • 进入到项目的根目录下
        • uwsgi --ini uwsgi.ini
        • 若出现
          • [uWSGI] getting INI configuration from uwsgi.ini
        • 配置成功
      • 打开浏览器访问ip或域名配置的端口,若无响应,则查看相应的端口有没有被打开
    • 安装nginx
      • sudo apt-get update
      • sudo apt-get install nginx
      • 安装完之后nginx的配置会默认在  /etc/nginx下
      • 进入该文件夹  cd /etc/nginx
      • 编写nginx配置: sudo vim nginx.conf
      • 在该文件里找到http  在里面加入
         1 upstream mengshu {
         2     # uwsgi监听的端口号和地址
         3     server 0.0.0.0:8080
         4     }
         5 
         6 server {
         7     listen 80;
         8     # 服务器的公网ip和域名,可配置二级域名
         9     server_name 0.0.0.0:80;
        10 
        11     location / {
        12         include /etc/nginx/uwsgi_params;
        13         uwsgi_pass mengshu;
        14     }
        15 
        16 }
      • 将uwsgi的配置文件的http注释掉,将socket打开
      • 重启uwsgi
        • 关闭uwsgi
          • uwsgi --stop uwsgi.pid
        • 开启uwsgi
          • uwsgi --ini  uwsgi.ini
      • 启动nginx
        • /usr/sbin/nginx
      • 在浏览器输入IP地址和域名即可访问页面
      • 查看响应头
  • 相关阅读:
    栈和堆的区别【转】
    C++虚函数表解析(转)
    C++编码规范(转)
    全局变量的声明和定义 以及dll中全局变量的导出
    Sizeof与Strlen的区别与联系.
    利用事件对象实现线程同步
    创建互斥对象同步线程
    MFC GDI笔记 转
    ClientToScreen( )和ScreenToClient( )
    Visual C++线程同步技术剖析
  • 原文地址:https://www.cnblogs.com/ivy-blogs/p/11162464.html
Copyright © 2011-2022 走看看