本篇文章首席CTO笔记来给大家介绍有关django用什么服务器软件以及django用的什么服务器的相关内容,希望对大家有所帮助,一起来看看吧。
本文目录一览:
1、在阿里云服务器使用nginx+uwsgi+venv部署Django项目2、Django部署——uwsgi+Nginx(超详细)3、Django 跟 web server 有没有什么关系4、如何将django用apache2部署在亚马逊的服务器上在阿里云服务器使用nginx+uwsgi+venv部署Django项目
1.首先先把项目上传到阿里云服务器
2.需要安装python3.0以上版本(centeros7自带2.75版本)
3.在此不介绍如何安装python高版本和虚拟环境
4.在项目根目录创建虚拟环境,就像你在Pycharm里一样
然后启动虚拟环境
5.在虚拟环境下安装你项目所需要的依赖
pip3 install requirements.txt
6.编写nginx配置文件和uwsgi配置文件
配置如下
nginx.conf
注意编写完nginx配置文件需要检查语法
nginx -t 注意别忘记加;或者文章尾末多空格都会导致出错
nginx -s reload 重启nginx
uwsgi.ini配置如下
7.都配置好之后
启动虚拟环境
在venv里 uwsgi uwsgi.ini 即可启动你的项目
Django部署——uwsgi+Nginx(超详细)
环境:
python3.6
centos 7
Django1.11
用Django写了个小网站,只能在自己本地跑一跑!这怎么行?听说可以部署在云服务器上,这样别人就可以访问了!
从哪儿开始?就从Django开始吧!老规矩,按步骤:
这里不讲Django项目实施过程,假设你已经写了一个Django项目,并且在本地 127.0.0.1:8000 能够跑起来。喏,给你个参考,项目大概长这样:
也就是项目目录下的settings.py文件,主要强调几个地方:
①关闭DEBUG模式:
②修改ALLOWED_HOSTS:
③配置静态文件存放路径:
修改好配置之后执行:
这个没什么说的。。。在自己的云服务器上装好这两个工具
安装好uwsgi后最好验证一下,验证方法:
创建一个test.py文件:
启动uwsgi服务器:
如果可以正常启动而不报错那就应该没问题,不放心的话再在终端验证一下:
在uwsgi.ini里进行如下配置:
找到nginx的配置文件夹,centos7的nginx配置文件在/etc/nginx下,该路径下有一个nginx.conf总配置文件,还有两个文件夹./conf.d、./default.d,我们将nginx.conf复制一份到conf.d文件夹下,命名为nginx.conf(或者项目名.conf)进行如下修改(根据中文注释进行相应配置即可):
进入uwsgi.ini文件夹下执行:
在终端执行:
参考资料:
刘江的博客
博客园
知乎问答
无名Blog
自强学堂Django教程
Django文档
empty_xl Blog
Django 跟 web server 有没有什么关系
Django是一个WEB开发框架,可以用它来开发web项目,而web需要服务器来运行,比如常用的nginx,apache,uwsgi等,这些服务器仅负责运行程序(由django写的项目),用户请求会发送的服务器上,然后服务器请求django,django返回相应的结果给web服务器,然后返回给用户,web server 就是用户和程序之间的一道桥梁,用户不能直接接触到代码。所有的web项目都需要用一个web server来运行,用户才能用浏览器访问。
如何将django用apache2部署在亚马逊的服务器上
使用mod_python部署
1.为了配置基于 mod_python 的 Django,首先要安装有可用的 mod_python 模块的
Apache。
2.然后应该有一个 LoadModule 指令在 Apache 配置文件中。 它看起来就像是这样:
LoadModule python_module /usr/lib/apache2/modules/mod_python.so
3.配置Apache,用来定位请求URL到Django应用:
VirtualHost *:80
ServerName
Location "/python1"
SetHandler python‐program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE python1.settings
PythonAutoReload Off
PythonDebug Off
PythonPath "['/var/www/html/python1'] + sys.path"
PythonInterpreter python1
/Location
Location "/python2"
SetHandler python‐program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE python2.settings
PythonAutoReload Off
PythonDebug Off
PythonPath "['/var/www/html/python2'] + sys.path"
PythonInterpreter python2
/Location
[......]
/VirtualHost
它告诉 Apache,任何在 / python这个路径之后的 URL 都使用 Django 的 mod_python 来处理。
它 将DJANGO_SETTINGS_MODULE 的值传递过去,使得 mod_python 知道这时应该使用哪个配置。
查看 mod_python 文档获得详细的指令列表。
4.重启Apache,查看:" target="_blank":
/etc/init.d/apache2 restart
使用mod_wsgi部署
1.下载安装 mod_wsgi 模块,生成mod_wsgi.so和wsgi.conf
2.在配置中加载模块:
LoadModule python_module /usr/lib/apache2/modules/mod_wsgi.so
3.修改Apache配置文件httpd.conf
VirtualHost *:80
ServerName
DocumentRoot /var/www/html/python
WSGIScriptAlias / /var/www/html/python/apache/django.wsgi
Directory /
Order deny,allow
Allow from all
/Directory
Directory /apache
Allow from all
/Directory
/VirtualHost
4.创建并配置wsgi的配置文件:
# filename:python.apache.django.wsgi
import os, sys
#Calculate the path based on the location of the WSGI script.
apache_configuration= os.path.dirname(__file__)
project = os.path.dirname(apache_configuration)
workspace = os.path.dirname(project)
sys.path.append(workspace)
os.environ['DJANGO_SETTINGS_MODULE'] = 'python.settings'
os.environ['PYTHON_EGG_CACHE'] = '/tmp'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
print sys.stderr, sys.path
shellchmod a+x django.wsgi
5.修改Django项目配置文件settings.py:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'python',
'USER': 'admin',
'PASSWORD': 'admin123',
'HOST': '127.0.0.1',
'PORT': '3306', }
}
TEMPLATE_DIRS = (
'/var/www/html/python/templates',
)
6.重启Apache,访问
/etc/init.d/apache2 restart
结语:以上就是首席CTO笔记为大家整理的关于django用什么服务器软件的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于django用的什么服务器、django用什么服务器软件的相关内容别忘了在本站进行查找喔。