A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

【转载】     https://blog.csdn.net/z1148059382/article/details/82830801                               
                                                                                                                                                                                                                                                   
本周目标:
一、使用XShell登录连接通过Vagrant所安装的CentOS
二、使用Pyenv,在Vagrant CentOS中安装Python3.6.6(CentOS默认安装的Python版本是2.7)
三、在Vagrant CentOS中编写一个简单的Python程序
四、编写一个简单的Python Flask Web程序,并部署到云服务器上
开始之前…在开始之前请确保您已完成如下配置:
  • 已购买阿里云提供的云服务器(ECS),并确保其能通过XShell连接。(关于使用XShell连接云服务器的方法请参考阿里云官方帮助文档)
  • 已安装Xftp(可便捷地管理云主机文件)
  • 已完成前几个实验
一、使用XShell登录连接通过Vagrant所安装的CentOS
  • 打开VirtualBox管理器,以无界面模式启动使用Vagrant安装的CentOS,直到其状态变为“正在运行”。
  • 打开XShell,连接该虚拟机。配置如下:
    主机:127.0.0.1
    端口:2222

二、使用Pyenv,在Vagrant CentOS中安装Python3.6.6(一)安装Pyenv
  • 进入XShell,连接虚拟机终端,root登录
  • 安装git:
    yum -y install git
  • 安装依赖包:
    yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
  • 安装pyenv包:
    mkdir ~/.pyenv
    git clone https://github.com/pyenv/pyenv.git ~/.pyenv
  • 定义环境变量:
    echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
    echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
  • 添加pyenv init到shell中:
    echo 'eval "$(pyenv init -)"' >> ~/.bashrc
  • 重启shell:
    exec $SHELL -l
  • 查看pyenv支持的全部Python版本,同时也用来测试是否安装成功:
    pyenv install --list
(二)使用Pyenv安装Python3.6.6
  • 安装pip:
    yum -y install epel-release
    yum -y install python-pip
    yum clean all
  • 安装好库文件:
    yum install zlib-devel bzip2-devel sqlite sqlite-devel openssl-devel
  • 安装gcc:
    yum install -y gcc
  • 安装Python3.6.6:
    pyenv install 3.6.6
  • 查看安装结果(处于激活状态的版本前以 * 标示):
    pyenv versions
  • 更新数据库
    pyenv rehash
  • 设置全局python版本(global)
    pyenv global 3.6.6
参考
pyenv命令列表
三、在Vagrant CentOS中编写一个简单的Python程序
  • python
  • print('HelloWorld!')
  • 按Ctrl+D可退出

参考
第一个Python程序 - 廖雪峰的官方网站
四、编写一个简单的Python Flask Web程序,并部署到云服务器上以下操作在Windows中完成:
(一)在本地使用python flask搭建一个简单的web应用(1)安装virtualenv(可避免各项目的不同依赖包污染系统环境)
  • 以管理员身份打开cmd
  • 更新pip(可选):python -m pip install --upgrade pip
  • 通过pip安装virtualenv:pip install virtualenv
(2)实现一个简单的Python Flask Web程序由于本次实验仅要求搭建一个简单的Python Flask Web程序,为了快速理解flask基本流程,可使用方法一快速部署一个Flask Web程序,也可以使用PyCharm在virtualenv虚拟环境下创建一个完整的Flask Web程序。
方法一:直接完成一个简单的flaskApp部署(全局环境安装flask)操作步骤请参考此文:
参考
python flask几分钟实现web服务 - CSDN博客
注意
  • 第3步“简单的服务器代码”中编写的main.py可直接使用记事本写,保存后将后缀名改成.py即可
  • 第4步“设置FLASK_APP路径并启动服务器程序”请先直接在cmd使用cd命令进入main.py所在的文件夹,再直接用如下代码即可设置:
    set FLASK_APP=main.py
方法二(未完成):使用PyCharm搭建一个完整的flaskApp(使用virtualenv虚拟环境)
  • 使用PyCharm创建一个Flask应用程序,此处可直接使用一个新的virtualenv虚拟环境,如下图所示:
  • 打开PyCharm的终端(Terminal)窗口,即可直接在此窗口中用pip安装项目依赖。现在我们先安装flask:
    pip install flask
  • 。。。//正在施工。。。
参考
virtualenv介绍及基本使用 - CSDN博客
python flask搭建web应用 - CSDN博客
windows环境下使用virtualenv对python进行多版本隔离 - 丰泽园的天空 - 博客园
(二)将python flask搭建的web应用部署到云服务器上(使用virtualenv虚拟环境)
  • 打开XShell,以root用户身份连接到你的云服务器(云服务器使用CentOS7.4系统)
  • 更新系统应用:
    yum -y update
  • 安装epel扩展源:
    yum -y install epel-release
  • 安装pip:
    yum -y install python-pip
  • 更新pip:
    pip install --upgrade pip
  • 安装virtualenv:
    pip install virtualenv
  • 测试是否安装成功:
    virtualenv -h
  • 安装wget:
    yum -y install wget
  • 安装Python3.6.6:
    CentOS安装Python可参考此文:linux-Centos7安装python3并与python2共存 - JahanGu - 博客园
注意
  • 务必先安装wget:yum -y install wget
  • 此文安装的版本为3.6.2,记得将他的命令中的所有“3.6.2”替换成“3.6.6”
  • 出现[y/N]时直接敲y,回车即可
  • 安装Nginx:
    yum -y install openssl-devel
    yum -y install nginx
  • 启动Nginx:
    service nginx start
  • 使用浏览器输入云主机服务器地址,出现如下画面即表示已成功安装Nginx:

注意:如果浏览器显示“拒绝访问”,请检查云服务器控制台的安全组规则,放通全部入站端口

  • 创建虚拟环境::virtualenv [指定虚拟环境的python版本] [虚拟环境名称]。
    virtualenv --python=python env1
    cd env1/
    source bin/activate
    python -V
    注:此处直接指定Python版本为“python”是因为之前已将系统python命令链接到python3.6.6
  • 安装flask:
    pip install flask
  • 安装Gunicorn:
    pip install gunicorn
  • 此时可将你创建的Flask项目使用Xftp等工具上传到env1文件夹:
    XShell连接云服务器后点击“新建文件传输按钮”,将本地项目文件拖拽上传即可

此处我直接在env1下创建一个简单的flask应用"test.py":(vi test.py,再按i进入插入模式,完成后按esc,冒号,wq,回车)
from flask import Flaskapp = Flask(__name__)@app.route('/')def hello_world():   return "hello world"@app.route('/hello')def hello111():   return hello()if __name__=='__main__':   app.run()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 使用gunicorn运行基于flask的test.py文件
    gunicorn -w 4 test:app -b 0.0.0.0:8080
  • 使用浏览器访问ip地址:8080,出现以下页面,则部署成功:



全文地址请点击:https://blog.csdn.net/z114805938 ... 801?utm_source=copy

1 个回复

倒序浏览
奈斯
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马