在AWS的Linux服务器部署Flask预演(详细步骤)

 更新时间:2023年05月19日 11:30:04   作者:圈圈圈小明  
这篇文章主要介绍了在AWS的Linux服务器部署Flask预演,部署Flask应用程序到AWS Linux服务器,你可以选择多种方式,本文分步骤给大家介绍的非常详细,需要的朋友可以参考下

我的开发环境是python3.11

以下资料来自对GPT回答的整合:

部署Flask应用程序到AWS Linux服务器,你可以选择多种方式。下面是一个基本的步骤,这个步骤假设你已经在AWS上设置好了一个EC2 Linux服务器实例并且你有SSH连接到服务器的权限。

1. **SSH连接到你的EC2实例**

你可以通过下面的命令连接到你的服务器。在这里,`<your.pem>`是你的私钥文件,`<user>`是服务器的用户,通常在Linux上是`ec2-user`或者`ubuntu`,`<public_dns>`是服务器的公共DNS地址。

ssh -i <your.pem> <user>@<public_dns>

这里采用了命令方式连接服务器,也可以采用xshell

2. **安装必要的软件**

你需要Python和pip。你可以通过下面的命令安装:

sudo yum update
sudo yum install python3 pip3

因为我的开发环境是python3.11,所以,各自分别安装。以下具体的安装python3.11的方法:

实际上,Python 3.11 可能不会直接包含在你的 Linux 发行版的仓库中,尤其是如果你使用的是一个较旧或者长期支持(LTS)版本的发行版。你可以使用`yum`检查可用的Python版本:

sudo yum list | grep python3

如果Python 3.11没有在列表中,你可能需要使用其他方法来安装它,例如从源码安装或使用`pyenv`。假设我们要使用`pyenv`来安装Python 3.11,你可以按照以下步骤进行:

2.1. 首先,安装`pyenv`的依赖:

 sudo yum install -y git gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel findutils

2.2. 然后,安装`pyenv`:

curl https://pyenv.run | bash

然后,将以下行添加到`.bashrc`:

export PATH="/home/username/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

然后,应用更改:

source ~/.bashrc

2.3. 现在,你可以安装Python 3.11:

pyenv install 3.11.0

2.4. 然后,将其设置为全局默认版本:

pyenv global 3.11.0

2.5. 检查你的Python版本,确认更改已生效:

python --version

2.6. 现在你可以安装pip:

python -m ensurepip --upgrade

【添加软连接】

ln -s /usr/local/python3/bin/python3 /usr/bin/python3

报错文件存在,删除现有链接再执行添加软连接

rm /usr/bin/python3
ln -s /usr/local/python3/bin/python3 /usr/bin/python3

【添加pip3软连接】

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

报错文件存在,直接删除现有链接再创建新链接

rm /usr/bin/pip3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

3. **设置Python虚拟环境**

 【创建站点目录 】

mkdir /var/www

进入目录

cd /var/www

 【创建项目目录】

mkdir mysite

你可以使用git来把你的Flask应用从你的代码库中拉到服务器上。

git clone <your_repository_link>
cd <your_repository_folder>

【安装uwsgi】(在虚拟环境中安装)

pip3 install uwsgi

使用Python虚拟环境是一个好习惯,它可以防止你的Python库在不同项目间相互冲突。你可以用下面的命令创建和激活虚拟环境:

python3 -m venv venv
source venv/bin/activate

【虚拟环境下安装Flask 】

pip3 install flask

4. **在你的服务器上克隆你的Flask应用**

你可以使用git来把你的Flask应用从你的代码库中拉到服务器上

git clone <your_repository_link>
cd <your_repository_folder>

5. **安装你的Flask应用的依赖**

你应该在你的Flask应用的根目录下有一个`requirements.txt`文件,这个文件列出了你的应用所有的依赖。你可以用下面的命令安装所有依赖:

pip3 install -r requirements.txt

6. **运行你的Flask应用**

现在你可以运行你的Flask应用了。默认的Flask命令是:

