Windows+Apache环境下配置django框架 超详细_django apache-程序员宅基地

技术标签: django  apache  

服务器Windows+Apache环境下配置python的django框架

1. 配置python

1. 安装python(服务器)

前往python官网下载
在这里插入图片描述

选择自己想要安装的版本
然后拉到最底下的files,点击下载
在这里插入图片描述

2.安装与程序相关的第三库(本地 —— 服务器)

在本地文件运行代码,生成需求库,去服务器安装

pip freeze > requirements.txt  // 命令生成需求库
pip install -r requirements.txt  // 安装第三方库
2.1 pip配置
  1. 一次性使用
    可以在使用pip的时候加参数-i https://pypi.tuna.tsinghua.edu.cn/simple
    例如:
pip install django-simpleui -i https://pypi.tuna.tsinghua.edu.cn/simple
  1. 永久修改

Linux & MacOS
在linux下,修改 ~/.pip/pip.conf (没有就创建一个), 修改 index-url 为国内镜像地址,内容如下:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

Windows

在windows下,直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,新建文件pip.ini,内容如下

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

3.克隆静态资源(本地)

python manage.py collectstatic  // 克隆静态资源

2. django配置

1.debug修改

debug 由True改为False

在这里插入图片描述

2. 跨域配置

安装第三方库

pip install django-cors-headers
INSTALLED_APPS = [
    'simpleui',  # admin后台的优化插件
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'corsheaders',  # 重点
    'apps.gain',
    'apps.user',
    'apps.display',
    'apps.business',
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'corsheaders.middleware.CorsMiddleware',  # 添加cors,在第三行,位置不能改
    'django.middleware.common.CommonMiddleware',
    # 'django.middleware.csrf.CsrfViewMiddleware',  # 取消django自带的csrf
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
# 在django的setting.py的MIDDLEWARE底下添加一下代码
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_ALLOW_ALL = True
CORS_ORIGIN_WHITELIST = (
    ''
)
CORS_ALLOW_METHODS = (
    'DELETE',
    'GET',
    'OPTIONS',
    'PATCH',
    'POST',
    'PUT',
    'VIEW',
)
CORS_ALLOW_HEADERS = (
    'XMLHttpRequest',
    'X_FILENAME',
    'accept-encoding',
    'authorization',
    'content-type',
    'dnt',
    'origin',
    'user-agent',
    'x-csrftoken',
    'x-requested-with',
    'Pragma',
)

3. 配置数据库(MySQL)

我这里选用MySQL,大家可以自行选择数据库

3.1 下载安装MySQL

前往MySQL下载地址
选择对应版本下载
在这里插入图片描述
下载好后解压到D盘根目录(解压到哪个盘自己选择)需注意目录要英文的,不能有中文
在这里插入图片描述
然后在该目录下新建my.ini文件

[mysqld]
# 设置3306端口
port=3306

# 自定义设置mysql的安装目录,即解压mysql压缩包的目录
basedir=D:\mysql\mysql-8.0.20-winx64

# 自定义设置mysql数据库的数据存放目录
datadir=D:\mysql\mysql-8.0.20-winx64\mysqlData

# 允许最大连接数
max_connections=200

# 允许连接失败的次数,这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10

# 服务端使用的字符集默认为UTF8
character-set-server=utf8

# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8

[client]
# 设置mysql客户端连接服务端时默认使用的端口和默认字符集
port=3306
default-character-set=utf8

以管理员身份打开cmd,进入D:\mysql\mysql-8.0.20-winx64\bin,输入下面命令,回车,进行初始化

mysqld --initialize-insecure --user=mysql // 初始化
mysqld install // 安装MySQL
mysqladmin -u root -p password // 修改密码
net start mysql // 启动MySQL
mysql -u root -p // 进入MySQL

3.2 安装MySQL管理工具SQLyog

我这里提供相应的软件,有需要的自行提取
链接:https://pan.baidu.com/s/1EJthxX1iMdv2oLodVOaLbA
提取码:1119

4. 安装mod_wsgi

4.1 下载mod_wsgi

进入mod_wsgi下载地址下载相应版本mod_wsgi Python的插件。
ap24vc14指apache版本,比如apache24, cp39指python3.9,win_adm64指操作系统为64位。(建议选择最新版本)
在这里插入图片描述

4.2 安装mod_wsgi

将下载的whl文件复制到python路径下的script文件夹下
打开cmd,输入代码

pip3 install "mod_wsgi-4.7.1-cp39-cp39-win_amd64.whl"

若显示Successful installed mod_wsgi-4.7.1再输入代码

mod_wsgi-express module-config

出现以下三行提示,这三行一定要复制下来,后面配置最重要的就是它了:

LoadFile "d:/python/python39.dll"
LoadModule wsgi_module "d:/python/lib/site-packages/mod_wsgi/server/mod_wsgi.cp39-win_amd64.pyd"
WSGIPythonHome "d:/python"

至此,mod_wsgi安装成功。

5.安装配置Apache

5.1 下载Apache

进入下载地址,选择最新版下载
在这里插入图片描述
下载后得到一个压缩文件,直接解压缩,文件夹里的Apache24文件夹就是Apache服务器文件,不需要安装,直接将Apache24文件夹移动到你想放的位置。

5.2 创建Apache服务

打开cmd命令行(管理员),cd进入D:\Apache24\bin文件夹(此处根据自己实际Apache24文件夹所在位置为准),输入代码

httpd.exe -k install -n "apache2.4"  # apache2.4是所创建服务器名称,可更改。

出现successfully installed说明服务创建成功
若失败则是未安装相应的vc15的c++
我这里提供相应的下载软件,有需要的自行提取
链接:https://pan.baidu.com/s/14N9perC5CLxL8Mmn6CG5Aw
提取码:1120

创建成功后,进入D:\Apache24\bin,运行 ApacheMonitor.exe 启动服务。
打开浏览器,在地址栏输入 http://127.0.0.1/ 有页面表示成功

5.3 配置Apache

打开D:\Apache24\conf里的httpd.conf文件,在最底下添加上面下载mod_wsgi成功后的三行提示,并添加WSGIPythonPath E:/www/test # 设置工程路径

LoadFile "d:/python/python39.dll"
LoadModule wsgi_module "d:/python/lib/site-packages/mod_wsgi/server/mod_wsgi.cp39-win_amd64.pyd"
WSGIPythonHome "d:/python"
WSGIPythonPath E:/www/test

# 开启gzip(压缩页面,提高反应速度)
取消mod_headers、mod_deflate的#
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
# 告诉 apache 对传输到浏览器的内容进行压缩
SetOutputFilter DEFLATE
# 压缩等级 9
DeflateCompressionLevel 9
#设置不对后缀gif,jpg,jpeg,png的图片文件进行压缩
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary

并 ctrl+f 寻找 httpd-vhosts,将它的#去掉
在这里插入图片描述
然后打开D:\Apache24\conf\extra的httpd-vhosts.conf文件,添加以下的代码

<VirtualHost *:80>
	DocumentRoot "E:/www/test" 
	# 网站名称
	ServerName test.com
	# 设置工程中的wsgi路径
	WSGIScriptAlias / E:/www/test/test/wsgi.py
	# 设置wsgi路径
	<Directory E:/www/test/test>
    <Files wsgi.py>
        Require all granted
    </Files>
	</Directory>
	# 设置静态文件路径
	Alias /static E:/www/test/test/static
	<Directory E:/www/test/test/static>  
	    AllowOverride None  
	    Options None  
	    Require all granted  
	</Directory> 
</VirtualHost>

打开C:\Windows\System32\drivers\etc里的hosts文件,添加127.0.0.1 test.com
最后重启Apache,打开自己的网站名称就可以了

6. 服务器配置

apache 运行超过2个django项目(Python版本在3.8及以上)

如果多个 Django 站点运行在同一 mod_wsgi 进程,它们会共用最先启动的站点配置。能通过以下修改改变行为:
编辑wsgi.py:
把
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "{
   { project_name }}.settings")
