简介
大家写完一个flask项目后都需要布置到服务器上面,很多时候是买现成的阿里云服务器。但也可以在电脑的虚拟机上安装一个centos系统,然后装上各种环境,模拟一个用来部署的服务器。因为要安装的东西比较多,中间安装的过程要查很多资料,所以我总结了整个步骤流程。
1.安装vm虚拟机软件
vm虚拟机软件可以在https://www.cr173.com/soft/81088.html下载
2.下载centos系统
centos下载https://www.centoschina.cn/download/10939.html
3.虚拟机安装centos系统
可以参考一下链接
https://blog.csdn.net/guin_guo/article/details/49403889
https://blog.csdn.net/zouhuu/article/details/86530787
4.centos系统与主机共享文件夹设置
这一步主要是每个人写的flask源文件可能会比较大,可以设置共享文件夹,方便主机和虚拟机文件共享。
参考https://blog.csdn.net/qq_34129637/article/details/78949662
5.看不到共享文件夹的解决办法
如果设置完之后看不到共享文件夹,参考https://blog.csdn.net/hd_hjx/article/details/87389177
6.切换centos账号命令
centos有两种账号,一个root账号,拥有最高权限,要安装软件需要用到,另外一个是登陆系统的账号,自己设置的账号密码。
Centos7切换账号方法
当前普通用户登录,想要切换为root用户,需要输入命令su
需要输入root密码。输入时候屏幕不会显示,直接输入完了,回车即可
回车后,即切换到root用户下
想要从root用户切换到普通用户,只需要输入
su 用户名
即可切换到普通用户!!
7.安装mysql
参考https://blog.csdn.net/Hellowenpan/article/details/85035218
8.安装python3
参考https://www.cnblogs.com/niuli1987/p/9892480.html
9.安装nginx
参考https://www.centos.bz/2018/01/centos-7%EF%BC%8C%E4%BD%BF%E7%94%A8yum%E5%AE%89%E8%A3%85nginx/
10.创建python虚拟环境,虚拟环境安装gunicorn
创建python的虚拟环境,安装各种flask需要的包,还有gunicorn,这个是用来一键启动flask项目的。
gunicorn -w 4 -b 127.0.0.1:5000 --access-logfile ./logs/log start:app 绿色独角兽启动命令
也可以设置成守护进程
11.如果主机不能访问虚拟机中的flask服务器,有可能是centos封了flask端口
https://blog.csdn.net/o_8_o/article/details/82891941
这样我们就可以在主机中访问虚拟机中的flask服务了。
12.nginx配置文件和启动
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
# server_name localhost;
# 需要指定当前服务器在内网或公网的ip(被访问的ip)
server_name 127.0.0.1;
# 默认请求的url
location /fill2db/ {
#请求转发到gunicorn服务器
proxy_pass http://127.0.0.1:5000;
#设置请求头,并将头信息传递给服务器端
proxy_set_header Host $host;
}
location /static {
alias /home/www/th_reserve/static;
} } }
上面是一份基本的nginx配置文件,nginx主要有三大功能,静态服务器,代理服务器,负载均衡。
未启动nginx服务器前,flask的访问地址是127.0.0.1:5000/fill2db
启动nginx服务器后,flask的访问地址是127.0.0.1/fill2db
有个坑的地方是一开始是用 service nginx start 的方法启动nginx,但是启动后127.0.0.1/fill2db并不能访问成功。找了很久,最后换了nginx的启动命令,就是直接输入nginx,这样127.0.0.1/fill2db才能访问成功。
整个部署过程中出现了很多问题,基本都是能在网上找到有用的教程解决了。