zoukankan      html  css  js  c++  java
  • 工作中Django上线必须是每个人都要掌握的

    需要的软件

    1.首先需要一个可以连接你服务器的软件这里需要两个:一个是传文件的(FileZilla),另外一个是和服务器连接,给服务器安装环境用(Xshell)和(putty)都可以

    实现第一步拉取文件

    1.首先连接FileZilla,连接后会出现下图样式(这里我使用的服务器是阿里云的,系统是Ubuntu)。这里说明一下,连接好后你进入var目录下,此时里面的文件里可能没有一个叫www的文件,这时你可以先创建一个。创建完成后你把你的项目包放到www文件下。

    2.你拉取的项目里不包含你做项目时的数据库,所以你在这里也可以顺便数据库也打包拉进去。反正刚开始我也不会拉,所以这里我也演示一下,嘿嘿!顺便把Xshell的连接也说了。

    这里的用户名是你在虚拟机(阿里云服务器用户名默认root,IP用的服务器给你的公有IP)设置的,密码是你自己设置的密码。

    成功后是这样的

    进入你的终端执行

    mysqldump -uroot -p blog(这里是你的数据库名,blog是我的)> blog(这个名字你可以随便起).sql

    然后把你的数据库导出的包放到下图所示位置

    开始第二步,配置环境

    1.更新软件列表(不更新可能装不上东西)

    apt update

    2.安装常用软件

    apt install nginx
      apt install mysql-server  #安装过程会弹出一个输入密码的框,这是你进入数据库的密码
      apt install git
      apt install vim

    3.安装虚拟开发环境pyenv

    curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

    这个虚拟环境装完后在最后会出来三句话,每个人的路径都不同

    然后输入命令进入 .bashrc 进去后把刚复制的三句话放置到文件最后,wq保存退出后执行命令让它生效,此时就可以生效

    vim .bashrc
      source .bashrc

    接着命令

    cd .pyenv  #进入这个文件
      mkdir cache #创建cache文件
      cd cache/ #进入此目录

    这时需要安装python

    #在安装python之前,我们必须要安装python所需要的依赖包,这个必须要安装,安装会失败的:
      sudo apt-get install libc6-dev gcc
      sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm
      ​
      #安装python包,版本可自选,这里我用3.6.6
      wget -c http://mirrors.sohu.com/python/3.6.6/Python-3.6.6.tar.xz -P  ~/.pyenv/cache/#做安装
      pyenv install 3.6.6 -v
      ​
      #更新pyenv数据库
      pyenv rehash
      ​
      #列出所安装的python版本
       pyenv versions
      ​
      #切换python版本
      pyenv  global 3.6.6#6.验证版本
      python

    成功后进入你的项目里创建虚拟开发环境(如果你想切出虚拟环境,可执行pyenv deactivate env3.6.6)

    cd /var/www
      cd blog #进入你自己项目
      接着创建一个自己的虚拟环境。用法如下:pyenv virtualenv python版本号 虚拟环境名
      pyenv virtualenv 3.6.6 env3.6.6   #注意版本号必须是已经安装的,否则会报错
      切换到你创建的虚拟环境
      pyenv activate env3.6.6
      pip freeze #利用pip安装,但是版本需要升级,按照提示升级

    继续,利用pip进行安装,安装你需要的安装包Django,pymysql,pillow,django-tinymce(这个是富文本)

    pip install django==1.11.16
      pip install pymysql
      pip install pillow
      .....
      pip freeze #再次查看你安装的包和版本号

    最后在安装一个

    pip install uwsgi
      vim uwsgiconf.ini

    进去后把下方的配置文件放到里面

    [uwsgi]
      ​
      # 外部访问地址,可以指定多种协议,现在用http便于调试,之后用socket  #
      socket = 0.0.0.0:8000 # uwsgi的监听端口
    # 指向项目根目录
      chdir =  /var/www/blog
      # wsgi.py所在位置
      wsgi-file = blog(项目目录)/wsgi.py
      module = blog(你的项目).wsgi
      # 虚拟开发环境位置(一定要改成你自己的虚拟环境目录)
      virtualenv = /root/python/.pyenv/versions/env3.6.6
      #plugins = python
      ​
      master = true
      ​
      # 处理器数
      processes = 1# 线程数
      threads = 2

    最后再配置一下nginx。最后的blog是自己创建的一个文件名

      vim /etc/nginx/sites-available/blog

    进去后把配置也写下,配置如下,转换网址在这里http://www.cnkuai.cn/zhuanma.asp?act=save

    server {
          listen 80;
          server_name www.bly.我爱你; #这里写自己的域名,如果后面访问不出效果,只出一个(欢迎来到nginx界面)。那可能与你的域名有关(反正我的域名是中文后缀,没解析出来),所以这时你可以把你中文域名放置到网上转换一下,再放到这里就可以了。
          location / {
              # 转发端口必须和uwsgiconf.ini中socket端口一致
              uwsgi_pass      127.0.0.1:8000; 
              include uwsgi_params; 
              uwsgi_param UWSGI_SCRIPT blog.wsgi; 
              # 项目的根目录
              uwsgi_param UWSGI_CHDIR  /var/www/blog;
          }
          # 静态资源所在位置
          location /static {
              alias /var/www/blog/static/;
          }
      }

    配置完成后,进入刚刚的位置配置一个软连接(切记下面的blog,是一个软件界名字,中间有个空格)

    cd /etc/nginx/
      cd sites-enabled/
      ln -s ../sites-available/blog blog
      ll #查看结果里没有报红颜色,就成功

    然后重启服务,如果不报错,就ok,如果报错,可能是语法问题

    service nginx restart

    最后再到你的项目目录下启动uwsgi

    cd /var/www/blog/
      ps -aux | grep uwsgi #查看uwsgi是否起来,如果起来了,把他禁掉
      uwsgi uwsgiconf.ini

    如果是和下面的一样,那你就成功了。

    如果提示您的端口被占用

    netstat -anp
      kill -9 PID(这里是进程)

    然后,访问你的域名。

     

  • 相关阅读:
    JavaScript连载32-常用的鼠标事件
    Java连载138-数据库删除数据以及编译预处理
    C连载22-scanf转换说明中的修饰符
    Android连载32-实现登录密码存储功能
    JavaScript连载31-图片动态切换以及关闭图片案例
    搭建一个开源项目15-解决安装mysql不成功的问题
    Java连载137-更新数据和删除数据
    从零开始学VUE之组件化开发(注册父子结构组件)
    从零开始学VUE之组件化开发(注册局部组件)
    从零开始学VUE之组件化开发(注册全局组件)
  • 原文地址:https://www.cnblogs.com/542684416-qq/p/10049917.html
Copyright © 2011-2022 走看看