问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Django网站怎么部署git(2023年最新整理)

发布网友 发布时间:2024-09-19 08:02

我来回答

1个回答

热心网友 时间:2024-10-01 03:45

导读:本篇文章首席CTO笔记来给大家介绍有关Django网站怎么部署git的相关内容,希望对大家有所帮助,一起来看看吧。

怎么用git部署

1.下面我们以ubuntuserver为例,介绍一下如何使用Git来管理项目代码,并且部署代码的web站点目录。

2.1.准备工作:

1台拥有SSH权限的服务器(LNMP,git,ssh安装配置)

一台装有git客户端的PC(本文实际在windows下的msysgit操作)

3.LNMP,git,ssh安装配置

#安装LNMP$wget-ctarzxvflnmp1.0-full.tar.gzcdlnmp1.0-full./ubuntu.sh#安装Gitssh$sudoapt-getinstallgitgit-coressh

windows下安装msysgit

4.2.在你的web服务器上建立git裸仓库、编写hooks、导入用户公钥、设置目录权限

在服务器上建立一个用户,这里命名为git,修改git的密码,并禁用shell登录

$sudouseraddgit#修改git的密码$passwdgit#禁用shell登录$sudovi/etc/passwd修改git:x:1001:1001:,,,:/home/git:/bin/bash为git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。

初始化Git仓库,建立git裸仓库,设置hook脚本(web目录需要git用户有权限,否则git的hook脚本将没有办法执行操作)

$cd/opt$mkdirgit$cdgit$sudogitinit--baredemosite.git#文件夹权限$sudochown-Rgit:gitdemosite.git$cd/demosite.git/hooks$sudovipost-receive写入以下内容#!/bin/shGIT_WORK_TREE=/home/wwwroot/gitcheckout-f#写入权限$chmod+xpost-receive#建立web目录,如果目录不存在,git不会创建目录的$mkdir/home/wwwroot/-p#web目录的文件夹权限$sudochown-Rgit:git/home/wwwroot/

创建证书登录

收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。

客户端用户证书生成请参考下文。

5.3.在git客户端生成公钥、导入服务器、coding、add、commit、push

生成公钥,导入服务器

$ssh-keygen-trsa-C"your_email@youremail.com"一路回车或者设置密码windows下回提示在哪里生成了密钥windows8下提示在C:\Users\username\.ssh下,linux的话会在~/.ssh下进入目录,打开id_rsa.pub,复制里面的key,添加到上文提到的web服务器的/home/git/.ssh/authorized_keys里。

clonecodingaddcommitpush

$gitclonegit@serverip:/opt/git/demosite.gitCloninginto'demosite'...warning:Youappeartohaveclonedanemptyrepository.$cat'helloworld!'index.html$gitaddindex.html$gitcommit-m'firstcommit'$gitremoteaddoriginssh://git@serverip:/opt/git/demosite.git$gitpushoriginmaster

这里使用公钥来做权限验证,运行git里的hook的脚本权限为git用户的权限,当然你也可以使用自己在server上的用户来进行git操作,前面对于git用户的操作和客户端公钥的生成则可以省略,在git上脚本的执行权限则是你登录用户的权限,相应的origin的设置应该为:

$gitremoteaddoriginssh://yourusername@serverip:/opt/git/demosite.git

这时候每次push将需要输入密码验证。

忽略某些文件

你可以在你的顶层工作目录中添加一个叫".gitignore"的文件,来告诉Git系统要忽略掉哪些文件,下面是文件内容的示例:

使"gitadd."和"gitcommit-a"变得实际可用。

#以'#'开始的行,被视为注释.#忽略掉所有文件名是foo.txt的文件.foo.txt#忽略所有生成的html文件,*.html#foo.html是手工维护的,所以例外.!foo.html#忽略所有.o和.a文件.*.[oa]#Eclipse.settings/*.buildpath.project

如何在阿里云上部署django

前提条件

1.为Python应用程序安装virtualenv和virtualenvwrapper,目的在于为Python项目创建独立的环境。

●安装pip

sudoapt-getinstallpython-pip

●安装virtualenv

sudopipinstallvirtualenv

●创建目录以存储您的virtualenv

mkdir~/.virtualenvs

●安装virtualenwrapper

sudopipinstallvirtualenvwrapper

●将WORKON_HOME设置为您的virtualenv目录

导出WORKON_HOME=~/.virtualenvs

●将WORKON_HOME设置为您的virtualenv目录

导出WORKON_HOME=~/.virtualenvs

