centos7部署flask服务器实践(flask+gunicore+nginx)

简介

大家写完一个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才能访问成功。

整个部署过程中出现了很多问题,基本都是能在网上找到有用的教程解决了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章