zoukankan      html  css  js  c++  java
  • django项目部署到centos

    服务器是使用的阿里云的centos 7.6

    项目使用的是 Python3.9.5 + Django 3.2.4

    目标:将django项目部署到centos上,centos + Python + django + uwsgi + nginx

    Python下载地址:https://www.python.org/ftp/python/3.9.5/
    nginx下载地址:http://nginx.org/download/nginx-1.18.0.tar.gz

    进入到centos后,里面是没有环境的,所以全部都需要安装,以下就是安装方法,当然安装的过程中,会遇到一点坑,不过我已经趟过了,也已经解决了,关于这些坑及解决方法,大家可以看我其他的文章。

    一、更新系统包,安装软件管理包和可能使用的依赖

    yum update -y
    yum -y groupinstall "Development tools"
    yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel libffi-devel

    二、安装Python,项目使用的是Python3.9.5,所以我安装的也是 3.9.5 版本

    # 1.下载
    wget https://www.python.org/ftp/python/3.9.5/Python-3.9.5.tgz
    
    # 2.解压
    tar -zxvf Python-3.9.5.tgz
    
    # 3.进入到解压后的文件夹
    cd Python-3.9.5
    
    # 4.设置Python安装位置,我是在根目录创建一个文件,将Python安装在这个文件夹中
    ./configure --prefix=/huyang/python395
    
    # 5.编译与安装
    make && make install
    
    # 6.创建Python及pip的软链接(python3, pip3)
    ln -s /huyang/python395/bin/python3.9 /usr/bin/python3
    ln -s /huyang/python395/bin/pip3.9 /usr/bin/pip3

    三、安装nginx

    # 1.下载
    wget http://nginx.org/download/nginx-1.18.0.tar.gz
    
    # 2.解压
    tar -zxvf nginx-1.18.0.tar.gz
    
    # 3.进入nginx文件夹
    cd nginx-1.18.0
    
    # 4.编译与安装,因为是默认安装,所以没有设置安装位置
    ./configure
    make && make install

    四、上传项目,安装Python库

    ftp上传就可以了,安装库:比如:pip3 install django 等,安装自己项目中用到的库就可以了。

    例:项目结构,方便大家知道下面配置文件怎么写

    project_name
      app_name
              views.py
              models.py
              admin.py
              ...
      project_name
        wsgi.py
        settings.py
        ...

    五、安装 uwsgi,写 uwsgi 配置文件

    # 安装uwsgi
    pip3 install uwsgi

    项目 project_name 是放在  /huyang/ 下面,所以先进入项目文件夹

    cd /huyang/project_name

    新建一个 uwsgi.xml 配置文件

    vi uwsgi.xml

    给 uwsgi.xml 文件写配置

    <uwsgi>    
       <socket>127.0.0.1:8997</socket> 
       <chdir>/huyang/project_name/</chdir>           
       <module>project_name.wsgi</module> 
       <processes>4</processes>     
       <daemonize>uwsgi.log</daemonize>
    </uwsgi>

    可以使用  " python3 manage.py runserver " 测试下项目是否可以跑起来,如果正常跑起来,那就可以启动 uwsgi 了

    uwsgi -x uwsgi.xml

    六、编写nginx配置文件,启动nginx

    nginx是默认安装,所以位置是在:/usr/local/nginx

    nginx默认配置文件是在:/usr/local/nginx/conf

    为了避免出错,我们可以先将配置文件 nginx.con 拷贝一份出来

    cp  nginx.conf nginx.conf.bak

    然后在编写配置文件 nginx.conf

    vi nginx.conf
    worker_processes  1;
    events {
        worker_connections  1024;
    }
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        server {
            listen       80;
            server_name  www.django.cn;
            charset utf-8;
            location / {
               include uwsgi_params;
               uwsgi_pass 127.0.0.1:88;
               uwsgi_param UWSGI_SCRIPT project_name.wsgi;
               uwsgi_param UWSGI_CHDIR /huyang/project_name;
               
            }
            location /static/ {
            # 静态文件我是收集在 /huyang/static/ 下
            alias /huyang/static/; 
            }
        }
    }

    然后重启nginx

    cd /usr/local/nginx/sbin
    
    ./nginx
    
    ./nginx -s reload

    然后打开浏览器,访问我们配置的  server_name  就可以访问到我们的项目了,*:上面写的 www.django.cn 只是为了交大家怎么写,大家可以修改成自己的ip地址,或者真实的域名。

  • 相关阅读:
    Android系统编程入门系列之应用权限的定义与申请
    Android系统编程入门系列之应用间数据共享ContentProvider
    微服务与架构师
    一个C#开发者用Java搭建Android框架的心路历程
    学习使用Wpf开源的文本编辑器—smithhtmleditor
    聊聊 Kubernetes Pod or Namespace 卡在 Terminating 状态的场景
    写给自己看的的密码学知识
    pymongo基础操作
    1103-词牌名,合称,诗词形式
    1102-诗词类别补充与pyhanlp探索
  • 原文地址:https://www.cnblogs.com/shiyixirui/p/14994317.html
Copyright © 2011-2022 走看看