广告
返回顶部
首页 > 资讯 > 后端开发 > Python >CentOS7.4 部署 Django
  • 427
分享到

CentOS7.4 部署 Django

Django 2023-01-31 08:01:58 427人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

安装环境 Remote: Centos 7.4 x64 (Django.example.com) python: python3.6.5 Apache: Apache 2.4.6 Mod_wsgi: 4.6.4 DjanGo: Djang

安装环境

一. 系统环境配置

1.关闭 iptables 和 selinux

# su - root
# service iptables stop
# setenforce 0
# vi /etc/sysconfig/selinux

修改

SELINUX=disabled

2.添加本地 host DNS

# vi /etc/hosts
127.0.0.1    django.example.com

二. Python 配置

1.安装 python3.6.5 源及依赖包

# yum install epel-release -y

# yum groupinstall "Development tools" -y

# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel zx-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel -y

2.编译安装 python3.6.5 以及 pip package manager

# wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz --no-check-certificate

# tar xf Python-3.6.5.tar.xz

# cd Python-3.6.5

# ./configure --prefix=/usr/local --with-ensurepip=install --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib"

# make && make altinstall

3.安装 virtualenv

# pip3.6 install --upgrade pip

# pip3.6 install virtualenv

三. Django 环境配置

  1. 配置 Django virtualenv

    # mkdir -p /var/www/html/django
    # cd /var/www/html/django
    # virtualenv -p /usr/local/bin/python3.6 .py3env
  2. 开启 virtualenv python3 环境

    # source .py3env/bin/activate
  3. 在此环境安装 Django 相关模块
    # pip install django pyMysql

四. Apache 配置

  1. 安装 apache package
    # yum install Httpd httpd-devel -y

2.安装 mod_wsgi for python3

Tip:这里其实是一个远古巨坑, 网上 90% 以上资料的会粗心的直接使用 yum install mod_wsgi 去安装 apache mod_wsgi 模块, 这样做其实最终 mod 模块会调用本地默认的 python2 的所有库文件, 无论你后面如何配置 django 入口文件, apache 都不会使用我们配置的 virutalenv 下隔离的 python3, 导致 apache 无法调用 python3 而报错. 这里小伙伴要注意哦.

# pip install mod_wsgi 

3.导出 apache 所需的 mod_wsgi 模块

# mod_wsgi-express install-module
LoadModule wsgi_module "/usr/lib64/httpd/modules/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so"

WSGIPythonHome "/var/www/html/.py3env"

4.配置 apache 配置文件

# vi /etc/httpd/conf/httpd.conf

末行添加:

LoadModule wsgi_module "/usr/lib64/httpd/modules/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so"
# vi /etc/httpd/conf.d/django.conf
Alias /static /var/www/html/django/static
<Directory /var/www/html/django/static>
Require all granted
</Directory>

<Directory /var/www/html/django/myproject>
 <Files wsgi.py>
   Require all granted
 </Files>
</Directory>

WSGIPythonHome "/var/www/html/django/.py3env"

Listen 8080
<VirtualHost *:8080>

ServerName django.example.com

WSGIDaemonProcess myproject python-path=/var/www/html/django/.py3env/lib/python3.6/site-pachages
WSGIScriptAlias / /var/www/html/django/myproject/wsgi.py

</VirtualHost>

5.重启 apache 并设置开机自启动

# systemctl restart httpd

# systemctl enable httpd

五. Django 项目配置

  1. 保证 virtualenv python3 环境开启
    # source /var/www/html/django/.py3env/bin/activate

2.创建一个 Django 项目

# cd /var/www/html/django/

# django-admin startproject myproject .

3.添加 static 目录

# vi myproject/settings.py

末行添加:

STATIC_ROOT = os.path.join(BASE_DIR, "static/")

4.创建本地 SQLlite 文件

Tip:这里使用 SQLlite 代替其他数据库作为我们项目的 DB

# ./manage.py makemigrations

