flask应用部署到服务器的方法

flask是我学习的第一个python的web框架,在应用flask写完一个应用后,当然是把它部署到我们的服务器上了。

首先,准备我们部署项目所需要的部分

1.完整的flask项目

2.服务器,或者自己用虚拟机也行,我这里用的是腾讯云,ubuntu16.04

3. nginx,不知道是什么的,自行百度

首先,我们先在服务器上安装nginx,默认已经安装完毕。成功安装nginx的标志就是,浏览器访问该服务器,出现nginx欢迎字样。

1. 把项目打包传输到服务器,成功安装nginx后,会出现/var/www/html目录,将整个项目解压到/var/www/下面

2.我们还要配置好数据库,这里应用的是mysql,默认成功安装了,然后在mysql上创建相关的数据库,在终端进去到项目的根目录,下图是我的项目,目录结构如下,/var/www/mysite_flask

3.在进入到根目录后,执行

python manage.py migration

进行orm的模型映射

python manage.py upgrade

4.会发现在项目的根目录出现了一个migrations的目录,在数据库上也有了相应的表

5.终端上打开文件

vim /etc/nginx/sites-available/default

加入如下内容

server {
  listen 80;
  server_name localhost; #云服务器的公网地址
root /var/www/html;
location / { try_files $uri @app_name; }
location @app_name{
 include uwsgi_params;
 uwsgi_pass unix:/tmp/uwsgi.sock;
}
 }

5.终端来到项目根目录,执行

python manage.py runserver

会发现,项目已经运行起来了

这时候新开一个终端,uwsgi和nginx联立起来

还是来到项目根目录下,执行

uwsgi -s /tmp/uwsgi.sock -w myapp:isa

正常运行效果如下

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

6.在浏览器中输入服务器ip加上5000端口号,就能看见你的项目了

(0)

