服务器是使用的阿里云的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地址,或者真实的域名。

django项目部署到centos的更多相关文章

  1. Linux学习笔记之Django项目部署(CentOS)

    一.引入 用Django写了一个测试的项目,现在要部署在Linux上,一般这种情况下,只要在项目里面敲一行命令:python manage.py runserver 0.0.0.0:8000就行了.但 ...

  2. Linux学习笔记之Django项目部署(CentOS)----进阶篇

    一.引入 当我们开发好了一个Django项目之后是需要部署到服务器上的,这样才能正式使用这个项目.之前用了一个运行.sh文件的方法让项目得以在后台运行,其实随着学习的深入,这种方法其实是有点low的, ...

  3. django项目部署到centos,踩的坑

    FAQ1:在使用pip3安装库的时候,提示需要升级pip pip3 install --upgrade pip FAQ2:在创建软链接时,提示:ln: failed to create symboli ...

  4. Django项目部署在Linux下以进程方式启动

    Django项目部署在Linux下以进程方式启动 这是一篇关于如何在linux下,以后台进程的方式运行服务,命令改改基本上就通用了. 开发完Django项目后,需要把项目部署到linux环境下.当然, ...

  5. 使用gunicorn将django项目部署到生产环境的子目录下,在nginx后端获取客户真实IP地址

    生产环境有时,并不是为了一个项目而存在的.毕竟,域名是比较稀有的. 今天遇到这个问题,解决了.作个记录. 并且,如果将django项目部署在Nginx后面,那如何获取用户真实的IP地址呢? 下面就来解 ...

  6. Django项目部署(django+guncorn+virtualenv+nginx)

    一.说明 为了django项目部署到生产环境上,能够稳定的运行,且能够同时指出http和https的访问,对django的部署进行了一些研究,决定采用django + gunicorn + virtu ...

  7. django项目部署过程

    django项目部署过程 1.上传代码 用git或者其他工具,如scp 代码上传后保证每个应用下的migrations文件夹里只有一个__init__.py文件,自己的迁移文件不要上传上来,具体的gi ...

  8. Windows下django项目部署 通过Apache2.4+mod_wsgi

    经过几天踩坑,记录在Windows10下通过Apache2.4部署Django项目的过程 运行环境: 先说下环境,怎么安装倒是其次的,版本很重要,我是根据mod_wsgi的版本要求下载的各个版本(py ...

  9. 学习VirtualEnv和Nginx+uwsgi用于django项目部署

    以下叙述中用到的操作系统:Linux CentOS 6.X. 最近几天了解一下VirtualEnv,Apache+Daemon mode,Nginx+uwsgi的概念,并且在项目中实验性部署了一下(目 ...

  10. 2019/01/17 对django项目部署的学习

    前记:最近在学习django项目的部署. 开发环境:windows10,使用pycharm,python2.7.15,django1.11.本地测试使用nginx和前端交互. 生产环境:centos7 ...

随机推荐

  1. 【Azure Cloud Service】云服务升级后,查看配置文件发现编码变为utf-16

    问题描述 通过Migrate to ARM,把经典云服务升级成云服务(外延支持)后,在查看云服务的配置XML文件,发现文件的编码格式由 UTF-8 改变为 UTF-16 由此,引发了三个问题 1)Cl ...

  2. python代码,读取一个txt文件,将其中的每一行开头加上一个字母a,每一行的结尾加上一个字母b

    with open('name.txt', 'r+') as file: lines = file.readlines() file.seek(0) # 将文件指针移回文件开头 file.trunca ...

  3. Windows配置R语言、RStudio开发环境

      本文介绍R语言及其集成开发环境RStudio的下载.安装方法.   R语言是一个属于GNU操作系统的开源软件,在数据统计与分析.可视化等方面具有优秀的表现:而RStudio则是R语言的集成开发环境 ...

  4. Java final 关键字使用

    1 package com.bytezreo.finaltest; 2 3 /** 4 * 5 * @Description final 关键字使用 6 * @author Bytezero·zhen ...

  5. CompletableFuture Demo

    CompletableFuture Demo 题目:有一个数据库client,从数据库中取数据A和数据B,然后求和.请使用并发的知识,尽快的完成操作. /** * {@code @author:} k ...

  6. windows条件下安装linux双系统

    工具: U盘 + rufus(使用烧录进linux镜像) linux镜像 1.windows 管理-压缩卷出一块空闲的磁盘空间(不要使用) 重启电脑   启动项  U盘启动  linux就自动安装,选 ...

  7. 重新定义 vscode 命令行工具 code命令 code $profile

    vscode 默认命令行有问题 他那个每次都打开cli.js 目录名里面有空格 要 &开头后面跟双引号 所以从新定义后 变量是 $变量名 前面再加上& 就能调用那个exe了 后面再跟上 ...

  8. ThinkPHP 3.2.3

    说明手册 https://www.kancloud.cn/manual/thinkphp/1706 下载地址 https://gitee.com/liu21st/thinkphp32 thinkPHP ...

  9. 2024-03-16:用go语言,给你一个正整数数组 nums, 每一次操作中,你可以从 nums 中选择 任意 一个数并将它减小到 恰好 一半。 (注意,在后续操作中你可以对减半过的数继续执行操作)

    2024-03-16:用go语言,给你一个正整数数组 nums, 每一次操作中,你可以从 nums 中选择 任意 一个数并将它减小到 恰好 一半. (注意,在后续操作中你可以对减半过的数继续执行操作) ...

  10. 5G+云渲染:如何快速推进XR和元宇宙实现?

    XR(扩展现实)领域正在以惊人的速度增长.目前,到 2024 年,一些专家表示这个行业的价值将达到 3000 亿美元. 这个行业发展如此迅速的部分原因是 XR 将在商业环境中的带来巨大利益.近年来,很 ...