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

猜你喜欢

转载自www.cnblogs.com/yang220/p/12550445.html