centos7 部署django项目 - 知乎专栏·「python乐园」

180 阅读2分钟
原文链接: zhuanlan.zhihu.com

部署django项目,首先需要在服务器上安装Python3和nginx:

  • python3安装可以参考下面一片文章
小戈戈:Centos 7.4 安装Python 3.6.3​zhuanlan.zhihu.com图标
  • nginx安装直接输入命令:
    • yum install nginx
  • 给python3安装uwsgi库
    • pip3 install uwsgi

安装完成之后,准备工作就做好了!下面开始讲配置:


  • 首先上传项目的时候一定不要上传到root目录里,可以上传到服务器根目录下的/srv/目录,或者/var/www/目录下都行.
  • 上传项目之后,在项目根目录下新建uwsgi.ini文件
    • vim uwsgi.ini
    • 然后在文件内输入:
[uwsgi]
socket =127.0.0.1 :8001

chdir = 项目根目录绝对路径

module = 根目录同名子目录.wsgi:application

master = true

processes=4

vacuum = true
  • 接下来就是配置nginx服务器了
    • vim /etc/nginx/nginx.conf
    • 在配置文件中的server上一行添加新代码:
include vhost/*.conf;
  • 最后在/etc/nginx/目录下新建一个vhost文件夹
    • mkdir vhost
  • 在vhost文件夹内创建任意一个 .conf文件,例如www.wzdh113.com.conf,名字可以随便写的
  • 然后在该文件内写入一下内容
server {

  listen 80;

  server_name 你的域名;
  charset utf-8;

  client_max_body_size 75M;

  location /media {
  alias 媒体文件目录;
  }
  location /static {
  alias 静态文件目录;
  }

  location / {
  include uwsgi_params;
  uwsgi_pass 127.0.0.1:8001;
  }
}
  • 这样项目就能启动了.进入项目根目录,然后运行
uwsgi --ini uwsgi.ini

此时项目就可以运行了.你在浏览器中输入你的域名就可以访问你的django项目了


此时还是会有一些问题发生,比如CSS文件和js文件的丢失.要想解决这个问题,需要配置项目的settings文件.

  • 增加以下字段 STATIC_ROOT = '项目static文件夹的绝对路径'
  • 注释掉 STATICFILES_DIRS 的配置
  • 然后在项目根目录下运行命令:python manage.py collectstatic 把所有的静态文件复制到目录下

这样这个django项目就正式上线了.


想和Pythoner一起交流,欢迎加入QQ群:462438424