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 = ['*']

相关文章

Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一...
本地项目配置 1 复制 luffy/settings/dev.py为prop.py 修改l...
nginx不仅可以隐藏版本信息,还支持自定义web服务器信息 先看...
一 、此次漏洞分析 1 nginx HTTP/2漏洞 [nginx-announce] ng...
###进入nginx 目录cd /usr/local/nginx###递归显示 2 级目录...
在cmd命令窗口输入下面命令进行查看 tasklist /fi "ima...