●将?virtualenvwrapper.sh?添加到?.bashrc

将此行添加到~/.bashrc的末尾,以便加载virtualenvwrapper命令。/usr/local/bin/virtualenvwrapper.sh

退出,然后重新打开您的shell,或者使用?.bashrcorsource~/.bashrc?命令重新加载.bashrc,然后一切准备就绪。

2.安装git。

apt-getinstallgit

3.安装Nginx作为Web服务器,这样您便可在其之后运行您的应用程序。

Sudoapt-getinstallnginx

启动您的第一个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应用程序设置环境:

mkvirtualenvDjangoApp

要退出新的virtualenv,请使用deactivate。

您可以使用workon在环境之间切换。要加载或在virtualenv之间切换,请使用workon命令:workonDjangoApp

4.在您的当前环境中安装Django

pipinstallDjango

5.使用django-admin命令创建样本项目并将目录更改为项目文件夹。

django-adminstartprojecttodoApp

cdtodoApp/

6.迁移或引导您的数据库。

pythonmanage.pymigrate

7.创建超级用户以访问管理面板。

pythonmanage.pycreatesuperuser

8.设置用户后,通过运行由manage.py操作的runserver命令测试您的应用程序

pythonmanage.pyrunserver0.0.0.0:8000

您将看到以下内容在端口8000上运行

转至/admin,这是您的管理面板,您可在此管理应用程序。

现在使用Nginx将您的应用程序置于Web服务器之后。

9.创建数据库架构开通python环境。

●将目录更改为Django项目目录

●运行以下命令

pythonmanage.pymigrate

10.收集所有静态文件(css、js等)

●运行以下命令以在任意特定位置收集所有静态文件

Pythonmanage.pycollectstatic--noinput

●开发人员负责将STATIC_URL路径设置为将收集所有静态文件的位置。

●这些变量在项目目录内的setting.py中定义。

1.STATIC_URL

2.STATICFILES_DIRS

3.STATIC_ROOT

11.使用uwsgi服务器安装uwsgi库并启动服务器。

pipinstalluWSGI

●创建用于部署Django应用程序的ini文件vimuwsgi.ini

●将其保存到应用程序目录上的uwsgi.ini。如需进一步了解如何编写ini文件,请参阅?Python/WSGI应用程序快速入门。运行此命令以启动您的应用程序。

uwsgiuwsgi.ini(您的ini文件)

12.更改nginx配置文件以用于应用程序。

server?{???listen80default_server;????listen[::]:80default_serveripv6only=on;????server_namelocalhost;?location/static/?{????includeuwsgi_params;????alias/root/todoApp/public/;?}?location?/??{????includeuwsgi_params;????uwsgi_passunix:/tmp/uwsgi.sock;??}}

13.重启nginx,随后您的应用程序将启动并在端口80上的nginx之后运行。

如何在阿里云上部署django网站

Django的部署建议放在Linux系统上。比较易于新手入门的Linux服务器发布版应该是Ubuntu,aliyun上目前最新版本应该是16.04,建议64位。

如果你是新网站,没有多少访问量,建议1核1内存或者2G内存,1-2M的宽带就足够了。最近双十一还有活动。

部署,安装Nginx:

apt?install?nginx

不知道你的Django项目是python2还是Python3,如果选用uwsgi部署方式,除了uwsig需要装一个uwsgi-plugin-python或者uwsgi-plugin-python3

剩下的看官方文档的uwsgi部署部分基本就ok了,因为全写实在太长了,还有的uwsgi配置文件。

结语:以上就是首席CTO笔记为大家整理的关于Django网站怎么部署git的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~

热心网友 时间:2024-10-01 03:50

导读:本篇文章首席CTO笔记来给大家介绍有关Django网站怎么部署git的相关内容,希望对大家有所帮助,一起来看看吧。

怎么用git部署

1.下面我们以ubuntuserver为例,介绍一下如何使用Git来管理项目代码,并且部署代码的web站点目录。

2.1.准备工作:

1台拥有SSH权限的服务器(LNMP,git,ssh安装配置)

一台装有git客户端的PC(本文实际在windows下的msysgit操作)

3.LNMP,git,ssh安装配置

#安装LNMP$wget-ctarzxvflnmp1.0-full.tar.gzcdlnmp1.0-full./ubuntu.sh#安装Gitssh$sudoapt-getinstallgitgit-coressh

windows下安装msysgit

4.2.在你的web服务器上建立git裸仓库、编写hooks、导入用户公钥、设置目录权限

