Centos7 + Python3.6 + Django + virtualenv + gunicorn + supervisor 环境配置详解
跟着网上的教程走发现行不通阿!好多都是写个大概,而且每人的环境都是有些许差异的,比如说权限问题阿,等等都会造成安装的失败
说明:本教程在你已经拥有Centos7系统,已经安装好nginx服务器,已经安装了Python3.6 Django virtualenv gunicorn supervisor的前提下进行
接下来开始了!
1。 新建你的django项目,假设项目名为Hello
django-admin.py startproject Hello
2. 想好你需要的端口号,假设端口号为8001(下面的端口号均以8001来举例,你可以换成你所需要的端口号),接下来启动服务器看看能不能运行,分两种情况
1)如果你只是想在本地运行则
python manage.py runserver127.0.0.1:8001
2)如果你想要外网也可以访问则
python manage.py runserver0.0.0.0:8001
3. 接下来在浏览器中输入 "服务器ip:8001" ,比如我服务器的公网IP为 192.163.189.166 则输入192.163.189.166:8001,可能会出现三种情况!
1)成功运行
2)出现 DisallowedHost at / Invalid HTTP_HOST header: '10.211.55.6:8001'. You may need to add u'10.211.55.6' to ALLOWED_HOSTS. 类似错误,解决方法:
进入项目目录下的Hello目录(注意项目目录名是和该名称相同的,此Hello和manage.py同级打开setting.py将ALLOWED_HOSTS = []改为ALLOWED_HOSTS = ['*']
3) 如果在确保地址输入正确,端口也正确的前提下浏览器出现了 Unable to connect 错误,那么很可能是你的Centos7没有开启8001端口号的原因,解决方法
开启端口号
firewall-cmd --zone=public --add-port=8001/tcp --permanent (--permanent意思是永久生效,重启后继续生效)
重启防火墙
firewall-cmd --reload
此时再访问浏览器,如果还是访问不了,那可能是我没遇到的情况,还请自行搜索解决哦
4.配置virtualenv gunicorn
1)在项目根目录下输入指令 virtualenv venv (venv可以是其他名字了)
2)虚拟环境生成后接着要在虚拟环境中安装django 和 gunicorn 了
pip install django
pip install gunicorn
3) 在项目根目录下创建gunicorn.conf 用来配置gunicorn,我的配置为
workers = 4
bind = '0.0.0.0:8088'
5. 配置supervisor
supervisor的配置文件一般在/etc/supervisord.conf
1)vim /etc/supervisord.conf
2)在末尾加入
[program:hello]
command=/项目路径/venv/bin/gunicorn -c /项目路径/gunicorn.conf Hello.wsgi:application
directory=/项目路径
autostart=true
autorestart=true
stdout_logfile=/项目路径/logs/gunicorn.log
stderr_logfile=/项目路径/logs/gunicorn.err
3) 重启 supervisor
unlink /tmp/supervisor.sock
supervisord -c /etc/supervisord.conf
6. 配置nignx
1) 打开nignx.conf
2) 在合适地方加入
location / {
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://192.163.189.166:8001; #http://外网ip:8001,如果是本机访问则 http://127.0.0.1:8001
}
3) 重启nginx
systemctl restart nginx
7. 好啦,接下来在浏览器中输入 http://192.163.189.166:8001 应该能访问咯
附录:推荐一些可能对你有帮助的文章
1. django 的教程 http://www.runoob.com/django/django-first-app.html
2. nginx+virutalenv+gunicorn环境配置 http://blog.csdn.net/zhu_free/article/details/50522868
3. centos7端口 http://blog.csdn.net/u012486840/article/details/52472704
4. virtualenv的使用 http://blog.csdn.net/werewolf_st/article/details/47358767
5. django多项目搭建 http://python.jobbole.com/81229/
---------------------
作者:seanlee97
来源:CSDN
原文:https://blog.csdn.net/m0_37687051/article/details/75267679
版权声明:本文为博主原创文章,转载请附上博文链接!
Centos7 + Python3.6 + Django + virtualenv + gunicorn + supervisor 环境配置详解的更多相关文章
- Nginx+Tomcat的服务器端环境配置详解
这篇文章主要介绍了Nginx+Tomcat的服务器端环境配置详解,包括Nginx与Tomcat的监控开启方法,需要的朋友可以参考下 Nginx+tomcat是目前主流的Javaweb架构,如何让ngi ...
- weex和vue开发环境配置详解(配置系统变量等等)
本文详细讲解如何搭建weex和vue开发环境 安装java 现在java安装包,网上的安装包都是国外的,很难下载下来 就用这个链接下载,亲测无毒,http://www.wmzhe.com/soft-3 ...
- supervisor 安装配置详解
一.安装 源码安装 先下载最新的supervisor安装包:https://pypi.python.org/pypi/supervisor , 如: (python3命令为 pip install g ...
- zabbix系列(一)centos7搭建zabbix3.0.4服务端及配置详解
1.安装常用的工具软件 yum install -y vim wget centos7关闭防火墙 systemctl stop firewalld.service systemctl disable ...
- 关于scala环境配置详解
首先从官网下载适合自身电脑配置的scala安装包.scala下载官网网址:http://www.scala-lang.org/download/ 同时scala还有自己集成好的IDE,例如eclips ...
- Django 2.0 新款URL配置详解
Django2.0发布后,很多人都拥抱变化,加入了2的行列.但是和1.11相比,2.0在url的使用方面发生了很大的变化,下面介绍一下: 一.实例 先看一个例子: from django.urls i ...
- web自动化开发环境配置详解
1.安装 nodejs Grunt和所有grunt插件都是基于nodejs来运行的, https://nodejs.org/ 安装完成之后在终端 node -v 查看安装版本 2.安装 grunt-C ...
- AngularJS + CoffeeScript 前端开发环境配置详解
AngularJS 号称 '第一框架' ('The first framework') 确实是名不虚传.由其从jQuery中完全转入AngularJS后就有无法离开他的感觉了.虽然AngularJS的 ...
- CentOS LAMP环境 配置详解
要想在linux上实现网页服务器(www)需要Apache这个服务器软件,不过Apache仅能提供最基本的静态网站数据而已,想要实现动态网站的话,最好还是要PHP与MySQL的支持,所以下面我们将会以 ...
随机推荐
- erlang证书加密
-module(...). -include("ewp.hrl").-include("backend.hrl").-include_lib("pub ...
- 第一个HTML文档
属性 和 值 1.作用 用来修饰元素 ex:让 p 标记的文本水平居中对齐 <p>Hello World</p> 2.语法 1.属性的声明必须位于开始标记里 ...
- 解决spring3升级到spring4后jackjson报错
1.这里说的是基于spring+springmvc+hibernate框架(其实跟持久层框架也没关系) 2.首先是springmvc的配置,处理json数据都会用到的.第5行是spring-4.x的写 ...
- hadoop管理命令
-help 功能:输出这个命令参数手册 -ls 功能:显示目录信息 示例: hadoop fs -ls hdfs://hadoop-server01:9000/ 备注:这些参数中,所有的hdfs ...
- 手动增加swap空间
在日常工作中,swap没有必要搞那么大的空间,因为现在好多服务器都使用了ssd硬盘,这些硬盘还是比较贵的.如果服务器内存是128G,swap空间还设置成内存的两倍的话,那岂不是很明显是很 ...
- eclipse 中修改项目名称,启动tomct原项目找不到的问题
eclipse 中修改项目名称,启动tomct原项目找不到的问题 1 在开发和练习中,经常会导入其他开源项目,修改项目名称,部署到tomcat 后,然后访问项目会找不到项目,可能是新项目名称和配置文件 ...
- 1019. General Palindromic Number (20)
生词以及在文中意思 forward 向前地 backward 向后地 palindromic 回文的 base 基数(如十进制的10 和二进制的2) numeral system 数制 decimal ...
- 动态流程图关于jointJs的使用
这段时间由于业务需要,需要展现动态的流程图.具体实现效果如图所示: jointJS中的线条以及框都是依赖SVG进行的二次开发.建议初学者先学习svg里相关属性,便于在阅读jointJs的API或者de ...
- IP通信基础课堂笔记----第四章(重点中的重点)
IPv4编址方法 一个IPv4地址可表示为一个32位的二进制数. IP地址前面的网络部分表示一个网段,后面部分(主机位)表示这个网段上的一台设备. 常用IP地址分为四类:A.B.C.D. 每类的网络地 ...
- java多态——基础
多态 定义: 一个接口,多种实现,就是多种状态 价值: 特点:多态存在的特点,就是必须要有继承.覆盖.父类变量调用子类对象 场景: 首先检查父类中是否有该方法,如果没有,则编译错误:如果有,则 ...