flaskuwsginginx部署文檔-創(chuàng)新互聯(lián)

  1. 系統(tǒng)包安裝

    創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比山東網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式山東網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋山東地區(qū)。費用合理售后完善,十多年實體公司更值得信賴。

# 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"

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)站欄目:flaskuwsginginx部署文檔-創(chuàng)新互聯(lián)
網(wǎng)頁URL:http://www.muchs.cn/article38/piesp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、網(wǎng)站建設(shè)、定制網(wǎng)站、微信小程序、網(wǎng)站導(dǎo)航App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營