写在前面

之前的文章中,我们详细讲述了怎样安装 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)的更多相关文章

  1. django+nginx+supervisor+gunicorn+gevent 网站部署

    django+nginx+supervisor+gunicorn+gevent 网站部署 django,nginx,supervisor,gunicorn,gevent这几个都是在本领域大名鼎鼎的软件 ...

  2. CentOS7中配置基于Nginx+Supervisor+Gunicorn的Flask项目

    配置Nginx 1.安装nginx yum install nginx 2.安装好后在/etc/nginx/default.d中添加location的配置,并指向8001端口,以后Gunicorn会监 ...

  3. nginx+supervisor+gunicorn+flask

    一. 更新系统 #yum -y install epel-release #yum clean all && yum makecache #yum -y update 二.安装pyth ...

  4. Nginx Linux详细安装部署教程

    一.Nginx简介 Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度一下有很多,下面直接进入安装步骤 二.Nginx安装 1.下载N ...

  5. flask + nginx + uwsgi + ubuntu18.04部署python restful接口

    目录 参考链接 效果展示 一.准备工作 1.1 可运行的python demo: 1.2 更新系统环境 二.创建python虚拟环境 三.设置flask应用程序 四.配置uWSGI 五.设置系统启动 ...

  6. (转载)Nginx Windows详细安装部署教程

    本文转载自:https://www.cnblogs.com/taiyonghai/p/9402734.html 一.Nginx简介 Nginx (engine x) 是一个高性能的HTTP和反向代理服 ...

  7. Nginx Windows详细安装部署教程

    一.Nginx简介 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Ramble ...

  8. Nginx 服务器的安装部署(CentOS系统)

    1.准备安装环境yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel open openssl-develgcc编译器 ...

  9. [技术博客]ubuntu+nginx+uwsgi+Django+https的部署

    ubuntu+nginx+uwsgi+Django+https部署文档 配置机器介绍 操作系统:Ubuntu 18.04.2 LTS 64位 python版本:Python 3.6.7 Django版 ...

随机推荐

  1. Linux下修改MySQL数据表中字段属性

    一.修改某个表的字段类型及指定为空或非空 alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空]; alter table 表名称 modify 字段名称 字段类 ...

  2. vue报错如log,如果其他项目运行没问题,很有可能是代码错误 加externals报错

  3. Luogu P4643 【模板】动态dp

    题目链接 Luogu P4643 题解 猫锟在WC2018讲的黑科技--动态DP,就是一个画风正常的DP问题再加上一个动态修改操作,就像这道题一样.(这道题也是PPT中的例题) 动态DP的一个套路是把 ...

  4. Supercomputer 解题报告

    Supercomputer 设\(f_i\)为前\(i\)个时间内必须的完成的任务个数,那么答案就是 \[ \max_{i}\lceil\frac{f_i}{i}\rceil \] 现在要支持区间加和 ...

  5. 关于win10企业版在极域电子教室软件 v4.0 2015 豪华版的全屏控制下如何取得自由

    注.可能因为系统和软件的缘故无法实现 背景 由于在听课过程过于自闭,于是想自己去网上搜点东西看下 于是 经过了一番乱搞 逐渐摸索出了现方法. 方案1: 大力出奇迹 由于电脑在刚刚进入的状态的时候有段时 ...

  6. Zookeeper分布式集群原理与功能

    Zookeeper功能简介 ZooKeeper 是一个开源的分布式协调服务,由雅虎创建,是 Google Chubby 的开源实现. 分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅 ...

  7. 题解-洛谷P1601 A+B Problem(高精)

    https://www.luogu.org/problemnew/show/P1601(题目传送) 显然数据范围超过了long long类型,故不能简单的用两个长整型存起来相加.这里用到大数据的高精度 ...

  8. java替换ascii表字符

    如下: //处理特殊字符 public String dealSpecialXml(String xml){ String result = ""; //result = xml. ...

  9. 【.net】ASP.Net设置和取消设置web项目起始页

    #在visual studio中设置和取消web项目的起始页 方法一:在所要设置的页面上右键->设为起始页 方法二:web项目上右键->属性页 website项目: tips:如果取消要取 ...

  10. jQuery使用(十四):extend()方法

    浅层克隆 深层克隆 扩展方法 一.extend的基本使用 语法: $.extend( target [, object1 ] [, objectN ] ) $.extend( [deep ], tar ...