创建一个新的虚拟环境
mkvirtualenv my_django002
which 查看自己是否在虚拟环境
pip3下载django1.11.14
在自己的Envs文件下创建一个django项目
(my_django002) [root@VM_0_12_centos my_django002]# django-admin startproject mysite15
启动测试一下
准备完成
不使用Python3 启动项目
使用uwsgi启动
1.先下载 uwsgi
pip3 install uwsgi
下载完成后可以使用uwsgi测试下
先创建一个 text.py文件 写入一下内容:
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World,im uwsgi....."] # python3
用uwsgi启动一下 uwsgi --http :8000 --wsgi-file text.py 返回结果字符串
2.编写一个hello测试视图
from django.shortcuts import HttpResponse
def hello(request):
return HttpResponse('hello , im uwsgi.....')
加上url视图
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^hello/',hello),
]
3.通过uwsgi启动你的django项目
1.进入你的django项目,这是第一层
cd /root/Envs/django15/mysite15
2.通过命令启动
uwsgi --http :9000 --module mysite15.wsgi
3.测试访问你的django应用 9000端口
4.注意,此时你的项目丢失静态文件,因为uwsgi不解析静态文件配置 使用nginx
uwsgi热加载django程序
自动重启 --py-autoreload=1
1.启动命令添加一条参数
uwsgi --http :8088 --module mysite.wsgi --py-autoreload=1
配置静态资源
1. 修改nginx 配置文件 之后一定要重启!!!!!!!!
2. 启动项目
uwsgi --http :9000 --module mysite.wsgi --py-autoreload=1
有坑出错 --
在这里使用 一定要在这个文件目录下启动!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
uwsgi --socket :9000 --module mysite15.wsgi --py-autoreload=1
当然执行后 还是么有 静态文件
继续配置 nginx的配置:
写入静态文件存放的位子
#nginx处理静态页面资源
location /static{
alias /opt/nginx1-12/static/django;
}
OK 创建这个文件夹
在django的配置文件中写入
这个路径一定要和 alias 路径一至
回到manage.py 目录 执行python3 manage.py collectstatic 他会把所有静态文件放在我 配置的目录下
此时 django 目录下就会多出 admin的静态文件
启动你的项目 此时admin的静态文件已经出现啦
之前一定要记得修改nginx目录完成后重启 nginx
uwsgi配置文件
[uwsgi]
#使用nginx连接时使用
socket=0.0.0.0:9000
#不用nginx直接当做web服务器使用
#http=0.0.0.0:9000
#项目目录绝对路径
chdir=/root/Envs/my_django002/mysite15
#wsgi文件路径,在项目底下
wsgi-file=mysite15/wsgi.py
#指定解释器目录
home=/root/Envs/my_django002
processes=4
threads=2
master=True
pidfile=uwsgi.pid
这时你的项目目录
怎样启动 ~~~
uwsgi --ini /etc/uwsgi.ini 启动配置文件
supervisor
控制管理你的项目启动或重启的
supervisor 是基于 python 的任务管理工具,用来自动运行各种后台任务,当然你也能直接利用 nohup 命令使任务自动后台运行,但如果要重启任务, 每次都自己手动 kill 掉任务进程,这样很繁琐,而且一旦程序错误导致进程退出的话,系统也无法自动重载任务。
1.先退出你的虚拟环境 ~ deactivate
2.执行下载
easy_install supervisor
3.通过命令生成supervisor的配支文件 echo_supervisord_conf 这时他给你生产的命令
echo_supervisord_conf > /etc/supervisord.conf
4. 进入到 /etc/supervisord.conf文件下 写入
[program:mydjango]
command=/root/Envs/my_django002/bin/uwsgi --ini /etc/uwsgi.ini
# /root/Envs/my_django002/bin/uwsgi这个是你的虚拟环境的uwsgi
# /etc/uwsgi.ini 这个是你配置文件的uwsgi
5.最后启动supervisor,完成uWSGI启动django
[root@VM_0_12_centos mysite15]# supervisord -c /etc/supervisord.conf
操作方法
supervisorctl 查看自己管理的项目 并 进入到你的supervisor 命令环境
stop mydjango 是你在/etc/supervisord.conf文件[program:mydjango] 这个名字 停止你的项目
start mydjango 开启你的项目
负载均衡