写在前面

之前的文章中,我们详细讲述了怎样安装 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. 在Asp.Net Core中使用DI的方式使用Hangfire构建后台执行脚本

    最近项目中需要用到后台Job,原有在Windows中我们会使用命令行程序结合计划任务或者直接生成Windows Service,现在.Net Core跨平台了,虽然Linux下也有计划任务,但跟原有方 ...

  2. Steps to One DP+莫比乌斯反演

    卧槽,这么秀吗??? 暂时留坑...

  3. Nginx部署静态页

    简答说一下如何用Nginx部署静态网页,并绑定域名访问 1.通过FTP上传静态页到服务器指定目录 2.编写nginx的.conf文件 3.重启nginx 如图,这是centos上传文件路径 nginx ...

  4. 在Linux上安装ant环境

    原文链接:http://www.cnblogs.com/sell/archive/2013/07/24/3210198.html 1.从http://ant.apache.org 上下载tar.gz版 ...

  5. Electron桌面应用打包流程

    一. 准备工作 1.npm的安装需要下载node.js,安装完node.js之后npm自然会有. 参考链接:http://www.runoob.com/nodejs/nodejs-install-se ...

  6. centos7之关于时间和日期以及时间同步的应用

    在CentOS 6版本,时间设置有date.hwclock命令,从CentOS 7开始,使用了一个新的命令timedatectl. 基本概念: 一.GMT.UTC.CST.DST 时间 UTC 整个地 ...

  7. wepy项目创建

    全局安装wepy npm install wepy-cli -g 创建项目 wepy init standard mywepy 安装依赖 npm install 实时编译 wepy build --w ...

  8. 如何批量修改网页 更新网站 一键保存 windows查看和排序

    批量打开需要修改的网页,一键保存:一个网站会由很多网页组成,当需要大量更新的时候,如果一个个进行打开修改,效率会很低,内容修改不多,且容易修改的时候,可以用editplus这种小编辑软件批量打开,批量 ...

  9. Windows服务器【由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作】问题调查

    今天测试反应了一个问题,说接口返回的速度变慢了,并且返回的数据也不对.然后就找到了我o(╥﹏╥)o. 第一个反应就是查日志,不查不要紧,一查吓一跳,整个服务器上所有的站点都报错了.异常信息如下: Sy ...

  10. Wannafly Union#1

    题目链接:http://vjudge.net/contest/142053#overview A.题意:有一个3*n的隧道,人和车轮流走,人先向右走一步,然后选在是在原地不动还是上下移动一格,之后车开 ...