借鉴大牛的文章:把Flask项目部署到Linux服务器_flask应用部署到linux服务器-CSDN博客
前后端代码上传
新建一个文件夹然后上传代码
因为是python3.9的项目 所以需要安装python
安装Python
依赖:
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
安装:
wget https://www.python.org/ftp/python/3.9.7/Python-3.9.7.tgz
make && make install
建立软连接
ln -s /usr/local/python3/bin/python3.9 /usr/bin/python
ln -s /usr/local/python3/bin/pip3.9 /usr/bin/pip
配置环境变量 Python的 和 pip3的
安装完node-v npm-v python3.9-V 测试
安装Flask及其依赖
到后端环境文件夹下运行
pip3 install -r requirements.txt
生成一个清单
新建虚拟目录
隔离包环境 怕跟其他的包发生冲突
# 安装虚拟环境
pip3 install virtualenv
# 创建虚拟环境 END
virtualenv END
#进入END
# 启用虚拟环境
source ./bin/activate
# 安装依赖清单里的库
pip3 install -r requirements.txt
# 列出当前虚拟环境所安装的依赖库
pip3 list
安装MySQL
删除自带的MySQL 然后云安装
云安装:
先装wget
yum -y install wget
执行命令
wget -c https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
rpm -ivh mysql80-community-release-el7-7.noarch.rpm
查看版本:
/usr/bin/mysql --version
启动MySQL
改Mysql密码
查看临时密码:
grep 'temporary password' /var/log/mysqld.log
改密码:
alter user '用户名'@'主机名' idetified with mysql_native_password by '新密码'
创建自启动文件
创建xxx.service文件
[Unit]
Description=robot
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/python3/bin/ENV/bin/python /usr/local/python3/bin/ENV/p3.py &
PrivateTmp=true
[Install]
WantedBy=multi-user.target
启用自定义服务:
#设置自启动
systemctl enable robot
#启动:
systemctl start robot
#查看服务
systemctl status robot
防火墙...
映射出端口
自启动可指向脚本
项目启动执行
前端启动npm start dev
后端启动python3.9 app.py