Flask+Nginx+Supervisor+Gunicorn+HTTPS部署教程(CentOs)
写在前面
之前的文章中,我们详细讲述了怎样安装 Nginx,Python,Supervisor,Gunicorn,HTTPS。经本人多次测试是完全可以跑通的,那么本篇将介绍怎样将这些组合起来运行一个HTTPS的后端接口API
正文
注意
如果你想连接mysql,请先安装 mysqlclient
yum install mysql-devel
pip3 install mysqlclient
配置Nginx文件
我们之前配置过 HTTPS 的Nginx文件,由于接口就是这个HTTPS所以我们将其写在一起,打开之前的conf,编辑
server {
# 配置HTTPS
listen ssl; # .1版本后这样写
server_name www.xxxx.cn; #填写绑定证书的域名
ssl_certificate /root/lz/macalline/1_www.xxxx.cn_bundle.crt; # 指定证书的位置>,绝对路径
ssl_certificate_key /root/lz/macalline/2_www.xxxx.cn.key; # 绝对路径,同上
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1. TLSv1.; #按照这个协议配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件>配置
ssl_prefer_server_ciphers on;
# 配置静态资源
location ^~ /media/ {
root /data/www;
}
# 配置后端API
location / {
proxy_pass http://xxx.xxx.xxx.xxx:3000; # 绑定服务器指定的端口
}
# 指定log
access_log /root/lz/logs/nginx_macalline_access.log; # success_log
error_log /root/lz/logs/nginx_macalline_error.log; # error_log
# 开启gzip
gzip on;
gzip_min_length 1k; # 最小压缩范围
gzip_buffers 16k;
gzip_comp_level ; # 压缩级别1-,越大压缩的越小
gzip_types text/plain application/x-javascript text/css application/xml application/json text/javascript image/jpeg image/png; # 指定压缩文件
gzip_disable "MSIE [1-6]\.";
}
server {
listen 80;
server_name www.chnmig.cn;
return https://$server_name$request_uri;
}
配置supervisor文件
因为还需要搭配supervisor使用,所以我们还需要给supervisor加一个指向
我们进入配置文件夹新建一个配置,名字随便(记得是 .conf 文件)
[program:macalline]
directory=/root/lz/macalline
command=/usr/lib/python3/bin/gunicorn --workers -b 0.0.0.0: manager:app
autostart=true
autorestart=true
stdout_logfile=/root/lz/logs/supervisor_macalline_out.log
stderr_logfile=/root/lz/logs/supervisor_macalline_err.log
重启 Nginx
写入新配置后需要重启 Nginx
/usr/lib/nginx/sbin/nginx -s reload
没有提示错误代表成功,出现错误一般是配置文件有问题
也可以尝试
/usr/lib/nginx/sbin/nginx -c /usr/lib/nginx/conf/nginx.conf
重启 supervisor
为了保险起见我们先kill掉主进程
ps -fe | grep supervisord
查询到进程后kill掉相关进程
然后重启进程
/usr/lib/python3/bin/supervisord -c /usr/lib/supervisor/supervisord.conf
如果出现以下错误检查是否kill完

进入shell
/usr/lib/python3/bin/supervisorctl -c /usr/lib/supervisor/supervisord.conf
进入命令行

如出现错误提示需要排错后重启主进程

以上错误需要在提示位置新建文件
如果出现别的错误请查看主配置文件中的文件路径名字是否写错
重载
reload
输入 y 确认,为了保险更新一下
update
启动
restart NAME