修改为
os.environ["DJANGO_SETTINGS_MODULE"] = "{
   { project_name }}.settings"
重启apache即可

7.快速安装MySQL和apache(推荐)

7.1 安装PHP study 下载地址

下载界面

点击下载,该软件会自动安装apache和MySQL

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hhffdd98/article/details/109802941

智能推荐

揭秘ServerBootstrap神秘面纱(服务端ServerBootstrap)-程序员宅基地

文章浏览阅读2.6k次,点赞2次,收藏9次。一、ServerBootstrap惊鸿一瞥二、NioServerSocketChannel的创建三、服务端Channel(NioServerSocketChannel)的初始化四、ChannelPipeline初始化五、服务端注册到Selector六、bossGroup与workGroup七、服务端Selector事件轮询八、Netty解决JDK空轮询bug九、Netty对Selector中KeySet的优化..._serverbootstrap

C++判断两个浮点型数字是否相等_c++ 判断数字不相等-程序员宅基地

文章浏览阅读2.8k次。bool Equal(double num1, double num2){ if((num1 - num2 &gt; -0.0000001) &amp;&amp; (num1 - num2 &lt; 0.0000001)) return true; else return false;}_c++ 判断数字不相等

2022最新免费bi大盘点_免费的数据大屏bi-程序员宅基地

文章浏览阅读1.1k次。对于商业智能时代而言,BI工具的使用在企业乃至个人来说都不算是新鲜事了,但是市面上BI这么多。让人目不暇接,当然最吸引大家的还是免费bi了,哪有哪些好用的免费bi呢,今天给大家盘点几款好用的免费bi:FineBI是一款主打“自助大数据分析”的企业级BI软件,它适用于企业中的技术人员、业务人员和数据分析师,只需简单的拖拉拽动作即可完全自主探索式的数据分析工作。是一款知名度很高的免费bi。小编在这里介绍这款软件的两个特点:1)探索式数据分析顾名思义,就是你能够通过简单的自助分析操作生成的可视化结果,来进行深度的_免费的数据大屏bi

