安装python2
yum install python -y
curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python get-pip.py
pip install -U pip
安装python3
yum update
yum -y install python3
rm -f /usr/bin/python
ln -s /usr/bin/python3.6 /usr/bin/python
#为防止yum出问题需要调整以下内容
/usr/bin/yum文件中#!/usr/bin/python替换为#!/usr/bin/python2
/usr/libexec/urlgrabber-ext-down文件中#!/usr/bin/python替换为#!/usr/bin/python2
安装flask
# python2
pip install flask
# python3
pip3 install flask
HttpServer启动脚本
设置coding utf-8兼容中文
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from flask import Flask, redirect, url_for, request, render_template, make_response
import os
import sys
app = Flask(__name__)
@app.route('/')
def index():
return "Hello, World!"
# 映射/doSync
@app.route('/doSync')
def sync_doc():
path = request.path
#print(request.args.get("app"))
val = os.system('bash /opt/showdoc/syncshowdoc.sh && bash /opt/gitbook/build.sh')
return path
# 动态URL
@app.route('/hello/<name>')
def hello_name(name):
return 'Hello %s!' % name
@app.route('/blog/<int:postID>')
def show_blog(postID):
return 'Blog Number %d' % postID
@app.route('/rev/<float:revNo>')
def revision(revNo):
return 'Revision Number %f' % revNo
@app.route('/admin')
def hello_admin():
return 'Hello Admin'
@app.route('/guest/<guest>')
def hello_guest(guest):
return 'Hello %s as Guest' % guest
# 请求转发
@app.route('/user/<name>')
def hello_user(name):
if name == 'admin':
return redirect(url_for('hello_admin'))
else:
return redirect(url_for('hello_guest', guest=name))
# post方法
@app.route('/login', methods=['POST', 'GET'])
def login():
if request.method == 'POST':
user = request.form['nm']
return redirect(url_for('success', name=user))
else:
user = request.args.get('nm')
return redirect(url_for('success', name=user))
# 返回HTML网页
@app.route('/')
def student():
return render_template('student.html')
@app.route('/result', methods=['POST', 'GET'])
def result():
if request.method == 'POST':
result = request.form
return render_template("result.html", result=result)
@app.route("/set_cookies")
def set_cookie():
resp = make_response("success")
resp.set_cookie("w3cshool", "w3cshool", max_age=3600)
return resp
# 处理cookie
@app.route("/get_cookies")
def get_cookie():
cookie_1 = request.cookies.get("w3cshool") # 获取名字为Itcast_1对应cookie的值
return cookie_1
@app.route("/delete_cookies")
def delete_cookie():
resp = make_response("del success")
resp.delete_cookie("w3cshool")
return resp
if __name__ == '__main__':
#app.run(host='127.0.0.1',port=4000)
app.run(host='0.0.0.0', debug=True)
启动服务
# 传统的Python项目启动
python app.py
# 传统启动与flask启动相结合
python -m flask run -p 5000 -h 127.0.0.1
# 纯flask启动方式
export FLASK_APP=app.py
export FLASK_ENV=development
flask run -p 5000 -h 127.0.0.1