中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

flask uwsgi nginx 部署文檔

發布時間:2020-06-23 08:25:03 來源:網絡 閱讀:3807 作者:pgmia 欄目:建站服務器
  1. 系統包安裝

# more /etc/redhat-release 

CentOS Linux release 7.3.1611 (Core) 

#

# yum install epel-release

# yum install -y nginx

# yum install -y uwsgi

# yum install -y uwsgi-plugin-python


2.python packets


1). setuptools


# wget https://pypi.python.org/packages/a9/23/720c7558ba6ad3e0f5ad01e0d6ea2288b486da32f053c73e259f7c392042/setuptools-36.0.1.zip#md5=430eb106788183eefe9f444a300007f0

# ll

# yum install -y unzip

# unzip setuptools-36.0.1.zip 

# cd setuptools-36.0.1

# ls

# python setup.py install

# cd ..



2).ez_setup


# wget https://pypi.python.org/packages/ba/2c/743df41bd6b3298706dfe91b0c7ecdc47f2dc1a3104abeb6e9aa4a45fa5d/ez_setup-0.9.tar.gz

# ls

# tar zxvf ez_setup-0.9.tar.gz 

# cd ez_setup-0.9

# ls

# python setup.py install

# cd ..


3). pip

# easy_install pip


4).Flask

# pip install Flask


5).virtualenv

# pip install virtualenv


3.app configuration


1).web app

# cd /opt/

# ls

# mkdir app

# ls

# useradd webapp

# chown webapp.webapp app

# su - webapp

$ cd /opt/app

$ vi app.py

from flask import Flask

app = Flask(__name__)


@app.route("/")

def index():

    return "hello,Flask web app."



if __name__ == "__main__":

    app.run('0.0.0.0', port=3333, debug=True)


$ vi website.py


import sys 

import os.path 

sys.path.insert(0, os.path.dirname(__file__)) 

from app import app as application


$ virtualenv --no-site-packages env

$ . env/bin/activate

$ pip install flask 

$ python app.py 


2).uwsgi configuration


$ mkdir -p uwsgi/apps-enabled

$ vi uwsgi/apps-enabled/app.ini

 

[uwsgi]

buffer-size = 32768

plugins = python

socket = 127.0.0.1:5000

threads = 2

master = true

uid = webapp

gid = webapp

chdir = /opt/app/

home = /opt/app/env/

pp = ..

module = website

 

3).nginx configuration


$ mkdir -p nginx/sites-enabled

$ vi nginx/sites-enabled/app.conf


upstream flask {

     server 127.0.0.1:5000;

 }  


# configuration of the server 

server {     

    # the domain name it will serve for     

    listen 8080; 

    # This is very important to test the server locally     

    server_name _; 

    # substitute your machine's IP address or FQDN     

    charset     utf-8;

    location / {

         uwsgi_pass  flask;

         include uwsgi_params;     

    } 

}


$ exit


嵌入nginx配置文件


[root@localhost ~]# vi /etc/nginx/nginx.conf

# For more information on configuration, see:

#   * Official English Documentation: http://nginx.org/en/docs/

#   * Official Russian Documentation: http://nginx.org/ru/docs/


user nginx;

worker_processes auto;

error_log /var/log/nginx/error.log;

pid /run/nginx.pid;


# Load dynamic modules. See /usr/share/nginx/README.dynamic.

include /usr/share/nginx/modules/*.conf;


events {

    worker_connections 1024;

}


http {

    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;

    tcp_nodelay         on;

    keepalive_timeout   65;

    types_hash_max_size 2048;


    include             /etc/nginx/mime.types;

    default_type        application/octet-stream;


    # Load modular configuration files from the /etc/nginx/conf.d directory.

    # See http://nginx.org/en/docs/ngx_core_module.html#include

    # for more information.

    include /etc/nginx/conf.d/*.conf;


    ###### python web app new add #####

    include /opt/app/nginx/sites-enabled/app.conf;


    server {

        listen       80 default_server;

        listen       [::]:80 default_server;

        server_name  _;

        root         /usr/share/nginx/html;


        # Load configuration files for the default server block.

        include /etc/nginx/default.d/*.conf;


        location / {

        }


        error_page 404 /404.html;

            location = /40x.html {

        }


        error_page 500 502 503 504 /50x.html;

            location = /50x.html {

        }

    }


# Settings for a TLS enabled server.

#

#    server {

#        listen       443 ssl http2 default_server;

#        listen       [::]:443 ssl http2 default_server;

#        server_name  _;

#        root         /usr/share/nginx/html;

#

#        ssl_certificate "/etc/pki/nginx/server.crt";

#        ssl_certificate_key "/etc/pki/nginx/private/server.key";

#        ssl_session_cache shared:SSL:1m;

#        ssl_session_timeout  10m;

#        ssl_ciphers HIGH:!aNULL:!MD5;

#        ssl_prefer_server_ciphers on;

#

#        # Load configuration files for the default server block.

#        include /etc/nginx/default.d/*.conf;

#

#        location / {

#        }

#

#        error_page 404 /404.html;

#            location = /40x.html {

#        }

#

#        error_page 500 502 503 504 /50x.html;

#            location = /50x.html {

#        }

#    }


}


[root@localhost ~]# 



4.啟動uwsgi


[root@localhost soft]# uwsgi --ini /opt/app/uwsgi/apps-enabled/app.ini 

[uWSGI] getting INI configuration from /opt/app/uwsgi/apps-enabled/app.ini

*** Starting uWSGI 2.0.14 (64bit) on [Fri Jun  2 17:16:49 2017] ***

compiled with version: 4.8.5 20150623 (Red Hat 4.8.5-11) on 13 January 2017 23:06:53

os: Linux-3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016

nodename: localhost.localdomain

machine: x86_64

clock source: unix

pcre jit disabled

detected number of CPU cores: 1

current working directory: /home/soft

detected binary path: /usr/sbin/uwsgi

setgid() to 1001

setuid() to 1001

chdir() to /opt/app/

your processes number limit is 3862

your memory page size is 4096 bytes

detected max file descriptor number: 1024

lock engine: pthread robust mutexes

thunder lock: disabled (you can enable it with --thunder-lock)

uwsgi socket 0 bound to TCP address 127.0.0.1:5000 fd 3

Python version: 2.7.5 (default, Nov  6 2016, 00:28:07)  [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)]

Set PythonHome to /opt/app/env/

Python main interpreter initialized at 0x12128e0

python threads support enabled

your server socket listen backlog is limited to 100 connections

your mercy for graceful operations on workers is 60 seconds

mapped 280832 bytes (274 KB) for 2 cores

*** Operational MODE: threaded ***

added ../ to pythonpath.

WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x12128e0 pid: 15167 (default app)

*** uWSGI is running in multiple interpreter mode ***

spawned uWSGI master process (pid: 15167)

spawned uWSGI worker 1 (pid: 15172, cores: 2)



5.啟動nginx


# nginx


6.訪問


瀏覽器"http://server-ip:8080"

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兰溪市| 蛟河市| 门源| 广饶县| 漠河县| 桂林市| 潜山县| 会东县| 明水县| 大洼县| 龙井市| 桓台县| 凉城县| 通渭县| 贵南县| 耿马| 荆州市| 临海市| 滦平县| 雅江县| 鲁山县| 通辽市| 大竹县| 波密县| 葵青区| 黄龙县| 子洲县| 盘山县| 彭山县| 察隅县| 宾阳县| 斗六市| 汾阳市| 东乡县| 长治市| 封丘县| 谷城县| 嵊泗县| 奉化市| 彭水| 舞钢市|