精华内容
下载资源
问答
  • django网站部署

    千次阅读 2012-04-13 23:09:27
    经过几个月得拖拖拉拉,项目终于上线了,项目本身没什么出彩得地方,那就说说整个项目得架构和部署吧 项目是个常见得OLTP(也叫CURD)项目了,使用django + mysql, mysql使用了现在正火得percona,前面用了些...

    经过几个月得拖拖拉拉,项目终于上线了,项目本身没什么出彩得地方,那就说说整个项目得架构和部署吧

    项目是个常见得OLTP(也叫CURD)项目了,使用django + mysql, mysql使用了现在正火得percona,前面用了些memcahced,cache了首页和一些template、model,感觉需要一个透明缓存框架了,不然很多代码要重复了,像很多model得cache代码都是这样的:

    key = 'xxxx'
    obj = cache.get(key)
    if obj is None:
        obj = model.objects.get(...)
        cache.set(key, obj)
    return obj

    被这样得代码恶心死了, 再看看有什么框架可以改进吧。

    另外,为了性能,很多地方都raw sql了,这也比较恶心,但django orm自动出来得sql又太没效率了,难道是表设计问题?

    log: 本来想用sentry来统一收集log得,但测试得时候发现会导致性能变慢,也有可能是我sentry没配好(和项目在同一台机器上且没有使用MQ)得原因,然后也因为部署环境限制,最后把它去掉了,还是写文件(ps。logging模块确实好用)

    程序启动是用gunicorn + gevent, 纯wsgi启动性能确实比较惨, 用了gevent之后好点,至少比fastcgi好多了, gevent还是比较难懂,下面有些东西还是比较晦涩得,比如一开始我把session放在memcache里,但在测试人数不是很高得情况下,也会有从memcache查不到数据得情况,但是,这个数据确实存在于memcache中,碰见这种问题真得让人很崩溃,自觉上是与gevent有关,最后改用cookie存session才把这个问题wrok around过去。

    项目发布一开始是用capistrano, 后来换成fabric, 对我来说都一样了,通通都是shell嘛

    共享文件:使用很挫的nfs挂载了,毕竟小项目嘛,就不需要整什么mogilefs 等等了

    supervisor: 使用还是很简单,和virtualenv也可以结合使用, 就是被他那个gunicorn不用加-D参数给耍了一下

    virtualenv:其实服务就跑在虚拟机上,本来就不需要这玩意得,但前期也一直用,也就懒得去改了,至少测试环境还是多项目共用机器,也不错了

    监控: 前期研究了很多,啥munin阿、nagios阿、zabbix阿等等等等,不过但了正式环境,呵呵,这个没有了

    nginx: 测试环境用得是他,但正式环境有F5,也就不需要了

    整个项目用到得大概就这些了,其实本来是想说点技术做点笔记得,但写着写着却变成了一篇吐槽文,没办法

    总结下吧: django性能是个渣, gunicorn很不错(连django 1.4都推荐了), gevent快是快,但用起来心里没底(文档也太tm少了)

    打算: 下一步准备上个nosql和MQ,项目小但啥也不能缺阿, 哈哈


    最后一句:理想很丰满,现实很骨感啊




    展开全文
  • 文章目录基于华为云的Django网站部署远程登录华为云Xftp+Xshell远程传输文件在远程主机上开启SSHXshell远程连接服务器(和本博客没啥关系,可以实现Linux和Windows互传文件)Xftp传输文件(注意在远程服务器要启动SSH...

    学习笔记,仅供参考,有错必纠

    参考自:Xshell远程连接服务器win10 开启ssh server服务 远程登录




    基于华为云的Django网站部署


    远程登录华为云


    首先,windows键+R键,调出运行框,输入mstsc命令,回车,调出远程桌面窗口,并输入要连接的公网IP:

    点击连接,进入登录界面,输入密码,进入远程主机:


    Xftp+Xshell远程传输文件


    在远程主机上开启SSH


    我们在设置 -> 应用中,点击管理可选功能

    点击添加功能

    点击openssh 服务器

    安装完后,在cmd中验证安装:

    C:\Users\Administrator>ssh
    usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]
               [-b bind_address] [-c cipher_spec] [-D [bind_address:]port]
               [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]
               [-i identity_file] [-J [user@]host[:port]] [-L address]
               [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
               [-Q query_option] [-R address] [-S ctl_path] [-W host:port]
               [-w local_tun[:remote_tun]] destination [command]
    

    启动SSH服务:

    C:\Users\Administrator>net start sshd
    OpenSSH SSH Server 服务正在启动 .
    OpenSSH SSH Server 服务已经启动成功。
    

    Xshell远程连接服务器(和本博客没啥关系,可以实现Linux和Windows互传文件)


    打开Xshell,点击左上角的文件,弹出来一个下拉框,点击新建,按照如下填写:

    点击用户身份验证,填写远程主机的用户名和密码:

    点击Xshell左上角的文件,再点击 打开,找到我们想登录的服务器,点击连接

    出现如下界面,说明连接成功:


    Xftp传输文件(注意在远程服务器要启动SSH服务)

    点击左上角的文件,再点击新建,填写如下信息,并点击连接

    如果看到如下界面,我们就可以开始传输文件了,首先选择要传输的文件,并点击工具栏上的向右传输图标,开始传输:


    配置环境


    需要软件

    • Anaconda3-5.0.1-Windows-x86_64(python3.6)
    • Django2.2
    • mysql5.7
    • git
    • Chrome
    • Navicat
    • editplus
    • 解压软件

    具体配置步骤

    1. 安装Anaconda3-5.0.1-Windows-x86_64

    下载地址

    1. 安装mysql5.7

    安装教程

    1. 安装Navicat

    下载:

    链接:h#ttps://#p#a#n.b#aid#u.c#om/s/1hC#ARf1YH#mTa#30HNni#1479A 
    提取码:l0n1 
    

    安装完成后创建数据库papermanagesystem

    1. 更新pip
    python -m pip install --upgrade pip -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
    
    1. 下载Django2.2
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple django==2.2.13
    
    1. 下载pymysql及客户端
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pymysql
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple mysqlclient
    
    1. 传输以写好的项目文件夹到远程主机

    或者从git上克隆项目(先下载git),首先,在git bash中进入项目文件夹,并敲入如下代码:

    git clone https://gitee.com/goatbishop/tjjmwebsite03.git
    
    1. 创建项目

    创建项目:

    django-admin startproject PaperManageSystem01
    

    将已经写好的项目内容复制到该文件夹下。

    1. 数据库迁移

    进入项目文件夹,在cmd中键入如下代码:

    python manage.py makemigrations
    python manage.py migrate
    

    注意这里,如果报错,就参考:https://blog.csdn.net/m0_37422217/article/details/106844682
    如果没有报错,就不要进行以上修改。

    1. 创建超集管理员账号
    python manage.py createsuperuser
    

    键入上述代码后,Django会提示我们输入用户名、邮箱以及密码。

    1. 测试

    运行项目:

    python manage.py runserver
    

    并访问127.0.0.1:8000进行测试.

    1. 下载editplus

    下载editplus,是为了之后方便我们编辑一些文件。

    注意,安装editplus后,需要激活码才能使用:

    注册名:Vovan
    注册码:3AG46-JJ48E-CEACC-8E6EW-ECUAW
    
    1. IIS部署

    步骤见下


    IIS部署


    Windows弹性云服务器上安装IIS服务


    安装:安装教程

    在浏览器中访问http://127.0.0.1,测试是否安装成功,如果安装成功,将出现如下界面:


    在安全组中将网站所用的端口入方向规则放通

    参考文献1参考文献2

    现在,我增加如下规则:


    wfastcgi

    安装wfastcgi:

    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple wfastcgi
    

    启动wfastcgi:

    wfastcgi-enable
    

    cmd中出现如下输出结果:

    记录自己的python路径和wfastcgi的路径,以后要用:

    c:\mysoftware\anaconda\python.exe|c:\mysoftware\anaconda\lib\site-packages\wfastcgi.py
    

    在IIS里添加项目网站


    打开IIS管理器,并且在IIS中添加网站:

    将静态文件的路径作为虚拟路径添加到网站中:

    在项目文件夹的web.config文件中,将自己的python路径和wfastcgi的路径,项目路径,和settings.py文件的路径填入:

    此时,我们通过私有IP访问一下网站,如果发现如下错误:

    出现这样的情况是因为IIS7之后的版本都采用了更安全的 web.config 管理机制,默认情况下会锁住配置项不允许更改。我们把它解锁了就OK。

    打开cmd,在里面依次输入下面两个命令:

    %windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers
    %windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/modules
    

    解除了锁定之后,我们再次访问,发现报了如下错误:

    我们试着再次安装IIS服务,检查是否有组件忘记安装,发现果然少安装了几个东西,比如:ASP.NET等。

    现在,我们通过公网IP(121.36.110.227:8000)访问我们的网站:

    成功!


    展开全文
  • django网站部署流程

    2020-08-26 10:15:58
    然后重启 部署完成 域名 买一个域名,我在腾讯域名买了域名,新人第一年一块钱(白嫖) 域名解析绑定服务器公网ip 认证完成后下载ssl证书 登录服务器,修改nginx.conf,将添加ssl证书 到阿里云备案(这个过程需要几天...

    服务器

    1. 买个服务器,在管理控制台里开启80端口443端口,我用的是阿里云,学生免费试用一年(白嫖)
    2. 远程登录到服务器,用scp将本地项目上传到云服务器
    # win10的Powershell或者下载WinSCP软件
    scp -r 本地项目文件夹  用户名(root)@服务器公网ip:远程目录
    
    • 安装nginx、MySQL、python虚拟环境
    • 开启虚拟环境,安装需要用到的包,还有uwsgi包
    • 将项目debug改成False
    • 在项目根目录下新建uwsgi.ini文件,输入配置,uwsgi uwsgi.ini启动
    • 修改nginx.conf配置文件,然后重启
    • 部署完成

    域名

    • 买一个域名,我在腾讯域名买了域名,新人第一年一块钱(白嫖)
    • 域名解析绑定服务器公网ip
    • 认证完成后下载ssl证书
    • 登录服务器,修改nginx.conf,将添加ssl证书
    • 到阿里云备案(这个过程需要几天)

    等收到阿里云备案通过的邮件即可

    在这里插入图片描述

    欢迎访问我的一个小博客网站

    https://www.byc.ink

    展开全文
  • + 问题:自己弄了一个django小说网站,能够运行并实现功能,但是最近我以...+ 之前的网站能够完整的运行,说明部署参数设置都没问题,也没有改动,就是加了个app之后就出现这个错误了,不知道怎么回事,希望大神解答!
  • 本文介绍在腾讯云服务器上部署Django网站的详细步骤。 一、搭建基础环境 Django是基于Python语言开发的一个开源的Web开发框架,它鼓励快速开发,并遵循MVC设计理念,是当今较为流行web开发框架之一。本文介绍在腾讯...

    Django是基于Python语言开发的一个开源的Web开发框架,它鼓励快速开发,并遵循MVC设计理念,是当今较为流行web开发框架之一。本文介绍在腾讯云服务器上部署Django网站的详细步骤。

    一、搭建基础环境

    Django是基于Python语言开发的一个开源的Web开发框架,它鼓励快速开发,并遵循MVC设计理念,是当今较为流行web开发框架之一。本文介绍在腾讯云服务器上部署Django网站的详细步骤。

    1.1安装镜像

    使用云服务器部署系统的最大好处就是可以利用镜像快速搭建操作系统及其相关的基础环境。本例中,我们选择“Python多版本运行环境”镜像安装服务器。该镜像包含Centos 7.4 64位操作系统,同时还集成了Python、MySQL、Nginx、pyenv、ipython等软件。

    1.2安装tree(如环境中已经有了tree,此步骤可以省略)

    #yum -y install tree
    

    在这里插入图片描述

    1.3下载PIP安装程序

    #wget https://bootstrap.pypa.io/get-pip.py
    

    在这里插入图片描述
    成功下载后,在当前的root目录下出现了get-pip.py文件:
    在这里插入图片描述

    1.4 PIP安装

    #python get-pip.py
    

    二、安装Django

    #pip install Django==1.10.3
    

    在这里插入图片描述
    这里1.10.3是版本号,可改为想安装的其他版本号。检验Django是否安装成功的方法:执行python进入交互式界面,输入import django,然后再输入django.VERSION,注意大小写,回车后可看到刚安装的Django的版本号。
    在这里插入图片描述

    三、创建Django项目

    在根目录下创建一个目录,存放Django项目,执行下面命令:

    #django-admin startproject MyWeb
    

    在这里插入图片描述
    创建好MyWeb项目之后,没有提示任何信息。我们可以用tree命令看到创建好的Django项目。

    #cd MyWeb
    #tree
    

    在这里插入图片描述
    项目目录下的manage.py是一个实用的命令行工具,可以通过它管理django服务器等。在项目目录下,还有一个和容器同名的MyWeb目录,其中的__init__.py是项目初始化文件,告诉python该目录是一个python包,settings.py是用来进行项目配置的文件,urls.py是项目中所有的url声明,可以认为是django驱动整个项目的url目录,可以定义多种优雅的路由请求,wsgi.py是一个WSGI兼容的Web服务器入口,方便运行web项目。

    四、运行Django项目

    运行Django项目涉及到两个ip地址,一个是局域网ip地址(即腾讯云所称的内网ip),一个是广域网ip地址(即腾讯云所称的公网ip)。运行Django项目时,在行命令中需要用到内网IP地址。在本例中,云服务器的内网地址为172.17.16.10,公网ip地址为:212.64.50.241 。详见下图:
    在这里插入图片描述
    该运行环境部署了nginx软件,把默认的80端口预留给了 nginx网页。如下图所示:
    在这里插入图片描述
    因此,我们在运行Django项目是使用8000端口(也是Django的默认端口)。

    #python manage.py runserver 172.17.16.10:8000
    

    在这里插入图片描述
    上述提示中的错误信息(红色字体)告诉我们,可运行#python manage.py migrate来解决这个问题。此时,通过浏览器访问网站,也出现如下错误:
    在这里插入图片描述
    下面,我们解决上述两个错误。
    首先,运行以下行命令:

    #python manage.py migrate
    

    在这里插入图片描述
    然后,在配置文件setting.py中添加允许的HOST主机IP地址,也即公网IP地址。补充说明,setting.py位于/root/MyWeb/MyWeb子目录,可以用linux环境下的编辑器修改。本文中,我们通过WinSCP修改配置文件,这样可以使用WINDOWS的记事本(Notepad),修改起来比较方便。
    在这里插入图片描述
    配置文件修改好之后,重新运行Django:

    #python manage.py runserver 172.17.16.10:8000
    

    在这里插入图片描述
    在这里插入图片描述
    看到这个页面,说明django项目运行正常了。此时,当浏览器发出请求时,服务器都会更新消息:
    在这里插入图片描述

    五、搭建应用

    经过上面的步骤之后,一个简单的Django网站模型就搭建完成了。接下来,我们搭建一个简单的测试应用。

    #cd /root/MyWeb
    #python manage.py startapp hello
    #tree
    

    在/root/MyWeb目录下,运行行命令#python manage.py startpa hello,即可建立一个名为“hello”的新应用。用tree命令查看新创建的应用,结果如下:
    在这里插入图片描述

    5.1 直接打印显示内容

    首先,在/root/MyWeb/MyWeb/seeting.py文件中加入hello应用,详见下图:
    在这里插入图片描述
    然后,在/root/MyWeb/MyWeb/urls.py文件中输入红框中的文字,详见下图:
    在这里插入图片描述
    最后,打开hello/views.py文件,输入以下文字:
    在这里插入图片描述
    现在,打开浏览器,输入http://212.64.50.241:8000/hello/,运行结果如下图:
    在这里插入图片描述

    5.2 通过文件模板显示内容

    首先,修改hello/views.py文件,详见下图:
    在这里插入图片描述
    然后,在hello目录下创建一个子目录,名称必须为“templates”。在templates子目录中创建一个名称为“index.html”的新文件,并输入以下内容:
    在这里插入图片描述
    最后,打开浏览器,输入http://212.64.50.241:8000/hello/,运行结果如下:
    在这里插入图片描述
    注:如果应用程序已退出运行,则需要先重新运行应用,然后才能正确访问网站;如果没有退出运行,则刷新浏览器即可看到上述结果。

    5.3 通过文件模板参数显示内容

    首先,修改hello/views.py文件,详见下图:
    在这里插入图片描述
    然后,修改index.html文件为以下内容:
    在这里插入图片描述
    最后,打开浏览器,输入http://212.64.50.241:8000/hello/,运行结果如下:
    在这里插入图片描述

    六、 总结

    本文介绍了在腾讯云服务器上搭建Django网站的详细步骤,并采取三种方式创建了一个最简单的应用实例。由于云服务器上的应用镜像版本会不断变化,如果读者在仿照本文搭建网站时遇到小问题,可以根据错误提示采取相应的解决方案。

    展开全文
  • 通过Django的后台来进行网站管理,在这个网站中寻在Topic模型,可以在这里添加Topic (3)同理我们可以定义一个Entry模型,models.py文件中添加的代码如下 class Entry (models.Model) : topic = ...
  • django项目部署

    2019-04-27 21:16:40
    开发模式中,采用的django自带的服务器进行的服务器进行网站的开发和测试 python manage.py runserver [ip:port] 在项目上线和需要部署在服务器的时候,我们就需要采用其他的服务器进行代理 服务器:uWSGI pip ...
  • django网站部署

    2018-05-11 11:49:34
    部署 部署1: python启动,用于测试和本地开发 安装包 sudo apt update apt install mysql-server mysql-client 设置远程访问mysql (1) 查找 mysql.conf find / -name mysql.cnf (2)注释mysql.cof文件...
  • Django版本 Windows Server 2008 R2 Enterprise 6.0 3.7.3 2.2 环境准备 IIS安装 服务器管理器 > Web服务器(IIS) Web服务器(IIS) > 添加角色服务 > CGI Python环境安装 导出开发环境安装的...
  • + 今天我想改动一下后台代码,竟被提示未安装Django,然后我赶快看了下pip-list,果然没有,但是我的网站一直在运行啊,没有问题啊,为啥出现这个错误? + 期间我为了安装scrapy安装了anaconda,是不是这货给我弄没...
  • 2. 安装nginx(网站服务) 安装nginx sudo apt-get install nginx 2、启动nginx sudo /etc/init.d/nginx start 3、验证 打开浏览器,输入 :127.0.0.1 显示:Welcome to nginx! 3、安装uwsgi 1、安装 sudo pip3 ...
  • Django项目部署

    2019-05-03 16:19:00
    Windows Server2012 用IIS部署Django 窗口+R 运行mstsc 连接远程桌面为啥会闪退? https://www.win7zhijia.net/xtjc/2807.html 问题 部署网站登陆时验证码图片(显示为一个红色小X) ...
  • django 网站演示 网站后台 地址:http://ceshi.yuboysmart.cn/ 后台地址:http://ceshi.yuboysmart.cn/ 登录名:user123 密码:ad12345678 具体详情请联系店长

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,079
精华内容 431
关键字:

django网站部署