centos 7.9 部署django项目

这篇具有很好参考价值的文章主要介绍了centos 7.9 部署django项目。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、部署框架

centos 7.9 部署django项目,centos,django,linux

主要组件:nginx、uwsgi、django项目

访问页面流程:nginx---》uwsgi---》django---》uwsgi---》nginx

2、部署过程

参考链接:CentOS7下部署Django项目详细操作步骤-Django社区,Django中文网,django教程,Django!

操作系统:centos 7.9

配置信息:4核4G  50G

内网 eip :10.241.103.216

部署过程:

步骤

命令

备注

1、安装依赖包

yum  update   -y

yum -y groupinstall "Development tools"

yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel

2、搭建python3和pip3环境 参考连接:https://www.cnblogs.com/minglee/p/9227191.html 以下安装步骤需要绑定公网eip
3、安装django项目依赖包

pip freeze > requirements.txt                                                                                                                                     # 将当前项目依赖包导入到requirements.txt中

将django项目源码压缩上传到vm,并解压

pip3 install django   -i Simple Index --trusted-host mirrors.aliyun.com

pip3 install -r requirements.txt   -i Simple Index --trusted-host mirrors.aliyun.com          # 使用国内源

检查django项目是否可以正常启动

python3 manage.py runserver   

若能正常启动,则进行下一步,不能运行的话,检查以上步骤是否有遗漏                                                               # 多数报 缺失依赖包或者依赖包的版本不符合要求信息 

4、安装并配置uwsgi

pip3 install uwsgi    -i Simple Index --trusted-host mirrors.aliyun.com 

在项目根目录创建uwsgi.ini 文件 

[uwsgi]                                                                         #添加配置选择

socket=127.0.0.1:8997                                                 #配置和nginx连接的socket连接

chdir=/root/mysite/                                                     #配置项目路径,项目的所在目录

wsgi-file=/root/mysite/mysite/wsgi.py                       #配置wsgi接口模块文件路径,也就是wsgi.py这个文件所在的目录名

processes=4                                                                #配置启动的进程数

threads=2                                                                    #配置每个进程的线程数

master=True                                                                #配置启动管理主进程

pidfile=uwsgi.pid                                                         #配置存放主进程的进程号文件

daemonize=uwsgi.log                                                 #配置dump日志记录

运行uwsgi服务    

uwsgi  --ini  uwsgi.ini                                                  # 若显示  [uWSGI] getting INI configuration from uwsgi.ini  信息,则表示uwsgi服务运行成功

5、 安装并配置nginx 
安装nginx

cd /home/
wget http://nginx.org/download/nginx-1.13.7.tar.gz
tar -zxvf nginx-1.13.7.tar.gz
cd nginx-1.13.7/
./configure
make
make install
配置nginx

cd /usr/local/nginx/conf/
cp nginx.conf nginx.conf.bak
vim nginx.conf                                                                            # 清空原文件内容

nginx.conf文件添加内容

events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
server {
       listen 8002;
server_name 127.0.0.1:8002;                                                      #改为自己的域名,没域名修改为127.0.0.1:80
charset utf-8;
access_log /var/log/nginx/MyProject_access.log;
error_log /var/log/nginx/MyProject_error.log;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8997;                                                       #端口要和uwsgi里配置的一样
uwsgi_param UWSGI_SCRIPT mysite.wsgi;                               #wsgi.py所在的目录名+.wsgi
uwsgi_param UWSGI_CHDIR /root/mysite/;                             #项目路径

}
location /static {
alias /root/mysite/static/;                                                         #静态资源路径
}
}
}
检验配置文件是否有错误
cd /usr/local/nginx/sbin/
./nginx -t                                      # 若没错,则执行下一条命令
./nginx
6、修改项目中setting.py文件

ALLOWED_HOSTS = ['*']                                                          # 允许所有主机进行连接访问网站

7、依次启动相关服务

在项目根目录下,运行 django项目

