跟着网上的教程走发现行不通阿!好多都是写个大概,而且每人的环境都是有些许差异的,比如说权限问题阿,等等都会造成安装的失败

说明:本教程在你已经拥有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 环境配置详解的更多相关文章

  1. Nginx+Tomcat的服务器端环境配置详解

    这篇文章主要介绍了Nginx+Tomcat的服务器端环境配置详解,包括Nginx与Tomcat的监控开启方法,需要的朋友可以参考下 Nginx+tomcat是目前主流的Javaweb架构,如何让ngi ...

  2. weex和vue开发环境配置详解(配置系统变量等等)

    本文详细讲解如何搭建weex和vue开发环境 安装java 现在java安装包,网上的安装包都是国外的,很难下载下来 就用这个链接下载,亲测无毒,http://www.wmzhe.com/soft-3 ...

  3. supervisor 安装配置详解

    一.安装 源码安装 先下载最新的supervisor安装包:https://pypi.python.org/pypi/supervisor , 如: (python3命令为 pip install g ...

  4. zabbix系列(一)centos7搭建zabbix3.0.4服务端及配置详解

    1.安装常用的工具软件 yum install -y vim wget centos7关闭防火墙 systemctl stop firewalld.service systemctl disable ...

  5. 关于scala环境配置详解

    首先从官网下载适合自身电脑配置的scala安装包.scala下载官网网址:http://www.scala-lang.org/download/ 同时scala还有自己集成好的IDE,例如eclips ...

  6. Django 2.0 新款URL配置详解

    Django2.0发布后,很多人都拥抱变化,加入了2的行列.但是和1.11相比,2.0在url的使用方面发生了很大的变化,下面介绍一下: 一.实例 先看一个例子: from django.urls i ...

  7. web自动化开发环境配置详解

    1.安装 nodejs Grunt和所有grunt插件都是基于nodejs来运行的, https://nodejs.org/ 安装完成之后在终端 node -v 查看安装版本 2.安装 grunt-C ...

  8. AngularJS + CoffeeScript 前端开发环境配置详解

    AngularJS 号称 '第一框架' ('The first framework') 确实是名不虚传.由其从jQuery中完全转入AngularJS后就有无法离开他的感觉了.虽然AngularJS的 ...

  9. CentOS LAMP环境 配置详解

    要想在linux上实现网页服务器(www)需要Apache这个服务器软件,不过Apache仅能提供最基本的静态网站数据而已,想要实现动态网站的话,最好还是要PHP与MySQL的支持,所以下面我们将会以 ...

随机推荐

  1. Java oop(一些自己的理解,并没有展开很细)

    一下内容是自己总结用的,只是按照自己的理解去写.参考的是菜鸟教程.Java 是一个面向对象的语言.OOP就是面向对象编程.封装:在某些类里面,某些属性不想向外暴露,但是我们又想提供一个方法去访问或修改 ...

  2. Python之OS内置模块

    os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os.curd ...

  3. 解决tomcat内存溢出,java.lang.OutOfMemoryError: PermGen space

    一.通过eclipse启动tomcat. 1.选择window>>preferences 2.搜索tomcat,找到自己安装的tomcat版本对应的JDK,在Optional Java V ...

  4. node.js学习6---第三方依赖(模块或者说是包)的导入 npm 以及 cnpm命令的使用

    npm命令用于导入node.js的第三方包,相当于java中使用maven来导入第三方依赖: 1.npm init -y 命令:在命令窗口中执行后,会出现如下的json文件: 右边记录了安装的第三方包 ...

  5. 剖析一个用C++写的行情交易系统

    最近hen ci hen ci用C++写完了一整套证券行情系统,但是不是服务沪深交易所的,是给文交所用的.整个系统涵盖了从DBF文件解析开始到客户端展现这一整条逻辑.想来一年多没有更新博客了,所以趁这 ...

  6. python3.6 连接mysql数据库问题

    最近有个项目欲安装MySQL-python/1.2.5一直失败. 环境: win7 python3.6.2 报错信息如下: Creating library build\temp.win32-3.6\ ...

  7. 自动化运维之ansible

    第三十九课 自动化运维之ansible 目录 十五. ansible介绍 十六. ansible安装 十七. ansible远程执行命令 十八. ansible拷贝文件或目录 十九. ansible远 ...

  8. Airbnb Javascript 代码规范重要点总结es6

    中文原地址 1.对所有的引用使用 const 而非 var.这能确保你无法对引用重复赋值. 当需要变动引用时,使用let. const和let都是块级作用域. 2.创建对象的方式: const ite ...

  9. 安装Python mysqlclient出现“OSError: mysql_config not found”错误

    问题:               使用Python3开发一个管理平台,用MySQL数据库存放元数据.使用pip安装mysqlclient模块时出现“OSError: mysql_config not ...

  10. jstl,el表达式

    在上一篇中,我们写了将数据传到jsp页面,在jsp页面进行展示数组,但是我们发现,在jsp页面写代码是一件很烦的事,一个循环要拆成两部分,例如for循环,在例如if语句: <%int a=22; ...