在服务器上建立一个用户,这里命名为git,修改git的密码,并禁用shell登录

$sudouseraddgit#修改git的密码$passwdgit#禁用shell登录$sudovi/etc/passwd修改git:x:1001:1001:,,,:/home/git:/bin/bash为git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。

初始化Git仓库,建立git裸仓库,设置hook脚本(web目录需要git用户有权限,否则git的hook脚本将没有办法执行操作)

$cd/opt$mkdirgit$cdgit$sudogitinit--baredemosite.git#文件夹权限$sudochown-Rgit:gitdemosite.git$cd/demosite.git/hooks$sudovipost-receive写入以下内容#!/bin/shGIT_WORK_TREE=/home/wwwroot/gitcheckout-f#写入权限$chmod+xpost-receive#建立web目录,如果目录不存在,git不会创建目录的$mkdir/home/wwwroot/-p#web目录的文件夹权限$sudochown-Rgit:git/home/wwwroot/

创建证书登录

收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。

客户端用户证书生成请参考下文。

5.3.在git客户端生成公钥、导入服务器、coding、add、commit、push

生成公钥,导入服务器

$ssh-keygen-trsa-C"your_email@youremail.com"一路回车或者设置密码windows下回提示在哪里生成了密钥windows8下提示在C:\Users\username\.ssh下,linux的话会在~/.ssh下进入目录,打开id_rsa.pub,复制里面的key,添加到上文提到的web服务器的/home/git/.ssh/authorized_keys里。

clonecodingaddcommitpush

$gitclonegit@serverip:/opt/git/demosite.gitCloninginto'demosite'...warning:Youappeartohaveclonedanemptyrepository.$cat'helloworld!'index.html$gitaddindex.html$gitcommit-m'firstcommit'$gitremoteaddoriginssh://git@serverip:/opt/git/demosite.git$gitpushoriginmaster

这里使用公钥来做权限验证,运行git里的hook的脚本权限为git用户的权限,当然你也可以使用自己在server上的用户来进行git操作,前面对于git用户的操作和客户端公钥的生成则可以省略,在git上脚本的执行权限则是你登录用户的权限,相应的origin的设置应该为:

$gitremoteaddoriginssh://yourusername@serverip:/opt/git/demosite.git

这时候每次push将需要输入密码验证。

忽略某些文件

你可以在你的顶层工作目录中添加一个叫".gitignore"的文件,来告诉Git系统要忽略掉哪些文件,下面是文件内容的示例:

使"gitadd."和"gitcommit-a"变得实际可用。

#以'#'开始的行,被视为注释.#忽略掉所有文件名是foo.txt的文件.foo.txt#忽略所有生成的html文件,*.html#foo.html是手工维护的,所以例外.!foo.html#忽略所有.o和.a文件.*.[oa]#Eclipse.settings/*.buildpath.project

如何在阿里云上部署django

前提条件

1.为Python应用程序安装virtualenv和virtualenvwrapper,目的在于为Python项目创建独立的环境。

●安装pip

sudoapt-getinstallpython-pip

●安装virtualenv

sudopipinstallvirtualenv

●创建目录以存储您的virtualenv

mkdir~/.virtualenvs

●安装virtualenwrapper

sudopipinstallvirtualenvwrapper

●将WORKON_HOME设置为您的virtualenv目录

导出WORKON_HOME=~/.virtualenvs

●将WORKON_HOME设置为您的virtualenv目录

导出WORKON_HOME=~/.virtualenvs

●将?virtualenvwrapper.sh?添加到?.bashrc

将此行添加到~/.bashrc的末尾,以便加载virtualenvwrapper命令。/usr/local/bin/virtualenvwrapper.sh

退出,然后重新打开您的shell,或者使用?.bashrcorsource~/.bashrc?命令重新加载.bashrc,然后一切准备就绪。

2.安装git。

apt-getinstallgit

3.安装Nginx作为Web服务器,这样您便可在其之后运行您的应用程序。

Sudoapt-getinstallnginx

启动您的第一个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应用程序设置环境:

mkvirtualenvDjangoApp

要退出新的virtualenv,请使用deactivate。

您可以使用workon在环境之间切换。要加载或在virtualenv之间切换,请使用workon命令:workonDjangoApp

4.在您的当前环境中安装Django

pipinstallDjango

5.使用django-admin命令创建样本项目并将目录更改为项目文件夹。

django-adminstartprojecttodoApp

cdtodoApp/

6.迁移或引导您的数据库。

pythonmanage.pymigrate

7.创建超级用户以访问管理面板。