python3 manage.py runserver 0.0.0.0:8000                            # 与本地运行不同,新增0.0.0.0:8000 

运行uwsgi 服务

uwsgi  --ini  uwsgi.ini

运行nginx服务

cd /usr/local/nginx/sbin
./nginx
# 查看Uwsgi进程
ps -ef|grep uwsgi 

# 用kill方法把uwsgi进程杀死,然后启动uwsgi
killall -9 uwsgi

# Nginx平滑重启方法
/usr/local/nginx/sbin/nginx -s reload

3、部署效果

浏览器输入 内网eip:8000/home/ 即可访问平台网页

centos 7.9 部署django项目,centos,django,linux

4、部署中遇到的问题总结

1、运行django项目时,报 "django.db.utils.NotSupportedError: deterministic=True requires SQLite 3.8.3 or higher" 错误信息

      参考链接:关于django.db.utils.NotSupportedError: deterministic=True requires SQLite 3.8.3错误的处理办法_AAquiloo的博客-CSDN博客

      解决办法:使用第三方包运行SQLite

      pip install pysqlite3

      pip install pysqlite3-binary

      vim  /usr/local/python3/lib/python3.8/site-packages/django/db/backends/sqlite3/base.py

      #from sqlite3 import dbapi2 as Database           #注释

      from pysqlite3 import dbapi2 as Database         #新加

2、运行django项目时,报 ”urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with OpenSSL 1.0.2k-fips“

     解决办法1: 降低urllib3包的版本                        # 本文采用的方法

                          pip3   uninstall   urllib3

                          pip3   install       urllib3==1.26.6       

     解决办法2: 升级openSSL 版本

                          yum  install   openssl-devel             # 经测试后,安装后 版本依然是1.0.2  ,没用

3、运行django项目时,报 “ModuleNotFoundError: No module named ‘_ctypes‘  错误

     解决办法:yum install libffi-devel

                       重新编译python3.8

4、部署django项目后,浏览器访问网址,提示:DISALLOWEDHOST AT / INVALID HTTP_HOST HEADER. YOU MAY NEED TO ADD TO ALLOWED_HOSTS

    解决办法 :进入项目后,找到并编辑setting.py

                       ALLOWED_HOSTS = ['*'] 

5、部署django项目后,页面样式未生效,提示静态文件404  not found错误

    参考链接:usgi+nginx部署Django样式丢失问题处理 - CodeAntenna 

                      Django项目部署上线解决样式丢失的问题-ry-代码改变世界博客

    原因说明:对于本地运行django,setting.py中debug默认为true, 静态文件则从static_dir中访问;部署上线后,一般设置debug=False,这是就是生产环境,静态文件不会从static_dir中访问了,而是从static_root 中访问;

    备注信息:部署后,其实仍可使用debug为true,从static_dir中访问      (本文使用的方法)文章来源地址https://www.toymoban.com/news/detail-659500.html

