前言
一、nginx的安装
- 1.安装nginx的依赖环境gcc-c++、openssl、pcre、zlib
- 2.下载编译nginx
- 此处可能报错
- 此处可能报错
- 3.nginx的配置
- 二、 gunicorn的安装和使用
- 1.安装gunicorn
- 2.使用gunicorn启动项目app
- 扩展
前言
在这章介绍在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;