在云主机上用Nginx部署flask网站
1.申请云主机
a.阿里云 (注意:阿里云的服务器需要手动添加安全规则使能80端口)
b.腾讯云
2.把网站服务器程序拷贝到云主机
scp WebServer.tar root@xx.xxx.xxx.xx:/root
注意:WebServer.tar是网站服务器程序压缩包
xx.xxx.xxx.xx是云主机的公网IP地址
3.远程登录云主机
注意:以下操作均在云主机上操作
4.解压网站服务器程序
[root@fguo ~]# yum install bzip2
[root@fguo ~]# tar -xvf WebServer.tar
5.安装Python3
[root@fguo ~]# yum list |grep python
[root@ifguo ~]# yum install python36.x86_64
6.创建Python虚拟环境
[root@fguo ~]# cd WebServer
[root@fguo WebServer]# mkdir env
[root@fguo WebServer]# python36 -m venv ./env
7.安装网站服务器需要的包
[root@fguo WebServer]# ./env/bin/pip install --upgrade pip
[root@fguo WebServer]# ./env/bin/pip install -r requirements.txt
8.安装mysql
[root@fguo WebServer]# yum list |grep mariadb
[root@fguo WebServer]# yum install mariadb.x86_64 mariadb-server.x86_64
[root@fguo WebServer]# systemctl restart mariadb
[root@fguo WebServer]# mysql_secure_installation
9.创建数据库
[root@fguo WebServer]# mysql -uroot -ppassword
MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS uplooking DEFAULT CHARSET utf8 COLLATE utf8_general_ci;!
10.修改网站服务器配置
[root@fguo WebServer]# vim config.py
修改mysql用户名、密码、数据库
11.数据库迁移
[root@fguo WebServer]# ./env/bin/python run.py db init
[root@fguo WebServer]# ./env/bin/python run.py db migrate
[root@fguo WebServer]# ./env/bin/python run.py db upgrade
12.调用网站服务器的init命令
[root@fguo WebServer]# ./env/bin/python run.py init
13.安装gunicorn
[root@fguo WebServer]# ./env/bin/pip install gunicorn
14.修改网站服务器运行文件run.py
[root@fguo WebServer]# vim run.py
去掉manager.run()
15.启动gunicorn
[root@fguo WebServer]# ./env/bin/gunicorn -w 4 -b 127.0.0.1:8080 --chdir ./ run:app
16.安装nginx
[root@fguo WebServer]# yum install nginx
17.配置nginx
[root@fguo WebServer]# vim /etc/nginx/nginx.conf
修改监听端口和root路径,root指向web项目所在位置。
18.重启nginx
[root@fguo WebServer]# service nginx restart