django - 部署

django项目部署

步骤

1.github建立新仓库

[email protected]:yc913344706/learning_log.git

2.本地安装git

[email protected] MINGW64 /e/yc_study/python/django/sys/workspace/learning_log

$ git --version

git version 2.16.0.windows.2

3. 创建.gitignore并编辑

[email protected] MINGW64 /e/yc_study/python/django/sys/workspace/learning_log (master)

$ touch .gitignore

[email protected] MINGW64 /e/yc_study/python/django/sys/workspace/learning_log (master)

$ cat .gitignore

ll_env/

__pycache__/

*.pyc

*.sqlite3

4. 建立本地仓库

[email protected] MINGW64 /e/yc_study/python/django/sys/workspace/learning_log (master)

$ git init

Initialized empty Git repository in E:/yc_study/python/django/sys/workspace/learning_log/.git/

5. 添加文件

[email protected] MINGW64 /e/yc_study/python/django/sys/workspace/learning_log (master)

$ git add .

6. 提交到本地仓库

[email protected] MINGW64 /e/yc_study/python/django/sys/workspace/learning_log/ll_env (master)

$ git commit -am "Initialize the project"

-- snip --

7. 关联github远程仓库

[email protected] MINGW64 /e/yc_study/python/django/sys/workspace/learning_log/ll_env (master)

$ git remote add origin [email protected]:yc913344706/learning_log.git

8. push代码

如果在github的代码仓里原本有文件,则需要先pull

但是由于本地仓库和远程仓库有不同祖先,所以需要“合并不同版本的历史”

然后再次push即可

9. 服务器获取代码

9.1 服务器安装git

9.2 服务器生成公私钥

[[email protected] ~]$ ssh-keygen -t rsa -C "[email protected]"

9.3添加公钥到github

9.4 验证服务器git是否OK

[[email protected] .ssh]$ ssh -T [email protected]

9.5 配置服务器的git全局信息

[[email protected] .ssh]$ git config --global user.name "rhel_7"

[[email protected] .ssh]$ git config --global user.email "[email protected]"

9.6 拉取代码

[[email protected] py_web_project]$ pwd

/data01/py_web_project

[[email protected] py_web_project]$ git clone [email protected]:yc913344706/learning_log.git

10 开发服务器测试代码是否可用

10.1安装python

[[email protected] tools]$ wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz

[[email protected] tools]$ tar -xf Python-3.6.3.tgz

[[email protected] tools]$ cd Python-3.6.3/

[[email protected] Python-3.6.3]$ sudo yum -y install xz wget gcc make gdbm-devel openssl-devel sqlite-devel zlib-devel bzip2-devel python-devel libyaml unzip libffi-devel

[[email protected] Python-3.6.3]$ sudo ./configure --prefix=/usr/local

[[email protected] Python-3.6.3]$ sudo make -j

[[email protected] Python-3.6.3]$ sudo make install

[[email protected] Python-3.6.3]$ sudo mv /usr/bin/python /usr/bin/python_2_7_old

[[email protected] Python-3.6.3]$ sudo ln -s /usr/local/bin/python3.6 /usr/bin/python

[[email protected] Python-3.6.3]$ python --version

Python 3.6.3

10.2 安装pip

[[email protected] tools ]$ wget https://bootstrap.pypa.io/get-pip.py

[[email protected] tools]$ sudo python get-pip.py

[[email protected] tools]$ pip --version

pip 10.0.1 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)

10.3 安装virtualenv

[[email protected] tools]$ pip install --user virtualenv

10.4 创建虚拟环境

[[email protected] tools]$ cd /data01/py_web_project/learning_log

[[email protected] learning_log]$ virtualenv ll_env

[[email protected] learning_log]$ ls

learning_log  learning_logs  ll_env  manage.py  README.md

10.5 激活虚拟环境

[[email protected] learning_log]$ source ll_env/bin/activate

(ll_env) [[email protected] learning_log]$

10.6 虚拟环境中安装依赖环境

(ll_env) [[email protected] learning_log]$ pip install -r requirements.txt

10.7 迁移数据库

(ll_env) [[email protected] learning_log]$ python manage.py migrate

10.8 创建超级管理员

(ll_env) [[email protected] learning_log]$ python manage.py createsuperuser

10.9 开发服务器启动服务器并测试

(ll_env) [[email protected] learning_log]$ python manage.py runserver 0.0.0.08080

[[email protected] ~]$ curl 127.0.0.1:8080
<p>
  <a href="/">Learning Logs</a> -
  <a href="/topics/">Topics</a>
</p>

  <p>YC‘s Learning Logs</p>
[[email protected] ~]$ curl 192.168.0.101:8080
curl: (7) Failed connect to 192.168.0.101:8080; Connection refused
[[email protected] ~]$ sudo firewall-cmd --state
running
[[email protected] ~]$ sudo firewall-cmd --get-active-zones
public
  interfaces: ens33
[[email protected] ~]$ sudo firewall-cmd --permanent --zone=home --change-interface=ens33
The interface is under control of NetworkManager, setting zone to ‘home‘.
success
[[email protected] ~]$ sudo firewall-cmd --get-active-zones
home
  interfaces: ens33
