一,环境
CentOS8.0自带python3.6解释器可以不用安装
数据库mysql安装,
1.检查
yum list installed mysql*
2.查看安装包
yum list mysql*
3.安装mysql:
yum -y install mysql
yum -y install mysql-server
yum -y install mysql-devel
4.启动mysql服务:
service mysqld start
5.设置mysql自启动:
chkconfig --level 2345 mysqld on,chkconfig --list |grep mysql*
6.创建管理员:
mysqladmin -u root password 123456
root是用户名 123456是密码。
7.登录mysql -u root -p回车后输入密码即可
二,项目
1.将pythonweb项目复制一份,将在Windows中运行中编译生成的文件全部删除
2.将项目通过命令tar -cvf压缩成tar包, 例如:tar-vcf project.tar D:\flask_python_demo
3.将项目上传到服务器,然后通过tar -xvf 包名解压,然后移动到你喜欢的文件夹 PS:因为方便管理
4.创建虚拟环境,进入到项目对应是app目录 通过:python3 -m venv venv命令创建虚拟环境,也可以将虚拟环境创建在其他目录
5.通过命令:source venv/bin/activate,激活虚拟环境,PS:venv/bin/是我的虚拟环境目录
6.通过pip3 install命令安装项目的依赖包
三,防火墙、端口
1.查看Linux防火墙默认关闭的通过命令:firewall-cmd --state可以查看防火墙状态
2.通过命令:systemctl start firewalld打开防火墙
3.通过命令:firewall-cmd --zone=public --add-port=5000/tcp --permanent 打开项目需要的端口
4.通过命令:firewall-cmd --reload 重启防火墙,然后通过命令:firewall-cmd --list-ports 查看端口是否打开
5.cd进入项目的app.py目录中用命令激活虚拟环境例如: source /root/venv/bin/activate
6.按需修改各个配置文件为Linux系统中的IP或端口,例如项目中的config配置文件,和app.py文件文件中的app.run()方法的可访问ip 如app.run(host='0.0.0.0')代表所有IP都可以访问
7.将py源文件编译为pyc文件通过命令:python3 -m compileall /root/flask_python_demo
8.删除py源文件,将pyc文件移动到py源文件之前的位置,并重命名pyc文件为py之前的名称(这样如果服务器被攻击,攻击者也看不见py源代码文件了)
9.运行app.pyc文件通过命令:python3 app.pyc(也可以不删除py源文件,直接运行py文件:python3 app.py)
10.在阿里云控制台中实例安全组中的安全组列表里面配置规则中添加当前项目的端口和可访问ip,保存后即可通过阿里云公网ip加项目端口访问到项目了
PS:本高冷也是个刚刚自学python一个月并且第一次接触Linux和阿里云的服务器的新手,自己查了很多搜索了很多资料踩了很多坑才成功部署了自己练手的项目,
所以想记录一下,也希望可以帮到你少走点弯路,如有错误的地方请指点一下,谢谢,嘻嘻(我的项目地址:http://47.108.154.127:5000/)