# ./manage.py migrate
Operations to perfORM:
 Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
 Applying contenttypes.0001_initial... OK
 Applying auth.0001_initial... OK
 Applying admin.0001_initial... OK
 Applying admin.0002_logentry_remove_auto_add... OK
 Applying contenttypes.0002_remove_content_type_name... OK
 Applying auth.0002_alter_permission_name_max_length... OK
 Applying auth.0003_alter_user_email_max_length... OK
 Applying auth.0004_alter_user_username_opts... OK
 Applying auth.0005_alter_user_last_login_null... OK
 Applying auth.0006_require_contenttypes_0002... OK
 Applying auth.0007_alter_validators_add_error_messages... OK
 Applying auth.0008_alter_user_username_max_length... OK
 Applying auth.0009_alter_user_last_name_max_length... OK
 Applying sessions.0001_initial... OK

5.创建项目管理员账户

# ./manage.py createsuperuser
Username (leave blank to use 'root'): root
Email address: admin@admin.com
PassWord:
Password (again):
Superuser created successfully.

6.生成项目静态文件目录

# ./manage.py collectstatic

7.修改 wsgi 入口文件

# vi myproject/wsgi.py
import os
import sys
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")
sys.path.append('/var/www/html/django')

from django.core.wsgi import get_wsgi_application

application = get_wsgi_application()

8.添加ALLOWED_HOSTS

# vi myproject/settings.py
ALLOWED_HOSTS = ['django.example.com']

Update:

ALLOWED_HOSTS = ['django.example.com']

9.修改项目属主和权限

# chmod -R 755 /var/www/html

# chown -R apache:apache /var/www/html

查看最终目录下的生成的项目文件

# ls -l
-rwxr-xr-x 1 apache apache 38912 Apr 16 15:04 db.sqlite3
-rwxr-xr-x 1 apache apache   541 Apr 16 14:50 manage.py
drwxr-xr-x 3 apache apache  4096 Apr 16 15:21 myproject
drwxr-xr-x 3 apache apache  4096 Apr 16 15:05 static

最终浏览器访问 django 项目

Tip:保证 windows 本地添加 django 服务器的 HOST 域名

django 测试页面
CentOS7.4 部署 Django + Python3 + Apache + Mod_wsgi

项目主页, 输入之前创建的管理员账号密码
CentOS7.4 部署 Django + Python3 + Apache + Mod_wsgi

项目后台
CentOS7.4 部署 Django + Python3 + Apache + Mod_wsgi

Finished...

转载|本文由(showerlee)原创
原文链接:http://www.showerlee.com/arcHives/2511

【51Reboot】自动化运维班火热招生中

各位小伙伴们,欢迎试听和咨询:
QQ(1):979950755 小月
QQ(2):279312229 ada
WeChat : 1902433859 小月
WeChat : 1251743084 小单

技术交流群:
golang 技术交流群 426582602
Python 交流群 365534424 / 238757010

--结束END--

本文标题: CentOS7.4 部署 Django