相关推荐

  • 如何使用Flask-Migrate拓展数据库表结构

    前言 在我们用 sqlchemy 模块创建完几个表时,如果在实际生产环境中,需要对表结构进行更改,应该怎么办呢?总不能把表删除了吧,这样数据就会丢失了. 更好的解决办法是使用数据库迁移框架,它可以追踪数据库模式的变化,然后把变动应用到数据库中. 在Flask中可以使用Flask-Migrate扩展,来实现数据迁移.并且集成到Flask-Script中,所有操作通过命令就能完成. 操作示例: 1.首先需要安装 flask-migrate 模块,当然还有 flask-script 模块. pip3

  • Python Flask前后端Ajax交互的方法示例

    之前总结过flask里的基础知识,现在来总结下flask里的前后端数据交互的知识,这里用的是Ajax 一. post方法 1.post方法的位置:在前端HTML里,绑定在一个按钮的点击函数里,或者一个鼠标输入框点击离开事件. (1)数据附在URL里(请求路径),发送到后端. /*前端HTML<script>里:*/ $.post("/js_post/"+ip, data_to_backend, function(data){alert("success "

  • Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程

    我们在升级系统的时候,经常碰到需要更新服务器端数据结构等操作,之前的方式是通过手工编写alter sql脚本处理,经常会发现遗漏,导致程序发布到服务器上后无法正常使用. 现在我们可以使用Flask-Migrate插件来解决之,Flask-Migrate插件是基于Alembic,Alembic是由大名鼎鼎的SQLAlchemy作者开发数据迁移工具. 具体操作如下: 1. 安装Flask-Migrate插件 $ pip install Flask-Migrate 2. 修改Flask App部分的代

  • python flask 如何修改默认端口号的方法步骤

    场景:按照github文档上启动一个flask的app,默认是用5000端口,如果5000端口被占用,启动失败. 样例代码: from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return 'Hello, World!' 启动的脚本: $ env FLASK_APP=hello.py flask run 出错信息如下: renjg@renjg-HP-Compaq-Pro-6380-MT:~/Wor

  • 一个基于flask的web应用诞生 bootstrap框架美化(3)

    经过上一章的内容,其实就页面层来说已结可以很轻松的实现功能了,但是很明显美观上还有很大的欠缺,现在有一些很好的前端css框架,如AmazeUI,腾讯的WeUI等等,这里推荐一个和flask集成很好的bootstrap框架 安装框架 在模板中直接引用bootstrap的CDN或者本地路径外,还可以直接应用flask的bootstrap集成包,首先需要对集成包进行安装: pip3.6 install flask-bootstrap 这是一个flask的扩展包,flask的所有扩展包默认默认的包名都为

  • python flask框架实现传数据到js的方法分析

    本文实例讲述了python flask框架实现传数据到js的方法.分享给大家供大家参考,具体如下: 首先要清楚后台和前端交互所采用的数据格式. 一般选JSON,因为和js完美贴合. 后台返回的数据进行序列化 在/homepageRecommend 路由的 view方法中返回序列化数据 dict = {"a":1, "b":2}<br data-filtered="filtered"> import json json.dumps(di

  • flask应用部署到服务器的方法

    flask是我学习的第一个python的web框架,在应用flask写完一个应用后,当然是把它部署到我们的服务器上了. 首先,准备我们部署项目所需要的部分 1.完整的flask项目 2.服务器,或者自己用虚拟机也行,我这里用的是腾讯云,ubuntu16.04 3. nginx,不知道是什么的,自行百度 首先,我们先在服务器上安装nginx,默认已经安装完毕.成功安装nginx的标志就是,浏览器访问该服务器,出现nginx欢迎字样. 1. 把项目打包传输到服务器,成功安装nginx后,会出现/va

  • 在ubuntu中部署samba服务器的方法

    Samba服务在Ubuntu服务器版本中默认并没有安装.今天公司上了一批新电脑,准备把它装成服务器,于是为了方便开发的使用,我在上面部署了一个samba,用来实现window和linux的联系: 具体步骤,我详细的查看了百度,高手云集,以下就是总结了网友的经验,现在记下来,以后有用就不用到处找了. 一. samba的安装: sudo apt-get install samba sudo apt-get install smbfs 二. 创建共享目录: mkdir /home/phinecos/s

  • 把vue-router和express项目部署到服务器的方法

    - 首先确定此项目在本地能够运行成功 在本地命令行中输入npm run start,无报错,且打开127.0.0.1:3000 有写的路由为/的页面,如图 此为文件层级关系 front为前端文件 xk3为后台express与数据库mysql链接的文件 用命令行进入后台并且运行,启动成功 这是路径为/的页面 在浏览器中输入路径http://localhost:3000/ 浏览器中显示WelCome to express 至此此项目在本地运行成功,我们现在就要放到服务器上. - 准备工作 此前服务器

  • vue、react等单页面项目部署到服务器的方法及vue和react的区别

    最近好多伙伴说,我用vue做的项目本地是可以的,但部署到服务器遇到好多问题:资源找不到,直接访问index.html页面空白,刷新当前路由404...用react做的项目也同样遇到类似问题.现在我们一起讨论下单页面如何部署到服务器? 由于前端路由缘故,单页面应用应该放到nginx或者apache.tomcat等web代理服务器中,千万不要直接访问index.html,同时要根据自己服务器的项目路径更改react或vue的路由地址. 如果说项目是直接跟在域名后面的,比如:http://www.so

  • vue-cli3项目打包后自动化部署到服务器的方法

    一.安装 scp2 npm install scp2 --save-dev 二.写好脚本 例如 upload.js (下面任选一个即可) 位置和 package.json平级即可. 简略版 'use strict' // 引入scp2 var client = require('scp2'); client.scp('./dist/', { // 本地打包文件的位置 "host": 'XXX.XX.XX.XXX', // 服务器的IP地址 "port": 'XX',

  • centos7安装部署gitlab服务器的方法

    我这里使用的是centos 7 64bit系统,我试过centos 64bit系统也是可以的 1. 安装依赖软件 yum -y install policycoreutils openssh-server openssh-clients postfix 2.设置postfix开机自启,并启动,postfix支持gitlab发信功能 systemctl enable postfix && systemctl start postfix 3.下载gitlab安装包,然后安装 centos 6系

  • vue项目打包部署到服务器的方法示例

    上上一篇我写过一些关于vue项目部署到linux服务器的文章,但是那是以node作为开发环境 pm2 守护进程的方式,让他能正常运行,可是还是出现了问题,因为属于与APP交互的页面,在webView中打开过慢,APP的用户体验非常的差,所以我查找了资料,改变了部署方式,接下来我介绍一下 这一次,我想Tomcat为例 我们先看一下Linux中 Tomcat下面的目录结构: 以vue-cli 搭建出来的手脚架 webpack的模板下的/config/index.js,这里可以看到assetsPubl

  • 在MyEclipse上部署Tomcat服务器的方法

    在上篇文章中给大家介绍了在Windows下安装Tomcat服务器,这篇博客将介绍在MyEclipse上部署Tomcat服务器 第一步:启动MyEclipse 第二步:选项Window->Preferences->MyEclipse->Severs->Tomcat->Tomcat7.x完成前面的所有操作后会进入下图所示的界面 第三步:将Tomcat 7.x server选项改成Enable 第四步:Tomcat base directory中的路径设置成Tomcat服务器的安装

  • 在Windows 7 上安装DNS服务器bind9方法详解

    本文主要介绍在WIN7上利用ntbind部署DNS服务器的方法.ntbind是Bind的Windows版本, 1.下载BIND9.11 下载地址:http://ftp.isc.org/isc/bind9/9.11.0rc3/. 我的系统是window 7 64位需要下载BIND9.11.0rc3.x64.zip,建议下载9.11以上的版本,老版本可能不支持Win7,下载时注意区分操作系统的位数. 2.安装BIND9.11 下载完成后,解压文件,点击BINDInstall.exe直接傻瓜式的安装

  • 详解J2EE开发的网站部署到阿里云服务器的方法

    呐呐呐,做Java呢,最重要是要把自己的"作品" 部署到公网上去啦. 特别是初学者,需要向面试官证明自己会什么,这个真的就很重要啦,空口无凭,为什么面试官就相信你的简历内容是真的呢? 最好的办法当然就是把作品放在公网上,show 他一脸啦 对于已经参加工作的同事,这个反倒是比较简单的,因为在工作中,部署一个项目无非就是通过ftp把.war(或者其他形式)传递上去,然后重启tomcat, 等一等就完成了. 可是,如果是学习者,比已经工作的人员面临的挑战更大,为什么呢? 因为手上没有一个已

随机推荐