Mysql学习总结_20190325_Mysql主从复制配置 和 Windows下Mysql安装配置_windows mysql query ok, 0 rows affected, 1 warning-程序员宅基地

文章浏览阅读125次。--------Windows Mysql注册Mysql服务(注:要用管理员身份运行cmd):C:\WINDOWS\system32>mysqld --install Mysql --defaults-file=E:\mysql-5.7.24-winx64\my.ini创建data目录,初始化Mysql:C:\WINDOWS\system32>mysqld --i..._windows mysql query ok, 0 rows affected, 1 warning (0.33 sec)

OpenCV-Python教程:形态学处理_morph_cross-程序员宅基地

文章浏览阅读3k次,点赞2次,收藏8次。转自: http://blog.csdn.net/sunny2038/article/details/9137759本文介绍使用OpenCV-Python进行形态学处理本文不介绍形态学处理的基本概念,所以读者需要预先对其有一定的了解。定义结构元素形态学处理的核心就是定义结构元素,在OpenCV-Python中,可以使用其自带的getStructuringElement函数,也可以直接使_morph_cross

BeautifulSoup4 find_all搜索包含指定文本内容的标签返回空list的问题-程序员宅基地

文章浏览阅读4.1k次,点赞4次,收藏10次。最近帮助公司其他团队用python写了一个爬虫,遇到了不少问题,其中就有一个问题是使用BeautifulSoup4的find_all搜索包含指定文本内容时返回的是空的list,查看了官方文档也上google搜索了一些类似的问题,发现是因为在使用bs4的find_all结合正则表达式查找指定文本的时候,搜索的是bs4返回元素中string属性中的信息,而不是text属性。并且如果某个元素中如果还包含..._beautifulsoup find_all 返回空集

随便推点

mount -a-程序员宅基地

文章浏览阅读921次。mount -a的意思是将/etc/fstab的所有内容重新加载。mount 是可以显示/etc/fstab的内容。mount -a 是自动挂载 /etc/fstab 里面的东西。不过这东西开机时已经挂载了,你如果没有修改 fstab 增加新的东西那就肯定没输出。 mount -a 会忽略所有已经完成的操作,也就是开机时 fstab 已经挂载后,而且你没有修改 fstab 。你再运行 mount -a ,他会自动忽略全部 fstab 内容。..._mount -a

Matlab图像处理系列1———线性变换和直方图均衡_全局线性变换的子函数-程序员宅基地

文章浏览阅读3.4w次,点赞17次,收藏115次。图像点处理是图像处理系列的基础,主要用于让我们熟悉Matlab图像处理的编程环境。灰度线性变换和灰度拉伸是对像素灰度值的变换操作,直方图是对像素灰度值的统计,直方图均衡是对灰度值分布的变换_全局线性变换的子函数

initrd.img相关-程序员宅基地

文章浏览阅读1.6k次。initrd 的英文含义是 boot loader initialized RAM disk,就是由 boot loader 初始化的内存盘。在 linux内核启动前, bootloader 会将存储介质中的 initrd 文件加载到内存,内核启动时会在访问真正的根文件系统前先访问该内存中的 initrd 文件系统。第一阶段启动的目的是为第二阶段的启动扫清一切障爱,最主要的是加载根文件系统存储介质..._initrd.img

centos 安装composer(解决usr/bin/env: php: No such file or directory)_centos /usr/bin/env: php: no such file or director-程序员宅基地

文章浏览阅读9.3k次。cd /data/download //ps这目录需要有可执行权限,不然会报错,我直接修改:chmod -R 777 downloadcurl -sS https://getcomposer.org/installer | /usr/local/php-7.0.14/bin/php接下来拷贝到可执行文件目录/usr/local/bin目录mv composer.phar /usr/lo..._centos /usr/bin/env: php: no such file or directory

Warning link 4098 defaultlib "library" conflicts with use of other library use /NODEFAULTLIB:library-程序员宅基地

文章浏览阅读41次。MSDN上的解释为: You are trying to link with incompatible libraries. ImportantThe run-time libraries now contain directives to prevent mixing different types. You’ll receive this warning if you try to ..._warning link4098

使用 Python 构建自动文本摘要器的分步指南_自动文本摘要系统设计-程序员宅基地

文章浏览阅读93次。要进行英语文本摘要,我们可以使用sumy的帮助。但是,google colab没有sumy库。因此,我们需要先安装sumy库,如下所示。!注意:Sumy只能用于总结英文文本。然后,我们导入将在文本摘要过程中使用的库。这是我们将在使用 python 的文本摘要过程中使用的文档示例。"""之后,我们查看文档的长度。len(text)接下来,我们将每个单词分成标记。每个单词都会被评分,然后重新组合成原始句子,并将分数相加。得分最高的句子将包含在汇总结果中。以下是使用sumy库的摘要结果。_自动文本摘要系统设计

推荐文章

热门文章

相关标签