这里笔者需要搭建一个轻量级的WEB-API接口传输数据,选择了python-flask框架,服务器为centos7,数据库为mysql,使用python的virtualenv虚拟环境管理,并配置nginx的ssl证书,这里笔者对python3在centos上的安装不做介绍
1 virtualenv虚拟环境与flask安装
① 安装:pip3 install virtualenv
②创建一个虚拟环境:
# cd y_project_dir
# find / -name virtualenv
# /usr/local/bin/python3/bin/virtualenv ven1
#ven1为虚拟环境目录,前面的路径指定了python环境
③ 虚拟环境的进入与退出:
# cd /Web/Flask_Itchat/ven1 #进入虚拟目录
# source bin/activate #启用虚拟环境
# deactivate #退出虚拟环境
④ 虚拟环境内安装flask(外界环境无影响)
# pip install flask
2 mysql:
① 下载安装
# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
# rpm -ivh mysql-community-release-el7-5.noarch.rpm
# yum install mysql-community-server
② 重启服务
# service mysqld restart
③ 配置mysql
# mysql -u root
# set password for 'root'@'localhost' =password('**********');
# ps -ef | grep mysql
#GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
设置任何主机都可以通过 root账号,密码 123456远程连接mysql数据库
注意:上面GRANT命令设置的是数据库远程连接账号密码,不是centos服务器里登录mysql数据库里的账号密码。
④ 使用中遇到的问题
连接服务器数据库时记得开启安全组端口号
⑤ Python3-Flask连接mysql
#pip install pymysql
#touch test.py
#vim test.py
# python test.py
3 nginx服务器配置
① # yum install nginx
② # vim /etc/nginx/nginx.conf
③ 修改nginx.conf
④ 重启nginx服务
# /bin/systemctl restart nginx.service
⑤ 配置云服务器安全组
⑥ 本地访问
# curl 127.0.0.1
⑦ 客户端访问
4 nginx开启https证书
① 下载证书,这里我的是阿里云服务器
这里我已经申请了证书,所以无法继续申请
② 选择nginx服务器类型下载
centos服务器上创建cert文件夹存放证书
③ 解压上传
这里使用的pscp工具
④ 编辑nginx.conf文件
⑤ 检查配置文件是否生效
⑥ 重启nginx
⑦ 客户端访问
5 运行flask
① #touch hello.py
② #vim hello.py
edit hello.py
③ # python hello.py
④ # curl 127.0.0.1:5001
本地访问flask运行的web运行成功了,需要在公网上访问只需将nginx.conf中的root网站根目录指向你的站点即可,这里就不做过多演示了。
如果笔记解决了你的问题,你可以考虑