[[email protected] ~]$ sudo firewall-cmd --permanent --zone=home --add-port=8080/tcp
success
[[email protected] ~]$ sudo firewall-cmd --reload
success
[[email protected] ~]$ sudo firewall-cmd --zone=home --list-all
home (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources:
  services: ssh mdns samba-client dhcpv6-client
  ports: 8080/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
[[email protected] ~]$ curl yc.test.com:8080
<p>
  <a href="/">Learning Logs</a> -
  <a href="/topics/">Topics</a>
</p>

  <p>YC‘s Learning Logs</p>

xshell中新开虚拟终端进行调试

11 nginx+wsgi

TODO:待添加操作步骤

参考资料

tortoisegit管理密钥问题

https://www.cnblogs.com/cglNet/p/3706860.html

git无法pull仓库refusing to merge unrelated histories

https://blog.csdn.net/lindexi_gd/article/details/52554159

Django 部署(Nginx)

https://code.ziqiangxuetang.com/django/django-nginx-deploy.html

原文地址:https://www.cnblogs.com/yc913344706/p/9131366.html

时间: 2024-07-30 19:48:50

django - 部署的相关文章

Django部署:Django+gunicorn+Nginx环境的搭建

本人的服务器环境为Ubuntu14.04,使用的是Python3.4版本,并且安装有pip(Ubuntu中Python3配合的是pip3),并且以管理员身份运行,如果是普通用户,请切换管理员权限(sudo). 一.gunicorn和nginx的简介 gunicorn需要搭配nginx使用,那么两者的作用到底是什么. 1.gunicorn简介:gunicorn是一个Python WSGI UNIX服务器.WSGI(Web Server Gateway Interface)是Web服务网关接口,位于

Gunicorn + Django 部署

1. 下载gunicorn pip install gunicorn 2. 运行 gunicorn AutoSa.wsgi:application ## AutoSa为我project的名字,后面的不变即可 -b 监听ip和端口,默认是 127.0.0.1:8000 如:0.0.0.0:80-w 开启多个进程 如 -w 8-k gunicorn 默认使用同步阻塞的网络模型(-k sync),对于大并发的访问可能表现不够好, 它还支持其它更好的模式,比如:gevent或meinheld. 先pip

django部署到apache上(非常重要的,3者版本要一致,是32位就都要是32位的)

网上把django部署到apache的文章挺多的,但是按照大家的操作,并没有一次就成功,还是遇到了一些问题,这里主要有以下几个情况. 1.网上找到的mod_wsgi的版本问题,导致动态库加载不上. 2.配置问题,因为涉及到apache.Python和mod_wsgi的版本,所以配置上可能也不太一样. 这里我把我遇到的问题和解决方案比较详细的写下来.失败经历可跳过. 失败经历 我的环境是python2.7.11 64位版本,apache我选择的是2.4.20x 64位版本,这里有一点必须要保证的是

Django 部署 uwsgi + nginx + supervisor

Django 部署 uwsgi + nginx + supervisor https://hacpai.com/article/1460607620615?p=1&m=0 zonghua ? 6 个月前 ? 浏览 1.7K ? 回帖 15Python  Django  uwsgi  NGINX 更新依赖 pip install uwsgi 编辑配置文件 uwsgi.ini [uwsgi] # Django-related settings chdir = /home/zonghua/Docume

django部署到apache上

网上把django部署到apache的文章挺多的,但是按照大家的操作,并没有一次就成功,还是遇到了一些问题,这里主要有以下几个情况. 1.网上找到的mod_wsgi的版本问题,导致动态库加载不上. 2.配置问题,因为涉及到apache.python和mod_wsgi的版本,所以配置上可能也不太一样. 这里我把我遇到的问题和解决方案比较详细的写下来.失败经历可跳过. 失败经历 我的环境是python2.7.11 64位版本,apache我选择的是2.4.20x 64位版本,这里有一点必须要保证的是

django 部署,gunicorn、virtualenv、nginx

声明: 1.本篇文章是我边写命令边写的,请尊重我的劳动成果,转载请加上链接. 2.我既然公开写出来,是希望大家遇到问题的时候有个参考,所以,大家可以免费转载,使用该文章 3.但是,如果你要用这篇文章来赚钱,sorry,你至少得分我点吧. 使用gunicorn 来部署django django写代码简单,但部署是个难题,今天终于发现gunicorn 这个好东西,与大家一起分享. 环境:ubuntu 14.04 64bit + django 1.6.5 + virtualenv + gunicorn

python之Django部署

Django部署: 1. 租云服务器 2. 买服务器 租:公网IP,111.13.101.208 租域名:www.pythonav.com <-> 111.13.101.208 3. 编写代码 4. 拷贝代码到服务器[Python,Django,pymysql,sqllite] 5. settings.py ALLOWED_HOSTS = ['服务器',]  # 即网站IP python manage.py runserver 0.0.0.0:8001 使用: 遵循wsig协议: wsgire

nginx+uwsgi+django部署流程

当我们在用django开发的web项目时,开发测试过程中用到的是django自带的测试服务器,由于其安全及稳定等性能方面的局限性,django官方并不建议将测试服务器用在实际生产. nginx+uwsgi+django是我们常用的django部署方式.nginx作为最前端的服务器,他负责接收所有的客户端请求,对于请求的静态文件,由nginx服务器自己完成,因为它具有很好处理静态文件的能力,性能进行过优化,支持高并发量:uWSGI服务器作为支持服务器,是用来服务nginx的,nginx将请求的动态

Django部署

前段时间,由于实验室项目的需要,要搭建一个web服务器,可怜我只会写python,所以就去研究了一下Django.学习Django是一个愉快的过程,本来就该如此嘛,Python提倡INTERESTING TO CODE,所以很快,我就完成了Django的本地部署,然而在把Django搭到服务器上的是,却是让我捣鼓了一个星期,真真是把我坑苦了. 1.我的环境 在把Django搭建到Apache上时候,首先你需要明确你使用的Django和Apache的版本,嗯,还有Python的版本(这很重要)!