阿里云部署flask项目(CentOS7使用nginx+gunicorn)(3):nginx和gunicorn的安装和使用


前言

在这章介绍在centos7系统中如何使用nginx和gunicorn来部署flask项目。

一、nginx的安装

在安装之前先看系统中有没有nginx,如有则将有关文件全部删除。

whereis nginx

1.安装nginx的依赖环境gcc-c++、openssl、pcre、zlib

1.安装gcc-c++编译器和openssl

yum install gcc-c++
yum install -y openssl openssl-devel

2.安装pcre包

yum install -y pcre pcre-devel

3.安装zlib包

yum install -y zlib zlib-devel

2.下载编译nginx

然后在/usr/local下新建目录nginx

cd /usr/local #进入目录
mkdir nginx #新建目录

然后进入nginx目录

cd /usr/local/nginx 

然后去官网下载nginx文件,点击nginx官网下载


选择稳定版下载,并且将文件放入nginx文件夹中。
然后进入nginx文件夹中,对压缩包进行解压

tar -zxvf nginx-1.22.0.tar.gz

输入ls查看nginx下的文件,可以看到
在这里插入图片描述
然后进入nginx-1.22.0文件夹下。
使用nginx的默认配置

./configure

此处可能报错

在这里插入图片描述
执行下面命令在解决问题

yum -y install gcc gcc-c++ autoconf automake make

然后再次输入nginx 的默认配置就可以正常执行了,执行结束之后输入make进行编译。

make

此处可能报错

安装nginx报错:make: *** 没有规则可以创建“default”需要的目标“build”。 停止。
安装如下依赖之后,再次执行./configure和make就可以正常编译了。

yum -y install gcc openssl openssl-devel pcre-devel zlib zlib-devel

然后进入sbin目录

cd /usr/local/nginx/sbin

加载文件

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

重新加载并启动Nginx

./nginx -s reload

查看是否启动成功

ps -ef | grep nginx

在这里插入图片描述
启动成功。
此时需要在阿里云上打开80端口,然后在网站输入:阿里云公网ip:80,就可以看到如下界面。
在这里插入图片描述
至此nginx安装完成。

3.nginx的配置

要想使用nginx部署flask项目必须对nginx进行合理的配置。

进入conf文件夹

cd /usr/local/nginx/conf

打开nginx.conf文件

vim nginx.conf

配置文件参考如下参数。

 server {
        listen       80;  #端口号
        server_name  39.107.121.34;  #阿里云公网ip
        server_name localhost;
        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
           # root   /tmp/pycharm_project_527/static;
            index  index.html index.htm;
            proxy_pass http://127.0.0.1:5000/;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


进入sbin文件夹下

cd /usr/local/nginx/sbin

然后重新加载nginx配置文件使其生效

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

重新加载并启动Nginx

./nginx -s reload

此时完成了nginx 的安装和配置。

二、 gunicorn的安装和使用

1.安装gunicorn

在为项目创建anaconda环境中安装gunicorm包

pip install gunicorn

2.使用gunicorn启动项目app

第一个app是app所在.py文件的名字

gunicorn -w 4 -b 127.0.0.1:5000 app:app

启动成功,就可以远程访问网页了


扩展

在我的项目中,因为是要上传视频文件进行分析,因此需要在nginx.conf文件中进行额外的配置,如下,此处自行学习理解

    large_client_header_buffers 4 16k;
    client_max_body_size 300m;
    client_body_buffer_size 128k;
    proxy_connect_timeout 600;
    proxy_read_timeout 600;
    proxy_send_timeout 600;
    proxy_buffer_size 64k;
    proxy_buffers   4 32k;
    proxy_busy_buffers_size 64k;
    proxy_temp_file_write_size 64k;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

炼丹师小米

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值