本篇文章首席CTO笔记来给大家介绍有关django怎么放到服务器运行以及如何将django项目部署到服务器的相关内容,希望对大家有所帮助,一起来看看吧。
本文目录一览:
1、我有个linux的虚拟主机,我想运行django网站,怎么办?2、如何将Django项目部署到阿里云服务器上3、怎样搭建Django服务器环境4、如何在阿里云上部署django5、在阿里云服务器使用nginx+uwsgi+venv部署Django项目6、如何将django用apache2部署在亚马逊的服务器上我有个linux的虚拟主机,我想运行django网站,怎么办?
我是linux主机,我这样在本地运行django
1 在终端进入django项目的文件夹,是有manage.py的那个目录
2 然后运行 python manage.py runserver
就可以跑起来了
如何将Django项目部署到阿里云服务器上
1,APP应用需要什么样的云服务器? 为了帮助大家了解如何使用阿里云云服务器及相关应用,阿里云的移动云团队开发了一个简单的APP应用:移动云相册,其中使用了ECS主要用作部署云相册的API服务(图片信息调用、图片列表调用)和图片缩略图处理,因为这个应用服务端使用了JAVA语言开发,因此在上面安装tomcat来部署应用。 具体部署 1)远程登录: 第一次购买ECS后,会把该ECS服务器的root账号、密码发送购买者的邮箱,然后购买者可以通过远程登录到ECS服务器,具体远程登录可以参考如下: Windows:中国//help.aliyun中国/manual?spm=5176.383518.5.16.4lLZznhelpId=59 Linux:中国//help.aliyun中国/manual?spm=5176.383518.5.16.4lLZznhelpId=59 2)安装web环境 根据自己应用特点选择安装相关web服务器tomcat或者jetty,阿里云提供了一条龙安装部署脚本,为开发者提供了更多的方便,请参考如下链接:中国//help.aliyun中国/manual?spm=0.0.0.0.RGeYy4helpId=129 3)打包应用 将web源码下载到本地,使用命令mvnpackage打成war包。如果不是maven工程,可以用类似ant打成war包。 4)上传war包 Linux下面可以使用sftp上传war包,上传war包到指定目录后进行解压,具体使用方式参考:中国//help.aliyun中国/manual?spm=0.0.0.0.PnfpSLhelpId=1848 5)启动web服务 将tomcat或jetty服务启动 6)配置反向中国、绑定域名 具体配置信息参考:中国//help.aliyun中国/manual?spm=0.0.0.0.Ti7iuAhelpId=532, 中国//help.aliyun中国/manual?spm=0.0.0.0.MKbFj1helpId=65 2,APP应用如何把图片存到云存储服务器中? 图片类APP应用的架构核心在于大量小文件的存储与访问,在文件数量较多的情况下将文件直接存储在硬盘上将极大影响应用的访问效率。阿里云存储服务OSS对海量小文件的存储及管理具有很大优势,图片不从服务端下载,减少了服务端压力。阿里云的OSS的备份机制也保证了文件的存储安全,其存储容量可以无限扩展,每秒请求数超过50000次,多线BGP中国络确保全国各地访问流畅。 使用阿里云OSS步骤: 1)登录阿里云官中国(aliyun中国)开通OSS 2)获取KEY及密钥 3)下载SDK (JAVA版下载地址为:中国//bbs.aliyun中国/job.php?action=downloadaid=38817 帮助手册: 中国//aliyun_portal_storage.oss.aliyuncs中国/oss_api/oss_javahtml/index.html ) 4)开始APP开发 很简单吧,下面是一个使用阿里云的OSS上传图片的代码样例: StringupLoadURI = OSSClient.generateUploadUrl(Constants.SERVER_URL.GENERATE_URL,fileName, null); int status =OSSClient.uploadFile(upLoadURI, path); 3,APP上云后如何使用云数据库? 为了帮助大家了解如何使用阿里云云服务器及相关应用,阿里云的移动云团队开发了一个简单的APP应用:移动云相册,其中使用了RDS中提供的MYSQL服务,数据库中主要存储了用户上传的图片信息,包括原图、缩略图的信息及存储地址,通过WEB端API向客户端提供数据调用。 使用阿里云RDS和使用本地数据库基本上没有区别,使用样例如下: 1)创建数据库实例 使用阿里云账号购买RDS后,可以创建数据库实例。 2)创建数据库以及管理账号 创建数据库名称以及管理账号,用于应用程序调用数据库连接。 3)访问数据库: 创建完数据库(test)后,在数据库test里添加账户:test、密码:test,可以在RDS控制台查看到数据库相关信息,从中能够得到数据库的外中国地址如:xxxx.mysql.rds.aliyuncs中国,可以使用应用程序连接数据库,javajdbc连接数据库示例代码如下: String url = “jdbc:mysql://xxxx.mysql.rds.aliyun:3306/test”; String username = “test” ; String password = “test” ; try{ Connection con = DriverManager.getConnection(url ,username , password ) ; }catch(SQLException e){ e.printStackTrace() ; //需要对异常做处理
怎样搭建Django服务器环境
1.首先安装python,配置环境变量path:C:\Python27;C:\Python27\Scripts;
2.去django官网下载压缩包Django-1.8.3.tar.gz,然后解压在C盘,输入以下命令:
cd C:\Django-1.8.3
python setup.py install
命令运行后,Django环境就安装好了,然后配置环境变量path:C:\Python27\Lib\site-packages\Django-1.8.3-py2.7.egg\django\bin
3.在命令终端输入以下命令导入并检查django安装情况:
python
import django
django.VERSION
4.创建一个Django工程
django-admin startproject cms678(工程名)
这样在用户目录下就会产生一个cms678的工程文件夹。
manage.py:可以在命令行下管理这个项目。
__init__.py:将这个项目目录作为Python的一个包。
settings.py: 项目的配置文件。
urls.py:定义了Django项目中的URL路由表,指定了URL与被调用类之间的对应关系。
wsgi.py: 这个是Django1.4中新添加的默认Web服务器网关接口。
命令窗口切换到cms678文件夹,然后运行命令:python manage.py runserver,启动当前目录工程。
浏览器输入
到此基本操作就结束啦 :-)
如何在阿里云上部署django
前提条件
1.为 Python 应用程序安装 virtualenv 和 virtualenv wrapper,目的在于为 Python 项目创建独立的环境。
●安装 pip
sudo apt-get install python-pip
●安装 virtualenv
sudo pip install virtualenv
●创建目录以存储您的 virtualenv
mkdir ~/.virtualenvs
●安装 virtualenwrapper
sudo pip install virtualenvwrapper
●将 WORKON_HOME 设置为您的 virtualenv 目录
导出 WORKON_HOME=~/.virtualenvs
●将 WORKON_HOME 设置为您的 virtualenv 目录
导出 WORKON_HOME=~/.virtualenvs
●将 virtualenvwrapper.sh 添加到 .bashrc
将此行添加到 ~/.bashrc 的末尾,以便加载 virtualenvwrapper 命令。/usr/local/bin/virtualenvwrapper.sh
退出,然后重新打开您的 shell,或者使用 .bashrc or source ~/.bashrc 命令重新加载 .bashrc,然后一切准备就绪。
2.安装 git。
apt-get install git
3.安装 Nginx 作为 Web 服务器,这样您便可在其之后运行您的应用程序。
Sudo apt-get install nginx
启动您的第一个 Linux 实例
接下来向您介绍使用阿里云管理控制台运行 ECS 实例的相关步骤。
1.登录到您的帐户,然后导航到“产品与服务”部分下的“云服务器”。单击侧边栏菜单中的概览。这会显示运行中的实例列表。单击购买实例从任意地域购买实例,或者继续到下一步创建新实例。
2.单击侧边栏菜单中的实例。在实例列表中选择所需地域,然后单击右上方栏中的创建实例。
3.系统会将您重新定向到“产品购买”控制台,在此您需要选择偏好的资源包 - 对 ECS 实例和数据传输提供特殊定价的初级资源包或提供两种定价模式的高级购买资源包。您可以根据自身需求选择订阅(按月或按年)或者按量付费。此案例中,我们选择了“按量付费”。
4.在此窗口中,选择要在其中启动 ECS 实例的数据中心地域和可用性区域。如果选择了地域但未选择可用性区域,系统会将实例随机放在任何区域。
5.现在您需要选择自己想要创建的实例类型。根据自身需求,从“生成”选项卡中选择生成实例类型。生成类型根据配置和所用的计算能力表示不同的实例类型。
6.接下来,选择网络类型以启动您的 ECS 实例。可根据自身需求选择经典网络或专有网络。在经典网络中,阿里云以分布式方式分配 IP 地址。它适合于需要简单快速地使用 ECS 的用户。专有网络更多的是一种逻辑隔离私有网络,它支持专用连接。它适合于熟悉网络管理的用户。选择适当的网络类型后,选择网络计费类型:数据传输或固定带宽。在这两种情况下,您都需要设置网络带宽峰值(最大数据传输速率)。
7.现在,您需要选择操作系统。每个选项下都提供了不同操作系统版本的列表。选择 Ubuntu。
8.根据自身需要,从下拉菜单中选择系统磁盘类型。您还可以通过单击“添加磁盘”向此列表添加更多磁盘。
9.在“安全设置”部分中,您可以创建密码以提高安全性,或者在此阶段跳过此步骤并稍后从管理控制台执行此操作。
10.在“采购计划”部分中,键入您的实例名称并设置要启动的实例的数量。
11.在“概览”部分查看配置详情和总价,然后单击立即购买。
12.单击开通确认业务订单并启动实例。
13.启动实例后,您可以在控制台的实例选项卡中查看该实例。
安装和部署 Django 应用程序
您已使用阿里云管理控制台创建和启动 ECS 实例,接下来让我们了解如何安装和部署 Django 应用程序。
1.使用 ssh 命令登录到您的服务器
2.输入密码
3.通过创建一个新的 virtualenv 为部署 Django 应用程序设置环境:
mkvirtualenv DjangoApp
要退出新的 virtualenv,请使用 deactivate。
您可以使用 workon 在环境之间切换。要加载或在 virtualenv 之间切换,请使用 workon 命令:workon DjangoApp
4.在您的当前环境中安装 Django
pip install Django
5.使用 django-admin 命令创建样本项目并将目录更改为项目文件夹。
django-admin startproject todoApp
cd todoApp/
6.迁移或引导您的数据库。
python manage.py migrate
7.创建超级用户以访问管理面板。
python manage.py createsuperuser
8.设置用户后,通过运行由 manage.py 操作的 runserver 命令测试您的应用程序
python manage.py runserver 0.0.0.0:8000
您将看到以下内容在端口 8000 上运行
转至 /admin,这是您的管理面板,您可在此管理应用程序。
现在使用 Nginx 将您的应用程序置于 Web 服务器之后。
9.创建数据库架构 开通 python 环境。
●将目录更改为 Django 项目目录
●运行以下命令
python manage.py migrate
10.收集所有静态文件(css、js 等)
●运行以下命令以在任意特定位置收集所有静态文件
Python manage.py collectstatic --noinput
●开发人员负责将 STATIC_URL 路径设置为将收集所有静态文件的位置。
●这些变量在项目目录内的 setting.py 中定义。
1.STATIC_URL
2.STATICFILES_DIRS
3.STATIC_ROOT
11.使用 uwsgi 服务器安装 uwsgi 库并启动服务器。
pip install uWSGI
●创建用于部署 Django 应用程序的 ini 文件vim uwsgi.ini
●将其保存到应用程序目录上的 uwsgi.ini。如需进一步了解如何编写 ini 文件,请参阅 Python/WSGI 应用程序快速入门。运行此命令以启动您的应用程序。
uwsgi uwsgi.ini (您的 ini 文件)
12.更改 nginx 配置文件以用于应用程序。
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; server_name localhost; location /static/ { include uwsgi_params; alias /root/todoApp/public/; } location / { include uwsgi_params; uwsgi_pass unix:/tmp/uwsgi.sock; } }
13.重启 nginx,随后您的应用程序将启动并在端口 80 上的 nginx 之后运行。
在阿里云服务器使用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用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怎么放到服务器运行的相关内容别忘了在本站进行查找喔。