随后测试是否正常访问即可。
祝你成功!
Flask+Nginx+Supervisor+Gunicorn+HTTPS部署教程(CentOs)的更多相关文章
- django+nginx+supervisor+gunicorn+gevent 网站部署
django+nginx+supervisor+gunicorn+gevent 网站部署 django,nginx,supervisor,gunicorn,gevent这几个都是在本领域大名鼎鼎的软件 ...
- CentOS7中配置基于Nginx+Supervisor+Gunicorn的Flask项目
配置Nginx 1.安装nginx yum install nginx 2.安装好后在/etc/nginx/default.d中添加location的配置,并指向8001端口,以后Gunicorn会监 ...
- nginx+supervisor+gunicorn+flask
一. 更新系统 #yum -y install epel-release #yum clean all && yum makecache #yum -y update 二.安装pyth ...
- Nginx Linux详细安装部署教程
一.Nginx简介 Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度一下有很多,下面直接进入安装步骤 二.Nginx安装 1.下载N ...
- flask + nginx + uwsgi + ubuntu18.04部署python restful接口
目录 参考链接 效果展示 一.准备工作 1.1 可运行的python demo: 1.2 更新系统环境 二.创建python虚拟环境 三.设置flask应用程序 四.配置uWSGI 五.设置系统启动 ...
- (转载)Nginx Windows详细安装部署教程
本文转载自:https://www.cnblogs.com/taiyonghai/p/9402734.html 一.Nginx简介 Nginx (engine x) 是一个高性能的HTTP和反向代理服 ...
- Nginx Windows详细安装部署教程
一.Nginx简介 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Ramble ...
- Nginx 服务器的安装部署(CentOS系统)
1.准备安装环境yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel open openssl-develgcc编译器 ...
- [技术博客]ubuntu+nginx+uwsgi+Django+https的部署
ubuntu+nginx+uwsgi+Django+https部署文档 配置机器介绍 操作系统:Ubuntu 18.04.2 LTS 64位 python版本:Python 3.6.7 Django版 ...
随机推荐
- 在Asp.Net Core中使用DI的方式使用Hangfire构建后台执行脚本
最近项目中需要用到后台Job,原有在Windows中我们会使用命令行程序结合计划任务或者直接生成Windows Service,现在.Net Core跨平台了,虽然Linux下也有计划任务,但跟原有方 ...
- Steps to One DP+莫比乌斯反演
卧槽,这么秀吗??? 暂时留坑...
- Nginx部署静态页
简答说一下如何用Nginx部署静态网页,并绑定域名访问 1.通过FTP上传静态页到服务器指定目录 2.编写nginx的.conf文件 3.重启nginx 如图,这是centos上传文件路径 nginx ...
- 在Linux上安装ant环境
原文链接:http://www.cnblogs.com/sell/archive/2013/07/24/3210198.html 1.从http://ant.apache.org 上下载tar.gz版 ...
- Electron桌面应用打包流程
一. 准备工作 1.npm的安装需要下载node.js,安装完node.js之后npm自然会有. 参考链接:http://www.runoob.com/nodejs/nodejs-install-se ...
- centos7之关于时间和日期以及时间同步的应用
在CentOS 6版本,时间设置有date.hwclock命令,从CentOS 7开始,使用了一个新的命令timedatectl. 基本概念: 一.GMT.UTC.CST.DST 时间 UTC 整个地 ...
- wepy项目创建
全局安装wepy npm install wepy-cli -g 创建项目 wepy init standard mywepy 安装依赖 npm install 实时编译 wepy build --w ...
- 如何批量修改网页 更新网站 一键保存 windows查看和排序
批量打开需要修改的网页,一键保存:一个网站会由很多网页组成,当需要大量更新的时候,如果一个个进行打开修改,效率会很低,内容修改不多,且容易修改的时候,可以用editplus这种小编辑软件批量打开,批量 ...
- Windows服务器【由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作】问题调查
今天测试反应了一个问题,说接口返回的速度变慢了,并且返回的数据也不对.然后就找到了我o(╥﹏╥)o. 第一个反应就是查日志,不查不要紧,一查吓一跳,整个服务器上所有的站点都报错了.异常信息如下: Sy ...
- Wannafly Union#1
题目链接:http://vjudge.net/contest/142053#overview A.题意:有一个3*n的隧道,人和车轮流走,人先向右走一步,然后选在是在原地不动还是上下移动一格,之后车开 ...