基于Microsoft Azure的服务器部署flask项目

【说明】注册使用Azure中国版1元试用账户,将已完成的课程设计项目直接部署到服务器上。

【步骤】

1. 创建虚拟机


部分区域资源可能已满不可用,尝试换其他区域;或者对当前帐号不提供该资源的服务。在这里插入图片描述
开放HTTP的80端口,后续的配置我选择默认不更改了。

2. 连接登录

  • Mac下右键终端,选择“新建远程连接”,使用Shell(ssh)方式连接,输入服务器地址、用户名、密码(虚拟机创建时设置的)连接进入虚拟机。
  • 进入命令界面后,使用 sudo su 命令切换回root权限。
  • 通过 apt-get update 命令,先更新apt相关源。
  • 注意下虚拟机的路径问题,管理用户的文件好像是在home文件下的。(隔太久有点记不清了,当时还因为文件路径问题搞晕了会)

3. 数据库安装

(前几个月时还能通过Azure账户直接使用现成的MySQL数据库服务,等到检查项目时发现不能用了,只能在虚拟机中安装数据库。)

  • 通过 apt-get install mysql-server mysql-client -y 命令安装MySQL(或者 sudo apt-get install mysql-server mysql-client 命令)
  • 输入root的密码
    在这里插入图片描述
  • mysql -u root -p 命令进入数据库,show variables like ‘%port%’; 命令查看数据库的端口,一般默认都是3306
    在这里插入图片描述
  • cd /etc/mysql/my.cnf 命令进入路径,vim my.cnf 命令修改mysqld.cnf,注释掉“bind-address"开放ip访问
    在这里插入图片描述
  • 数据库命令界面中 grant all on . to root@’%’ identified by ‘密码’ with grant option; 命令允许数据库连接,flush privileges; 刷新后 exit 退出
  • 回到Azure服务在虚拟机配置上开放3306端口!!!
  • 再重启mysql ,/etc/init.d/mysql restart

4. 编译环境搭建

  • apt-get install redis-server 安装redis
  • apt install python3-pip 安装python3的pip命令
    (apt-get install python-pip 和 apt-get install python3这两个命令当时记录下来,好像是当时报错了)
    (由于项目全部基于python3,之前服务器部署时默认的安装等设置是针对python2的,导致项目最后没通过编译之类的,再对python升级版本又很麻烦,所以直接从一开始就注意安装的python3 python3 python3)
  • pip3 install virtualenvpip3 install virtualenvwrapper 搭建虚拟环境
  • vim ~/.bashrc 命令更改bashrc配置,添加如下代码段
export WORKON_HOME=~/Envs 
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh

在这里插入图片描述

  • source ~/.bashrc 执行
    在这里插入图片描述
  • mkvirtualenv -p python3 py3_flask 创建名为py3_flask的虚拟环境
    生成虚拟环境时缺少了相关包pathlib2,pip3 install pathlib2 安装即可
    在这里插入图片描述
  • workon py3_flask 进入这个py3_flask虚拟环境(后续 项目上传后安装相关包 和 安装gunicorn后运行项目 都在该虚拟环境下)

5. 项目上传

  • 在pycharm的terminal中通过 pip freeze>requirements.txt 生成项目需要安装的包的文件
  • Mac下直接在终端使用“scp -r”命令将本地文件上传到虚拟机的目标文件夹下,回车输入密码即可
  • 虚拟机中在项目的requirements.txt路径下通过 pip3 install -r requirements.txt 命令直接安装项目需要的包

6. nginx和gunicorn配置

  • apt-get install nginx 安装nginx
  • vim /etc/nginx/sites-available/default 更改配置,添加代码段
proxy_pass http://127.0.0.1:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;

在这里插入图片描述

  • 上述配置后打开服务器的网页出现的是nginx的默认欢迎界面,vim /etc/nginx/nginx.conf 注释原配置的两行,新增自己刚刚更改的配置文件的一行否则配置文件不会生效
# include /etc/nginx/conf.d/*.conf;
# include /etc/nginx/sites-enabled/*;
include /etc/nginx/sites-available/*;

在这里插入图片描述

项目运行成功后,在浏览器上能查看项目网页

7. 项目停止运行重启等

  • 关闭进程
    pstree -ap|grep gunicorn 获取gunicorn进程的父PID(此前gunicorn命令运行项目时分配的5个进程,找到5个进程的父进程,树状图上最左侧),“kill -9 进程号"即可
  • 重新启动程序
    workon py3_flask 进入虚拟环境,gunicorn -w 5 -b 127.0.0.1:5000 app:app 重新运行程序
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值