本文链接: https://www.lsjlt.com/news/192613.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • CentOS7.4 部署 Django
    安装环境 Remote: CentOS 7.4 x64 (django.example.com) Python: Python3.6.5 Apache: Apache 2.4.6 Mod_wsgi: 4.6.4 Django: Djang...
    99+
    2023-01-31
    Django
  • 如何在Centos7.4下部署mysql5.7.24
    这篇文章主要介绍“如何在Centos7.4下部署mysql5.7.24”,在日常操作中,相信很多人在如何在Centos7.4下部署mysql5.7.24问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操...
    99+
    2022-10-18
  • IIS 部署 Python Django
    知道的,百度上搜出来的东西质量令人唏嘘。当你求助的时候多半还得靠自己,或者靠Google 介入正题,详细来一遍流程吧 当然,我是用Visual Studio 2019 来编辑开发Django项目的,如果你也是那么巧了。这可以帮你 如果你D...
    99+
    2023-01-30
    IIS Python Django
  • django+uwsgi+nginx部署
    django+uwsgi+nginx部署   1.介绍:   在网上看了很多教程,但自己部署了很久都没有成功,这篇博文记录自己所踩过得坑。   2.环境: 1 Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-13...
    99+
    2023-01-30
    django uwsgi nginx
  • nginx+uwsgi部署django项
    1、django项目部署前需要生成admin的静态资源文件 (1)生成admin的静态资源文件   # 关闭debug模型 DEBUG = False # 允许所有域名访问 ALLOWED_HOSTS = ['*'] # 静态资源路径 ...
    99+
    2023-01-31
    nginx uwsgi django
  • 云服务器部署django
    好的,以下是一种django部署django的方法:在本机上安装django:将您的数据库文件夹添加到本机的“django server”目录下,或将文件夹路径设置为“django server”目录。在您的本地计算机中安装django:在...
    99+
    2023-10-26
    服务器 django
  • Django-Docker容器化部署:
    上一章我们成功搭建了容器化的 Django 项目,用到的数据库为默认的 Sqlite。Sqlite 虽然简单易用,但是线上部署时通常会选择更高效、更可靠的数据库,比如 MySQL。 本章将在上一章的基础上,修改并构建 Docker + D...
    99+
    2023-01-31
    容器 Django Docker
  • Python web项目Django部署
    材料准备 准备一个Django项目 准备一台Ubuntu18.04的主机 ssh连接到主机(腾讯云) Mac直接在bash中输入ssh root@你的主机ip Windows请下载ssh远程连接工具例如Putty 腾讯云默认不能以r...
    99+
    2023-01-31
    项目 Python web
  • Ubuntu中怎么部署Django
    这篇文章主要介绍了Ubuntu中怎么部署Django的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Ubuntu中怎么部署Django文章都会有所收获,下面我们一起来看看吧。第一步,先更新sudo ap...
    99+
    2023-07-04
  • Inspur nf5280m5服务器Centos7.4系统重装(Raid+裸系统部署)
    前提:已经配置好了BMC及将系统安装U盘插到服务器上了。 系统安装盘信息:使用UltraISO制作,Centos7.4镜像,写入方式USB-HDD,便捷启动中写入新的驱动器引导扇区Syslinux; ...
    99+
    2023-09-20
    服务器 运维 linux
  • Django+Nginx+uwsgi服务器部署
    一、安装 uwsgi uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议,旨在提供专业的 Python web应用发布和开发。Nginx中HttpUwsg...
    99+
    2022-11-13
  • docker怎么部署django项目
    要部署Django项目,可以使用Docker进行容器化部署。以下是一些基本的步骤:1. 首先,确保已经在本地安装了Docker和Do...
    99+
    2023-10-09
    django docker
  • Gunicorn Django部署配置方法
    1. 简单部署 1. sudo pip3 install gunicorn 2. cd 到django项目中 sudo python3 manage.py migrate 3.启动服务:sudo python3 m...
    99+
    2022-06-04
    Gunicorn Django 部署 Django部署
  • Apache如何部署django项目
    在此之前,我们一直使用django的manage.py 的runserver 命令来运行django应用,但这只是我们的开发环境,当项目真正部署上线的时候这做就不可行了,必须将我们的项目部署到特定的web服...
    99+
    2022-06-04
    项目 Apache django
  • nginx多个django怎么部署
    要部署多个Django应用程序到Nginx,您可以按照以下步骤操作: 安装和配置Nginx:首先,您需要安装Nginx并配置基本...
    99+
    2023-10-23
    nginx django
  • docker怎么部署django应用
    要部署Django应用程序,可以使用Docker进行容器化。下面是一些步骤:1. 创建Django项目:首先,在本地开发计算机上创建...
    99+
    2023-08-16
    docker django
  • Docker中怎么部署Django应用
    今天小编给大家分享一下Docker中怎么部署Django应用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2022-10-19
  • Linux下如何部署Django项目
    本篇文章给大家分享的是有关Linux下如何部署Django项目,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Django是由python编写得开放源代码的Web应用框架,Dja...
    99+
    2023-06-28
  • 宝塔如何部署django项目
    本文小编为大家详细介绍“宝塔如何部署django项目”,内容详细,步骤清晰,细节处理妥当,希望这篇“宝塔如何部署django项目”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。流程1,把本地的依赖转换成一个requ...
    99+
    2023-07-05
  • 【云原生| Docker】 部署 Django & mysql 项目
    🤵‍♂️ 个人主页: @计算机魔术师 👨‍💻 作者简介:CSDN内容合伙人,全栈领域优质创作者。 🌐 推荐一款找工作神器网站: 点...
    99+
    2023-09-01
    云原生 docker django python 后端
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作