首先尝试用手动方式构建django网站

手动开发django欢迎页面

1.python开发的,安装准备好python开发环境

yum install python3 -y

2.安装django框架,且使用pip3命令安装,是给python安装模块的,yum给linux安装软件的

pip3 install django==2.1.2

pip3 list |grep -i django   检查项目文件是否存在

3.使用命令, 创建django项目,且进行python开发

查看文档路径
[root@zzp django_cc]# pwd
/opt/django_cc


创建一个django项目
django-admin startproject my_django

4.django的目录结构

[root@git01 my_django]# tree /opt/django_cc/
/opt/django_cc/
└── my_django
    ├── manage.py
    └── my_django
        ├── __init__.py
        ├── settings.py
        ├── urls.py
        └── wsgi.py

5.创建django项目的app01

python3 manage.py startapp app01

6.再次查看目录结构

tree /opt/django_cc/
/opt/django_cc/
└── my_django
    ├── app01
    │   ├── admin.py
    │   ├── apps.py
    │   ├── __init__.py
    │   ├── migrations
    │   │   └── __init__.py
    │   ├── models.py
    │   ├── tests.py
    │   └── views.py
    ├── manage.py
    └── my_django
        ├── __init__.py
        ├── __pycache__
        │   ├── __init__.cpython-36.pyc
        │   └── settings.cpython-36.pyc
        ├── settings.py
        ├── urls.py
        └── wsgi.py

7.开发网站的欢迎页面

第一步,开发urls.py文件,给用户设置一个入口,访问的入口

 

urls.py开发的内容如下
from django.contrib import admin
from django.urls import path

# 导入django的模块
from django.shortcuts import render,HttpResponse

# 定义python的函数
def hello(request):
    return HttpResponse("你真棒,学习python非常有意思")


urlpatterns = [
    path('admin/', admin.site.urls),
    # 这里是打印调用的函数hello返回内容
    path('hello/',hello)
]
8.修改django的配置文件
文件的路径是项目中的
ALLOWED_HOSTS = ["*"]
9.尝试运行该代码
python3 manage.py runserver 0.0.0.0:8005

输入网址链接192.168.56.200:8005

jenkins job 中指定 JAVA_HOME jenkins django_django


Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动、重启、关闭进程(不仅仅是 Python 进程)。

除了对单个进程的控制,还可以同时启动、关闭多个进程,比如很不幸的服务器出问题导致所有应用程序都被杀死,

此时可以用 supervisor 同时启动所有应用程序而不是一个一个地敲命令启动。

 

首先需要安装插件

pip3 install supervisor
# 生成配置文件
echo_supervisord_conf是下载supervisor生成的。
echo_supervisord_conf > /etc/supervisor.conf

配置说明:来源http://www.ttlsa.com/linux/using-supervisor-control-program/

 

jenkins job 中指定 JAVA_HOME jenkins django_配置文件_02

 

 

 

command命令下需要用到python的位置路径,这个可以用which python3查看到。
修改配置,管理我们的django,目录在/opt/django_cc/my_django/manage.py
command=/usr/bin/python3 /opt/django_cc/my_django/manage.py runserver 0.0.0.0:8005
[program:zheng_django]
command=/usr/bin/python3 /opt/django_cc/my_django/manage.py runserver 0.0.0.0:8005
autostart=true
startsecs=10
autorestart=true
startretries=3
priority=999
redirect_stderr=true
stdout_logfile=/var/log/zheng_django1.log
stopasgroup=true
killasgroup=true

配置完就可以启动命令

supervisord -c /etc/supervisor.conf

 

使用 supervisorctl

Supervisorctl 是 supervisord 的一个命令行客户端工具,启动时需要指定与 supervisord 使用同一份配置文件,否则与 supervisord 一样按照顺序查找配置文件。

supervisorctl -c /etc/supervisor.conf

上面这个命令会进入 supervisorctl 的 shell 界面,然后可以执行不同的命令了:

jenkins job 中指定 JAVA_HOME jenkins django_配置文件_03

 

 上面这些命令都有相应的输出,除了进入 supervisorctl 的 shell 界面,也可以直接在 bash 终端运行:

jenkins job 中指定 JAVA_HOME jenkins django_配置文件_04

 

 

 

注意问题点:

django的启动目的是command=/usr/bin/python3 /opt/django_cc/my_django/manage.py runserver 0.0.0.0:8005 
可以实现服务自启,在kill进程的时候如果出现这个报错
kill掉django的启动进程后再运行supervisord -c /etc/supervisor.conf的时候报错:
Error: Another program is already listening on a port that one of our HTTP servers is configured to use.  Shut this program down first before starting supervisord.


解决方案:首先查看ps aux | grep supervisord进程号是否存在
方法1:如果存在直接kill掉
方法2:
(1)首先进入 supervisor 控制台:supervisorctl
(2)然后重新读取配置:reread
(3)更新配置:update
(4)开始所有配置:start all
(5)查看所有状态:status
至此,解决了新的守护进程的生效问题。