到了这里,关于centos 7.9 部署django项目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 尝试CentOS8---部署集群(生产环境7.9为好)

    通过网络将很多服务器集中起来,提供同一种服务,在客户端看来就像是只有一个服务器 启动3台虚拟机,禁用selinux和firewalld,挂载光盘文件并配置yum扩展源,安装vim、bash-completion net-tools软件包 此方案需要准备三台主机,一台lvs调度器,2台web服务器,具体要求如下所示 给

    2023年04月21日
    浏览(42)
  • k8s 1.26.3 部署(containerd+centos 7.9)

    一.系统环境初始化,所有节点都要做   服务器清单   10.12.121.190 k8s-01-master   10.12.121.191 k8s-01-node   根据实际更改初始化化hosts解析以及hostname ,改完以后直接分别在master,node节点上执行执行   二.初始化集群 只在k8s--01-master操作 1.配置容器运行时 crictl config runtime-endpoint un

    2024年02月02日
    浏览(42)
  • linux-centOS7.9网络配置

    -选中虚拟机-设置 -网络-网卡1-启用网络连接【勾选】-连接方式【桥接网卡】-名称【选择想要映射的物理机网络的名称】-确定 虚拟机-启动         其中lo是本地环回网卡,br0是网桥,enp0s3是上一步骤映射出去的网卡,所以我们配置enp0s3以便和外部进行网络通信。      

    2024年02月12日
    浏览(49)
  • 【Linux】CentOS 7.9安装jenkins(详细步骤)

    官网下载: https://www.oracle.com/java/technologies/javase/jdk11-archive-downloads.html 创建文件夹并进入文件 安装文件上传命令 并上传文件 解压文件 一样没有就安装一下解压命令 配置环境变量 刷新环境变量 官网下载: https://maven.apache.org/download.cgi 创建文件夹并进入文件 配置环境变量 刷新

    2024年02月05日
    浏览(52)
  • CentOS 7.9 二进制离线部署 Kubernetes v1.28.7

    二进制部署 Kubernetes 是一种将 Kubernetes 组件以二进制文件的形式部署到服务器上的方法。与使用预构建的发行版(如Kubernetes发行版或云提供商的托管服务)相比,二进制部署提供了更大的灵活性和定制性。 优势: 灵活性和定制性:二进制部署提供了更大的灵活性,允许您自

    2024年03月09日
    浏览(55)
  • linux安装python和部署Django项目

    1 python安装 官网地址:https://www.python.org/ 本次下载的python安装包地址:https://www.python.org/ftp/python/3.8.16/Python-3.8.16.tgz 解压下载的python压缩包 编辑文件 vim /usr/bin/yum ,将首行修改为 #!/usr/bin/python2 。 2 Django项目部署 编写一个django.ini文件,文件内容如下 在nginx中配置下面信息,就

    2024年02月14日
    浏览(44)
  • 将Windows系统重装为Linux(CentOS 7.9)系统

    目录 概述 制作Windows启动盘 制作CentOS启动盘 Windows部分 CentOS部分 1.第一次启动 2.第二次启动 CentOS图形化界面安装注意事项 用U盘,将Windows系统重装为CentOS 7.9系统。 软件:老毛桃、UltraISO。 准备:一台 待重装的Windows系统电脑 、 一台个人电脑 、两块十几G大小的U盘、Linux系统

    2024年01月19日
    浏览(92)
  • 将Windows系统重装为Linux(CentOS 7.9)服务器

    目录 概述 制作Windows启动盘 制作CentOS启动盘 Windows部分 CentOS部分 1.第一次启动 2.第二次启动 CentOS图形化界面安装注意事项 用U盘,将Windows系统重装为CentOS 7.9系统。 软件:老毛桃、UltraISO。 准备:一台 待重装的Windows系统电脑 、 一台个人电脑 、两块十几G大小的U盘、Linux系统

    2024年02月04日
    浏览(73)
  • linux_centos7.9镜像下载及百度网盘分享链接

    阿里开源镜像:http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64 各个版本的ISO镜像文件说明: CentOS-7-x86_64-DVD-1708.iso 标准安装版(推荐) CentOS-7-x86_64-Everything-1708.iso 完整版,集成所有软件(以用来补充系统的软件或者填充本地镜像) CentOS-7-x86_64-LiveGNOME-1708.iso GNOME桌面版 CentOS-7-x8

    2024年02月04日
    浏览(59)
  • VMware17Pro虚拟机安装Linux CentOS 7.9(龙蜥)教程(超详细)

    为了与时俱进,今天推出了VMware 17 Pro安装阿里龙蜥操作系统Anolis OS 7.9(与CentOS 7 100%兼容) 此教程兼容官方版CentOS 7,并且各个版本的CentOS 7差距不大,可以通用 简介 龙蜥操作系统(Anolis OS) 7 是龙蜥社区(OpenAnolis)发行的开源Linux发行版,与CentOS 7 100%兼容,支持多计算架构,提

    2024年02月02日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包