【Linux Ubuntu】pythonanywhere部署Flask Web网站

解决Pythonanywhere大文件(>100M)上传的问题

  • 先分卷解压成A.zip B.z01 C.z02
  • 然后上传至服务器
  • 合并之后再解压
# 1.先合并文件
cat test.z* > testall.zip
# 2.解压
unzip testall.zip
# 3.删除zip文件
rm test.zip
rm test.z01
rm test.z02

压缩包文件上传并解压

【Linux Ubuntu】pythonanywhere部署Flask Web网站_第1张图片

# 1.进入目录
cd /home/XXXXX/website
# 2.解压
unzip house.zip
# 3.删除zip文件
rm house.zip

创建虚拟环境

$ cd
$ virtualenv --python=python3.6 flaskenv

$ source flaskenv/bin/activate
(flaskenv)~$ pip list
(flaskenv)~$ pip install flask
(flaskenv)~$ pip install flask-sqlalchemy
(flaskenv)~$ pip install flask-moment
(flaskenv)~$ pip install flask-bootstrap

创建web应用

点击web选项卡,然后 Add a new web app >> manual configuration >> python 3.6 >> next

【Linux Ubuntu】pythonanywhere部署Flask Web网站_第2张图片

配置web应用,设置Code中的源代码目录Virtualenv中的虚拟环境目录

【Linux Ubuntu】pythonanywhere部署Flask Web网站_第3张图片

打开WGSI configuration file,将里面的代码全部替换为:

import sys
path = '/home/yourusername/mysite'
if path not in sys.path:
   sys.path.insert(0, path)

from flask_app import app as application

我的文件目录结构是:

【Linux Ubuntu】pythonanywhere部署Flask Web网站_第4张图片

在web选项卡上面Reload之后 然后进入网址就能访问了~

 

注意:

在flask_app启动文件中,不能直接写下面的代码,因为pythonanywhere不认这些

app.run(host='127.0.0.1',port=8000,debug=True)

 需要将其改为if __name__=='__main__'的样式,因为pythonanywhere不会进入main()

app = Flask(__name__)

@app.route('/')
def home():
    # etc etc, flask app code

if __name__ == '__main__':
    app.run()

 

参考:

1.https://help.pythonanywhere.com/pages/Flask/

你可能感兴趣的:(Ubuntu,Python)