flask run

这样做只会在你的服务器的本地运行你的应用,要让你的应用可以被公网访问,你可以设置`host`参数为`0.0.0.0`:

flask run --host=0.0.0.0

【更改访问】

python app.py runserver -h 0.0.0.0 -p 5000 -d

需要把上述的运行设置成后台运行,否则关闭了虚拟环境窗口,浏览器就不能访问了

python app.py  runserver -h 0.0.0.0 5000 -d &

注意你应该在AWS的安全组设置中打开你的Flask应用监听的端口,否则你的应用是无法被访问的。

这只是最基本的设置,生产环境中你可能需要更复杂的设置,例如使用Nginx做反向代理,使用Gunicorn作为WSGI服务器,以及设置环境变量等等。以上步骤可以作为你的起点,然后你可以根据你的需求进行调整和优化。

【其他命令】

切换到root用户

sudo -s

删除文件夹

rm -rf 文件夹  

查文件、文件夹

find /. -name 'Python-3.9*' -type d

创建虚拟环境(在站点中)

python3 -m venv venv

进入虚拟环境

cd venv/bin/source activate

离开虚拟环境

deactivate

到此这篇关于在AWS的Linux服务器部署Flask预演的文章就介绍到这了,更多相关Linux服务器部署Flask内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Apache Airflow 快速入门教程应用场景分析

    Apache Airflow 快速入门教程应用场景分析

    ApacheAirflow是一个用于编排、调度和监控工作流的开源平台,适用于ETL和MLOps用例,它通过有向无环图(DAG)定义管道,支持任务依赖关系、调度、错误处理和日志记录,本文介绍Apache Airflow 快速入门教程,感兴趣的朋友一起看看吧
    2024-12-12
  • Linux中大内存页Oracle数据库优化的方法

    Linux中大内存页Oracle数据库优化的方法

    这篇文章主要给大家介绍了关于Linux中大内存页Oracle数据库优化的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • Linux进程如何终止

    Linux进程如何终止

    这篇文章主要介绍了Linux进程如何终止问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Linux之操作文件的系统调用

    Linux之操作文件的系统调用

    大家好,本篇文章主要讲的是Linux之操作文件的系统调用,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Apache HttpClient使用实例详解

    Apache HttpClient使用实例详解

    ApacheHttpClient是一个强大的Java HTTP客户端库,用于发送HTTP请求并处理响应,HttpClients提供了多种方法来创建和配置HTTP客户端实例,本文给大家介绍Apache HttpClient使用示例详解,感兴趣的朋友一起看看吧
    2025-03-03
  • Linux proc目录下子文件或子文件夹的作用

    Linux proc目录下子文件或子文件夹的作用

    这篇文章主要介绍了Linux proc目录下子文件或子文件夹的作用,以及读取这些信息的实际操作命令,需要的朋友可以参考下
    2014-03-03
  • Ubuntu环境安装Anaconda3完整步骤

    Ubuntu环境安装Anaconda3完整步骤

    大家好,本篇文章主要讲的是Ubuntu环境安装Anaconda3完整步骤,感兴趣的同学快来看一看吧,对你有帮助的话记得收藏一下哦
    2021-11-11
  • Ubuntu系统安装Ruby的三种方法

    Ubuntu系统安装Ruby的三种方法

    Ruby是一个开源的动态编程语言,本篇文章主要介绍了Ubuntu系统安装Ruby的三种方法,有兴趣的可以了解一下。
    2016-11-11
  • Linux 服务器安全技巧

    Linux 服务器安全技巧

    一台服务器由大量功能各异的部件组成,这一点使得很难根据每个人的需求去提供定制的解决方案。这篇文章尽可能涵盖一些有所裨益的小技巧来帮助管理员保证服务器和用户安全
    2016-03-03
  • linux下如何搭建文件共享服务器

    linux下如何搭建文件共享服务器

    这篇文章主要介绍了linux下如何搭建文件共享服务器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-09-09

最新评论