pythonmanage.pycreatesuperuser

8.设置用户后,通过运行由manage.py操作的runserver命令测试您的应用程序

pythonmanage.pyrunserver0.0.0.0:8000

您将看到以下内容在端口8000上运行

转至/admin,这是您的管理面板,您可在此管理应用程序。

现在使用Nginx将您的应用程序置于Web服务器之后。

9.创建数据库架构开通python环境。

●将目录更改为Django项目目录

●运行以下命令

pythonmanage.pymigrate

10.收集所有静态文件(css、js等)

●运行以下命令以在任意特定位置收集所有静态文件

Pythonmanage.pycollectstatic--noinput

●开发人员负责将STATIC_URL路径设置为将收集所有静态文件的位置。

●这些变量在项目目录内的setting.py中定义。

1.STATIC_URL

2.STATICFILES_DIRS

3.STATIC_ROOT

11.使用uwsgi服务器安装uwsgi库并启动服务器。

pipinstalluWSGI

●创建用于部署Django应用程序的ini文件vimuwsgi.ini

●将其保存到应用程序目录上的uwsgi.ini。如需进一步了解如何编写ini文件,请参阅?Python/WSGI应用程序快速入门。运行此命令以启动您的应用程序。

uwsgiuwsgi.ini(您的ini文件)

12.更改nginx配置文件以用于应用程序。

server?{???listen80default_server;????listen[::]:80default_serveripv6only=on;????server_namelocalhost;?location/static/?{????includeuwsgi_params;????alias/root/todoApp/public/;?}?location?/??{????includeuwsgi_params;????uwsgi_passunix:/tmp/uwsgi.sock;??}}

13.重启nginx,随后您的应用程序将启动并在端口80上的nginx之后运行。

如何在阿里云上部署django网站

Django的部署建议放在Linux系统上。比较易于新手入门的Linux服务器发布版应该是Ubuntu,aliyun上目前最新版本应该是16.04,建议64位。

如果你是新网站,没有多少访问量,建议1核1内存或者2G内存,1-2M的宽带就足够了。最近双十一还有活动。

部署,安装Nginx:

apt?install?nginx

不知道你的Django项目是python2还是Python3,如果选用uwsgi部署方式,除了uwsig需要装一个uwsgi-plugin-python或者uwsgi-plugin-python3

剩下的看官方文档的uwsgi部署部分基本就ok了,因为全写实在太长了,还有的uwsgi配置文件。

结语:以上就是首席CTO笔记为大家整理的关于Django网站怎么部署git的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 有域名后如何自己部署django(2023年最新解答) 【CodeWave最佳实践】源码导出本地测试各种阻塞搞不定,看完这篇... 绿城宁波研发园价格信息 绿城宁波研发园交通方便吗?应该怎么过去? 第九特区吴天胤和秦禹的关系 宁波研发园南区(宁波创新港)属于哪个区 UGNX4.0快速入门教程目录 UGNX基础及应用教程 目录 UG NX5中文版机械设计案例教程目录 UGNX6.0工程图设计内容简介 UG NX 5.0工程师培训教程目录 生了锈的锅还可以用不铁锅怎么不生锈 怎样实别兰花组培苗 如何区别兰花的原生苗和组培苗? 中国平安人寿保险股份公司不属于国企,那买他保险的人受不受《保险法... 2018年全球经济形势及投资展望 主持稿求日文翻译。 微星一口气推出4个系列的GTX 1650 GDDR6,哪一款更适合预算有限的ITX... 良心亏什么意思是什么意思 narwall是什么意思? 室内单元板有没有全彩的呢,能否说下室内和户外半户外单元板的区别呢,谢... 一米的鱼缸用60W的3000L/H水泵行吗 双喜罐是什么意思? 梦见看见别人做茭白罐头的预兆 让孩子越玩越聪明的游戏 公安侦办虚假诉讼案件有时间限制吗? 越玩越聪明·逻辑猪:幼儿阶梯游戏内容简介 利伐沙班一般要吃多久 事前两小时吃紧急避孕药管用吗 利伐沙班片什么时候可以停药 利伐沙班服用多久可以停药 沈阳第五大道质量如何 服用利伐沙班一般需要多少天为一个疗程 沈阳住宅一般用什么入户门 利伐沙班片可以长时间服用吗 朝阳和平世家值得买吗? 吉高西部汽配城怎么样?好不好?值不值得买? 利伐沙班服用了3个月就管终身吗 骨折 利伐沙班片吃多久 小目标烟多少钱一盒哪里能买得到