微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

django 项目的部署

原文转载于: https://www.liujiangblog.com/course/django/181

1. 安装ngnix

Ubuntu认源里面的Nginx版本比较旧,需要先添加一个Nginx的源,再通过apt-get安装Nginx

sudo add-apt-repository ppa:Nginx/stable

apt-get update

apt-get install Nginx

 

输入 service --status-all,如果能看到带+号的Nginx,表明一切ok!

 

2.安装uwsgi

uWsgi的官网地址:https://uwsgi-docs.readthedocs.io/en/latest/index.html

确保下载最新版的,否则会出现各种错误, 下载完成之后

# 解压文件
tar -zxvf uwsgi 

# 进入解压目录
sudo python3 setup.py install

运行一下uwsgi

3.配置uwsgi文件

在项目的根目录下,也就是有manage.py的目录下,新建一个uwsgi.ini文件,编辑文件内容为:

[uwsgi]
chdir = /home/nvidia/ros_web
#项目根目录
module = ros_web.wsgi:application
#指定wsgi模块
socket = 127.0.0.1:8000
#对本机8000端口提供服务
master = true
#主进程



#vhost = true //多站模式
#no-site = true //多站模式时不设置入口模块和文件
#workers = 2 //子进程数
#reload-mercy = 10
#vacuum = true //退出、重启时清理文件
#max-requests = 1000
#limit-as = 512
#buffer-size = 30000
#pidfile = /var/run/uwsgi9090.pid //pid文件,用于下脚本启动、停止该进程
daemonize = /home/nvidia/ros_web/run.lo
disable-logging = true

 

  • chdir是你的项目根目录。我这里的项目名叫for_test;
  • moudule是你的入口wsgi模块,将for_test替换成你的项目名称
  • socket是通信端口设置,和我一样就行;
  • master=True表示以主进程模式运行;
  • demonize是你的日志文件,会自动建立
  • disable-logging = true 表示不记录正常信息,只记录错误信息。否则你的日志可能很快就爆满了。

4.配置Nginx

备份/etc/Nginx/sites-available文件夹内的default文件,然后编辑它:

关键是这一部分:

server_name 192.168.1.121;

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        # try_files $uri $uri/ =404;
        include  uwsgi_params;
                 uwsgi_pass  127.0.0.1:8000;  
    }
    location /static {

    alias /home/feixue/python/www/for_test/static;
    }

请将server_name改成你的实际名称location /static的alias改成你的实际情况,其它部分保持不变,尤其是include一定要一样。

修改完毕,保存退出,然后重启Nginx服务:

sudo service Nginx restart

5.启动服务

 进入项目的根目录,也就是有uwsgi.ini文件的地方,运行:

sudo uwsgi uwsgi.ini

系统提示

[uWsgi] getting INI configuration from uwsgi.ini

6. 编辑settings.py文件

DEBUG = False

ALLOWED_HOSTS = ['*']

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