精华内容
下载资源
问答
  • flask nginx uwsgi 部署

    2019-10-14 14:45:25
    环境 centos 6.5 anaconda 3 nginx 1.8 python 3.6 ...参见: 参见: nginx uwsgi部署 flask 部署 $ pip install flask 测试文件 参见:Flask 简单应用- Hello world $ source activate py3.6 $ cd...

    环境

    • centos 6.5
    • anaconda 3
    • nginx 1.8
    • python 3.6
    • uWSGI 2.0.18
    • flask 1.0.3

    nginx uwsgi 部署

    参见: 参见: nginx uwsgi部署

    flask 部署

    $ pip install flask
    

    测试文件
    参见:Flask 简单应用- Hello world

    $ source activate py3.6
    $ cd /var/tmp
    $ mkdir test
    $ cd test
    $ vi IndexController.py
    
    from flask import Flask;
    
    app = Flask(__name__);
    
    # 路由到根
    @app.route('/')
    def hello_world():
       return 'Hello World';
    
    $ vi wsgi.py
    import sys
    sys.path.append('/usr/local/anaconda3/envs/py3.6/lib/python3.6/site-packages/')
    
    import IndexController
    application = IndexController.app
    
    

    配置nginx
    nginx配置,新增conf.d/flask.conf

    server {
        listen       8000;
        server_name  _;
    
        access_log      /var/log/nginx/flask_access.log;
        error_log       /var/log/nginx/flask_error.log;
        location / {
            include  uwsgi_params;
            uwsgi_pass  127.0.0.1:9090;
            uwsgi_param UWSGI_SCRIPT wsgi;
            uwsgi_param UWSGI_CHDIR  /var/tmp/test;
            client_max_body_size 35m;
        }
    }
    

    访问: http://IP:8000

    展开全文
  • django nginx uwsgi 部署

    2019-10-14 10:57:09
    环境 centos 6.5 ...nginx uwsgi 部署 参见: nginx uwsgi部署 Django部署 安装测试 $ source activate py3.6 $ pip install django $ cd /var/tmp //# 创建Django项目chenzl $ django...

    环境

    • centos 6.5
    • anaconda 3
    • nginx 1.8
    • python 3.6
    • uWSGI 2.0.18
    • Django 2.2.6

    nginx uwsgi 部署

    参见: nginx uwsgi部署

    Django部署

    安装测试

    $ source activate py3.6
    $ pip install django
    $ cd /var/tmp
    
    //# 创建Django项目chenzl
    $ django-admin.py startproject chenzl
    $ cd chenzl
    
    //# 启动测试环境
    $ python manage.py runserver 0.0.0.0:8000
    
    //# 测试是否正常
    curl http://127.0.0.1:8000
    

    使用uwsgi动态模式,所以/etc/uwsgi.ini不需要更改;

    nginx配置,新增conf.d/django.conf

    server {
        listen       8000;
        server_name  _;
    
        access_log      /var/log/nginx/django_access.log;
        error_log       /var/log/nginx/django_error.log;
        location / {
            include  uwsgi_params;
            uwsgi_pass  127.0.0.1:9090;
            uwsgi_param UWSGI_SCRIPT chenzl.wsgi;
            uwsgi_param UWSGI_CHDIR  /var/tmp/chenzl;
            client_max_body_size 35m;
        }
    }
    

    使用nginx转发请求到uwsgi时,不是在虚拟环境下,所以是将虚拟环境下的django包路径加入python搜索路径sys.path

    $ vi /var/tmp/chenzl/chenzl/wsgi.py
    """
    WSGI config for chenzl project.
    
    It exposes the WSGI callable as a module-level variable named ``application``.
    
    For more information on this file, see
    https://docs.djangoproject.com/en/2.2/howto/deployment/wsgi/
    """
    
    import os
    import sys
    # 将django包路径加入sys.path
    sys.path.append('/usr/local/anaconda3/envs/py3.6/lib/python3.6/site-packages/')
    
    from django.core.wsgi import get_wsgi_application
    
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'chenzl.settings')
    
    application = get_wsgi_application()
    

    Django默认限制只能本地访问,开启远程访问

    $ vi /var/tmp/chenzl/chenzl/settings.py
    #ALLOWED_HOSTS = []
    ALLOWED_HOSTS = ['*']
    

    启动uwsgi和nginx

    $ service uwsgi start
    $ service nginx start
    

    访问: http://IP:8000

    展开全文
  • supervisor nginx uwsgi

    2020-06-08 09:42:02
    centos supervisor nginx uwsgi [uwsgi] chdir=/data/www/django/project #虚拟环境 home = /data/www/django/VENV module=project.wsgi master=True #pidfile=/data/www/django/uwsgipid.pid vacuum=True max-...

    centos supervisor nginx uwsgi
    sock 文件生成
    如果uwsgi myapp.ini不成功尝试下面步骤

    1、Stop ngnix using sudo service ngnix stop
    2、Start your app uwsgi myapp.ini
    3、Start the ngnix sudo service ngnix start

    [uwsgi]
    chdir=/data/www/django/project
    #虚拟环境
    home = /data/www/django/VENV
    module=project.wsgi
    master=True

    #pidfile=/data/www/django/uwsgipid.pid
    vacuum=True
    max-requests=5000
    #0.0.0.0:8080 端口通信
    socket =/data/www/django/mxonline.sock
    chmod-socket = 777

    server {
    listen 8006;
    server_name 123.56.96.105;
    charset utf-8;
    client_max_body_size 75M; # adjust to taste
    location / {

    include     /etc/nginx/uwsgi_params; # the uwsgi_params file you installed
    uwsgi_pass unix:/data/www/django/mxonline.sock;
    

    }
    }

    .ini

    [program:nginxweb]
    command=/data/www/django/VENV/bin/uwsgi --ini /data/www/django/uwsgi.ini
    stderr_logfile=/data/www/django/err.log
    startsecs=3
    stopsignal=KILL
    stopasgroup=true
    killasgroup=true

    展开全文
  • Ubuntu-20.04 Flask Nginx uwsgi supervisor环境搭建 文章目录Ubuntu-20.04 Flask Nginx uwsgi supervisor环境搭建实施步骤a. python的版本设定b. 安装Nginx安装Nginx过程,有可能需要依赖的库Nginx 基本配置c. 安装...

    Ubuntu-20.04 Flask Nginx uwsgi supervisor环境搭建


    最近花了三天时间从零开始,为实现建站的技能,从注册域名,租云服务器,各种插件的安装配置,百度了许多许多资料,看前辈的经验跨过很多坑,但还是有很多坑等着我去填。

    看到一句这样的话印象很深刻,机器本来是0和1的两种状态,但是因为每个人的当前使用环境不同,就发生了千差万别的不同,导致的是埋下了一个又一个的坑。

    虽然我看了很多网上的详细资料,但是就没有一篇文章是可以使我顺利将环境搭建好的,因为从小白开始,就已经注定了必须脑补一切知识,很多坑就是不明白不透彻挖下的。

    好,三天的沉默让我说了很多废话。开始正题…

    实施步骤

    看了网上资料,不经一番实践,永远找不出合适自己的步骤。依葫芦画瓢总会有些出入导致失败。

    安装第三方包的过程中,会有安装不成功,依赖其它包的,以及各种因为pip版本的问题 ,这些都在网上容易找到答案。

    但我自认为发现了一些坑,以及最需要重视的部分,那就是实施的思路,一个清晰的思路可以避免浪费大浪时间在反复测试中来寻求答案。以将此分享。

    a. python的版本设定

    在Ubuntu系统中python2 和 python3是同时存在的,为避免后续安装第三方包,导致安装路径的问题,提取设定好python默认使用版本。

    # 更改系统默认的python版本
    cd /user/bin
    rm python
    ln -s python3.8 python  # 改为默认3.8版本
    

    b. 安装Nginx

    具体Nginx是做什么用的可以百度,可以得到详细的解答。
    我这里为什么第二步安装Nginx,可以提前自动创建 web 项目路径

    默认位置为

    /var/www/html

    若安装成功,浏览器输入服务器的ip地址可以看到关于Nginx的内容

    sudo nginx -t # 命令测试是否安装成功

    安装Nginx过程,有可能需要依赖的库

    apt-get install libpcre3 libpcre3-dev
    apt-get install zlib1g-dev
    apt-get install openssl
    

    Nginx 基本配置

    cd /etc/nginx/sites-enabled  #  进入目录,里面有个default配置文件。
    # 注意:以下都在此目录下进行:
    # 修改里面的配置文件信息
    

    一定要注意,网上有许多配置信息都添加了备注,导致配置文件验证错误,无法启动。

    在修改配置文件前,测试重启下Nginx是否正常

    sudo service nginx restart
    不报错表示正常启动

    先备份default配置文件,在修改。

    cp default default.bat
    以下为基本配置文件,需要根据个人域名和项目目录修改。

    server {
    
    listen 80;
    server_name www.dxkj.space;
    charset      utf-8;
    client_max_body_size 75M;
    
    location / {
    
        root /var/www/web;
    
        include uwsgi_params;
    
        uwsgi_pass 127.0.0.1:8000;
    
        uwsgi_param UWSGI_PYTHON /var/www/web/venv;
    
        uwsgi_param UWSGI_CHDIR /var/www/web;
    
        uwsgi_param UWSGI_SCRIPT app:app;
    
          }
    
    }
    

    c. 安装虚拟机环境 virtualenv

    这部分不会有多大问题,没有调试配置部分,比较容易实现

    sudo  pip install virtualenv  # 安装虚拟环境
    sudo pip install virtualenvwrapper  #  虚拟环境封装包,有可能安装不成功,但不影响环境搭建
    
    # 敲黑板,以下的步骤都在此根节点上操作
    cd /var/www/xxx  # 进入项目根节点
    
    # 导入项目文件
    # Git命令克隆项目包
    git htpps://gitee.com/xxxx/xxx.git
    # 或者通过 filezilla 等其它远程传输软件
    
    virtualenv -p /usr/bin/python3.8 venv  # 创建指定的python版本虚拟环境
    
    

    虚拟环境操作命令

    source venv/bin/activate   # 进入虚拟环境
    deactivate  # 退出虚拟环境
    

    d. 安装uwsgi

    值得提醒的地方,在系统根目录下安装安装一遍 uwsgi
    然后进入虚拟目录,再安装一遍 uwsgi

    安装uwsgi前,安装依赖包

    sudo apt-get install build-essential python-dev

    uwsgi 基本配置文件

    进入项目根目录,创建uwsgi.ini 配置文件

    cd /var/www/xxx
    touch uwsgi.ini
    

    配置文件如下:

    [program:uwsgi]
    command=uwsgi --ini /var/www/web/uwsgi.ini
    stopsignal=QUIT
    autostart=true 
    autorestart=true
    stdout_logfile=/var/www/web/supervisor.log 
    stderr_logfile=/var/www/web/supervisor_err.log
    
    

    验证uwsgi配置是否正确

    启动uwsgi后,再次浏览器访问服务器ip,看是否显示项目内容
    注意:若Nginx配置的是域名,则用域名打开 。

    # uwsgi 启动 与 停止
    uwsgi -d --ini uwsgi.ini     #或者  uwsgi uwsgi.ini  
    sudo killall uwsgi
    

    e. 安装supervisor守护进程

    sudo apt-get install supervisor

    配置文件

    cd /etc/supervisor  # 配置文件路径
    cd conf.d/  # 进入子配置文件目录
    

    注意:网上看到的信息,一般误以为是直接修改 supervisord.conf,这是一个大坑。

    应该是在子配置文件 conf.d目录中创建 xxx.ini 配置文件

    [program:uwsgi] 
    command = uwsgi --ini /var/www/web/uwsgi.ini  
    stopsignal=QUIT 
    autostart=true 
    autorestart=true 
    stdout_logfile=/var/log/uwsgi/supervisor_chihu.log 
    stderr_logfile=/var/log/uwsgi/supervisor_chihu_err.log 
    

    然后将 xxx.ini配置文件添加到 supervisord.conf 中

    cd /etc/supervisor/
    vim supervisord.conf
    

    在文件末尾添加如下信息:将前面的分号去掉

    [include]
    files = relative/directory/*.ini /etc/supervisor/conf.d/web.ini
    

    注意:每次配置前进行软件重启,验证配置前是可以正常运行的,以方便排查错误。

    supervisorctl reload # 重启

    以上节奏都OK的话,就能够顺利访问浏览器。
    可以输入进程查看命令,查看是否都启动。

    ps ax|grep nginx
    ps ax|grep uwsgi  # 关键是让它能自动启动
    ps ax|grep supervisord
    
    展开全文
  • 使用supervisord nginx uwsgi falsk 构建python项目 示例使用:supervisord nginx uwsgi falsk 构建 安装supervisor apt-get install supervisor supervisor默认会在supervisord.conf中include 配置 ps:路径可能会在/...
  • 使用supervisord nginx uwsgi falsk 构建python项目 示例使用:supervisord nginx uwsgi falsk 构建 安装supervisor apt-get install supervisor supervisor默认会在supervisord.conf中include 配置 ps:路径可能会在/...
  • 由于项目需求,需要接入高并发和域名,根据市场调研,最终决定使用uwsgi+nginx uwsgi官网介绍: uWSGI 是一个(巨大的) C 应用,所以你需要一个 C 编译器(比如 gcc 或者 clang)和 Python 开发版头文件。 首先安装...
  • Nginx Uwsgi 代理Python

    2019-12-12 21:04:10
    1.Nginx+Uwsgi+Django 项目整体架构图 2.Uwsgi代理配置场景 步骤一、安装python3的环境 步骤二、安装Django框架、Uwsgi 步骤三、单独测试Django与Uwsgi是否正常 步骤四、配置项目,使用项目以Uwsgi方式启动 步骤五...
  • python nginx uwsgi 解决upstream prematurely且设置keepalive_timeout不起作用
  • 在 Ubuntu 14.x 搭建 Nginx Uwsgi Django 环境之:Uwsgi的安装
  • 个人技术博客地址:http://songmingyao.com/ 从零开始在 Ubuntu 下部署 Nginx uWSGI Django 服务器
  • nginx安装: apt-get install nginx uwsgi安装: pip install uwsgi sudo apt-get install uwsgi-plugin-python #解决python与uwsgi兼容问题,配合uwsgi中plugins = python使用 nginx配置: 打开nginx配置...
  • nginx uwsgi 配置

    2019-10-12 17:36:10
    环境 ...uwsgi安装 $ source activate py3.6 $ conda install -c anaconda icu $ pip install uwsgi $ uwsgi --version //# 报错 libpcre.so.1: cannot open shared object file: No such...
  • ubuntu nginx uwsgi flask环境搭建

    千次阅读 2013-01-06 10:44:22
    #升级系统  apt-get update ...apt-get -y install nginx uwsgi #安装python falsk 环境搭建 apt-get -y install uwsgi uwsgi-plugin-python python-imaging python-pip mongodb pip install flask...
  • nginx uwsgi_pass 与proxy_pass 获取真实IP地址的正确方式proxy_pass 方式uwsgi_pass 方式 proxy_pass 方式 proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_...
  • 有太多的文章告诉我们nginx uwsgi django 这些东西怎么用了,太多的人知道这些东西的怎么使用,怎么配置,怎么优化,但是还是有一部分人比如我这种水货不知道这些东西到底是啥,为啥一个项目的发布要经过这么多层级...
  • VUE + NGINX+ UWSGI部署web项目 编辑/etc/nginx下的nginx.conf文件如下 第二部编辑/etc/nginx/conf.d下的nginx.conf文件如下 *location /{}*以下的是配置vue的内容
  • 我遇到了问题.我有一个python脚本.你可以称之为CGI脚本....我在uwsgi wiki上使用了第一个例子来确认我已经正确配置了nginx,它可以与uwsgi进行通信.像魅力一样工作.现在我的并发症:我的脚本是前一段时间编写的,不是...
  • 安装Nginxuwsgi 配置Nginxuwsgi 坑1:Nginx不能重启 坑2:uwsgi报错205 1、安装Nginxuwsgi 1.1安装Nginx # root apt-get install nginx # start stop restart status systemctl start nginx ...
  • centos python nginx uwsgi

    2019-09-25 16:06:56
    先更新系统,并安装编译环境等等。 yum update yum install python python-devel libxml2 libxml2-devel python-setuptools zlib-devel wget openssl-devel pcre pcre-devel sudo gcc make ...首先 安装uwsgi 本...
  • 0\theories client ----------- nginx ----------------- uwsgi ----------- python ...sudo aptitude install nginx uwsgi python ... python-setuptools easy_install web.py 2\ setting 2
  • Centos7 nginx uwsgi Django

    2019-06-12 09:43:30
    (1)安装python3:https://blog.csdn.net/qq_36288025/article/details/82534508 (2)解决python3安装后yum运行有错: ...(3)安装uwsgi:pip install uwsgi (4)安装nginx:...
  • 重新启动NGINX重新加载网站配置文件1nginx -s reload 重新启动uWSGI123ps -ef | grep uwsgikill -9 [pid]uwsgi --ini uwsgi.ini 我是直接杀死进程然后重新运行的,也可以将uWSGI运行的PID存入到文件中,然后通过...
  • 在这里配个图让我们更好理解uwsgi; 1.环境 Centos7 nginx/1.16.0 Python 3.6.6 uwsgi:2.0.18 Django==2.1.7 2.下载 1️⃣下载python 具体步骤参考之前博客 如何下载python 主要是要用pip3(相当于yum) 2...
  • nginx配置 nginx下载 sudo apt-get install nginx nginx使用 service nginx stop service nginx start service nginx restart 添加虚拟主机,实现nginx访问,在/etc/nginx/sites-available下...
  • 1 、首先nginx 是对外的服务接口,外部浏览器通过url访问nginx, ...如果不是静态文件,而是一个动态的请求,那么nginx就将请求转发给uwsgi,uwsgi 接收到请求之后将包进行处理,处理成wsgi可以接受的格式...
  • 为啥一个项目的发布要用 uwsginginx ?他们的关系是什么? 首先nginx 是对外的服务接口,外部浏览器通过url访问nginx, nginx 接收到浏览器发送过来的http请求,将包进行解析,分析url,如果是静态文件请求就...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,275
精华内容 4,510
关键字:

nginxuwsgi