华为云x86_64 openEuler 20.03 64bit 部署Python-web
一、准备阶段
1.注册华为云账号,完成实名认证。
2.申请1个月的免费弹性服务器(ecs,x86_64 openEuler 20.03 64bit)作为实验。
3.修改安全组,允许远程登录(22端口);密码直接重置。
4.通过公网IP登录root账号(工具:MobaXterm_Personal_22.1,通过SSH建立session)
注册新用户:(注:user_name可替换为自己设置的用户名)
useradd user_name
passwd user_name
输入新密码,并重复输入一次。
二、环境搭建
1.安装miniconda以控制环境
(1)在https://docs.conda.io/en/latest/miniconda.html选择合适的版本,笔者选择Miniconda3-latest-Linux-x86_64.sh,下载到本机。
(2)在普通用户目录(/home/user_name)下,执行
mkdir -p downfile/other
建立两级文件夹,来存放上传的文件。
(3)将sh文件上传到新建的目录下。(通过MobaXterm的可视化按钮Upload)
(4)在other目录下,执行一键部署脚本:
sh Miniconda3-latest-Linux-x86_64.sh
然后是一个会打印license协议内容,回车即可;接受yes。
(5)选择安装目录,默认为用户目录下(即/home/user_name/miniconda3),然后进行安装,再输入yes初始化conda。
(6)断开终端,再次进入,发现默认激活的是伪终端,会在 [] 的前面带有 (base)。执行:
conda config --set auto_activate_base false
再次连接时,默认终端没有就不是伪终端 (base) 了。
(7)测试,执行:
conda activate
进入conda环境,即伪终端 (base) 。
查看conda版本和Python版本:
conda -V
python -V
输出版本号则安装并运行成功。
conda可以切换国内镜像源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda的更多操作请自行查询学习(可参考链接2),pip也可以酌情换源。
至此,miniconda安装完成。
2.搭建Python虚拟环境
(1)将本机上的环境进行打包,导出requirements.txt文件。参考链接3。
由于笔者使用conda环境进行开发,故以此为例。需要注意的是,conda和pip导出的requirements.txt文件不一样,无法通用。
在本机通过“命令提示符”,进入开发使用的conda环境,选择并进入到一个工作目录(cd命令),使用pip,执行:
pip freeze > requirements.txt
便在工作目录下生成了当前conda环境的requirements.txt文件。
(2)在普通用户目录(/home/user_name)下建立两级文件夹(/python_env/subject_name)来存放项目文件,将requirements.txt文件上传到该目录下。
注:subject_name一般为为项目名称。
(3)执行:
conda create --name py39_som python=3.9
加载完后输入“yes”,建立以Python3.9为基础的名为“py39_som”的虚拟环境。
(4)执行:
conda activate py39_som
进入环境。
(5)执行:
cd /home/user_name/python_env/subject_name/
进入项目目录。
(6)执行:
pip install -r pip_requirements.txt
即可,安装所需第三方包。
至此,所需Python环境搭建完成。
三、部署项目
(1)上传文件:将包含py文件和静态文件的项目文件夹“main_app“压缩为”main_app.zip“,通过MobaXterm上传到项目目录(/home/user_name/python_env/subject_name)下。
(2)在项目目录下,解压缩,执行:
unzip main_app.zip
将所有文件解压到“main_app“文件夹中。
(3)执行:
cd ./main_app
进入“main_app“文件夹中。
(4)进入之前建好的conda虚拟环境“py39_som”:
conda activate py39_som
(5)运行主程序:
python app_main.py
或者应用nohup启动,在后台运行:(记着进程号,方便后期kill)
nohup python app_main.py
(6)记着打开云服务器控制台相应的端口,比如我使用的是8080,就需要在“控制台-安全组”设置入方向规则,添加放行“TCP:8080”。
(7)在浏览器输入“http://公网IP:端口号/”即可访问。
至此,项目部署完成。
参考链接:
1.https://blog.csdn.net/frdevolcqzyxynjds/article/details/123283242