系统包安装
创新互联-专业网站定制、快速模板网站建设、高性价比山东网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式山东网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖山东地区。费用合理售后完善,十多年实体公司更值得信赖。# 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"
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网站栏目:flaskuwsginginx部署文档-创新互联
网页URL:https://www.cdcxhl.com/article38/piesp.html
成都网站建设公司_创新互联,为您提供服务器托管、网站建设、定制网站、微信小程序、网站导航、App开发
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联