前期准备

python3解释器

uwsgi wsgi(web服务网关接口,就是一个实现了python web应用的协议)

virtualenvwrapper

路飞的代码

vue的代码

nginx (一个是nginx对静态文件处理的优秀性能,一个是nginx的反向代理功能,以及nginx的默认80端口,访问nginx的80端口,就能反向代理到应用的8000端口)

mysql

redis 购物车订单信息

supervisor 进程管理工具

1.部署环境准备,准备python3和虚拟环境解释器,virtualenvwrapper
  pip3 install -i https://pypi.douban.com/simple virtualenvwrapper
2.修改python3的环境变量,写入到/etc/profile中
  PATH=/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/ruby/bin/:/root/bin
3.修改~/.bashrc
  写入变量

4.新建一个虚拟环境 s15vuedrf
  mkvirtualenv s15vuedrf

5.准备前后端代码
  wget https://files.cnblogs.com/files/pyyu/luffy_boy.zip
  wget https://files.cnblogs.com/files/pyyu/07-luffy_project_01.zip
  如果代码在本地,传到服务器 使用 lrzsz 和xftp工具

6.解压缩代码
  unzip luffy_boy.zip
  unzip 07-luffy_project_01.zip

7.从vue前端代码搞起
  1.准备node打包环境
    wget https://nodejs.org/download/release/v8.6.0/node-v8.6.0-linux-x64.tar.gz
  2.解压缩node包,配置环境变量,使用npm和node命令
  3.检测node和npm
    node -v
    npm -v
  4.安装vue项目所需的包
    cd /opt/s15vuedrf/07-luffy_project_01
    输入npm install
    npm run build
    这两条都正确配置之后,就会生成一个 dist 静态文件目录,整个项目的前端内容和index.html都在这里了
  5.等待nginx加载这个 dist文件夹

部署后端代码所需的环境

1.激活虚拟环境
  workon 进入虚拟环境
2.通过一条命令,导出本地的所有软件包依赖
  pip3 freeze > requirements.txt
3.将这个requirements.txt 传至到服务器,在服务器的新虚拟环境中,安装这个文件,就能安装所有的软件包了
  pip3 install -r requirements.txt
  
这个文件内容如下:项目所需的软件包都在这里了
  [root@web02 opt]# cat requirements.txt
    certifi==2018.11.29
    chardet==3.0.4
    crypto==1.4.1
    Django==2.1.4
    django-redis==4.10.0
    django-rest-framework==0.1.0
    djangorestframework==3.9.0
    idna==2.8
    Naked==0.1.31
    pycrypto==2.6.1
    pytz==2018.7
    PyYAML==3.13
    redis==3.0.1
    requests==2.21.0
    shellescape==3.4.1
    urllib3==1.24.1
    uWSGI==2.0.17.1

4.准备uwsgi 支持高并发的启动python项目(注意uwsgi不支持静态文件的解析,必须用nginx去处理静态文件)
  1.安装uwsgi
    pip3 install -i https://pypi.douban.com/simple uwsgi

  2.学习uwsgi的使用方法
    通过uwsgi启动一个python web文件
    uwsgi --http :8000 --wsgi-file s15testuwsgi.py
    --http 指定http协议
    --wsgi-file 指定一个python文件

    通过uwsgi启动django项目,并且支持热加载项目,不重启项目,自动生效 新的 后端代码

    uwsgi --http :8000 --module s15drf.wsgi --py-autoreload=1

    --module 指定找到django项目的wsgi.py文件

5.使用uwsgi的配置文件,启动项目
  1.创建一个uwsgi.ini配置文件,写入参数信息
    touch uwsgi.ini

配置文件如下

[uwsgi]
# Django-related settings
# the base directory (full path)
#指定项目的绝对路径的第一层路径!!!!!!!!!!!!!!!!!!!!!!!!
chdir = /opt/s15vuedrf/luffy_boy/ # Django's wsgi file
# 指定项目的 wsgi.py文件!!!!!!!!!!!!
# 写入相对路径即可,这个参数是以 chdir参数为相对路径
module = luffy_boy.wsgi # the virtualenv (full path)
# 写入虚拟环境解释器的 绝对路径!!!!!!
home = /root/Envs/s15vuedrf
# process-related settings
# master
master = true
# maximum number of worker processes
#指定uwsgi启动的进程个数
processes = 1 #这个参数及其重要!!!!!!
#这个参数及其重要!!!!!!
#这个参数及其重要!!!!!!
#这个参数及其重要!!!!!!
# the socket (use the full path to be safe
#socket指的是,uwsgi启动一个socket连接,当你使用nginx+uwsgi的时候,使用socket参数
socket = 0.0.0.0:9000 #这个参数是uwsgi启动一个http连接,当你不用nginx只用uwsgi的时候,使用这个参数
#这个参数是uwsgi启动一个http连接,当你不用nginx只用uwsgi的时候,使用这个参数
#这个参数是uwsgi启动一个http连接,当你不用nginx只用uwsgi的时候,使用这个参数
#这个参数是uwsgi启动一个http连接,当你不用nginx只用uwsgi的时候,使用这个参数
#这个参数是uwsgi启动一个http连接,当你不用nginx只用uwsgi的时候,使用这个参数
#http = 0.0.0.0:8000 # ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum = true

6.使用uwsgi配置文件启动项目
uwsgi --ini uwsgi.ini

supervisor进程管理工具

1.将linux进程运行在后台的方法有哪些
  第一个,命令后面加上 & 符号
  python manage.py runserver &

  第二个 使用nohup命令

  第三个使用进程管理工具

2.安装supervisor,使用python2的包管理工具 easy_install ,注意,此时要退出虚拟环境!!!!
  如果没有命令,使用以下命令,安装
  yum install python-setuptools
  easy_install supervisor

3.通过命令,生成一个配置文件,这个文件就是写入你要管理的进程任务
  echo_supervisord_conf > /etc/supervisor.conf

4.编辑这个配置文件,写入操作 django项目的 命令
  vim /etc/supervisor.conf
  直接到最底行,写入以下配置
  [program:luffyproject]  #项目名
  command=/root/Envs/p1/bin/uwsgi --ini /etc/uwsgi_nginx.ini

   #  首先进入到虚拟环境下cdvirtualenv  进入到虚拟环境的目录在pwd就是路径,后面ini 是自己配置的uwsgi的配置文件路径

5.启动supervisord服务端,指定配置文件启动
  supervisord -c /etc/supervisor.conf

6.通过supervisorctl管理任务
  supervisorctl -c /etc/supervisor.conf

7.supervisor管理django进程的命令如下
  supervisorctl直接输入命令会进入交互式的操作界面
  > stop s15luffy
  > start s15luffy
  > status s15luffy

8.启动luffy的后端代码

nginx静态文件处理

配置nginx步骤如下
  1.编译安装nginx
  2.nginx.conf配置如下

#第一个server虚拟主机是为了找到vue的dist文件, 找到路飞的index.html
  server {
    listen 80;
    server_name 192.168.13.79;
    #当请求来自于 192.168.13.79/的时候,直接进入以下location,然后找到vue的dist/index.html
    location / {
      root /opt/s15vuedrf/07-luffy_project_01/dist;
      index index.html;
      }
    }
#由于vue发送的接口数据地址是 192.168.13.79:8000 我们还得再准备一个入口server
  server {
    listen 8000;
    server_name 192.168.13.79;
    #当接收到接口数据时,请求url是 192.168.13.79:8000 就进入如下location
    location / {
    #这里是nginx将请求转发给 uwsgi启动的 9000端口
    uwsgi_pass 192.168.13.79:9000;
    # include 就是一个“引入的作用”,就是将外部一个文件的参数,导入到当前的nginx.conf中生效
    include /opt/nginx112/conf/uwsgi_params;
    }
  }

3.启动nginx
  ./sbin/nginx 直接启动
此时可以访问 192.168.13.79 查看页面结果

总结:

启动路飞项目,这个项目用的是sqllite,因此安装mysql自行选择

redis必须安装好,存放购物车的数据

Linux之项目的部署的更多相关文章

  1. linux 中文件权限和磁盘管理、linux服务器项目如何部署

    chmod chmod 421 xx.txt //4=r,2=w,1=x df 查看已挂载磁盘的总容量.使用容量.剩余容量等,可以不加任何参数,默认是按k为单位显示的 df常用参数有 –i -h -k ...

  2. Linux中java项目环境部署,简单记录一下

    这里只是简单的记录一下linux环境下面如何快速的搭配好环境,使你的项目能在linux环境上面运行. 很多时候,我们都是用windows环境进行配置调试的,而真正很多服务器都是在linux服务器上面的 ...

  3. 在linux下用tomcat部署java web项目的过程与注意事项

    在linux下用tomcat部署java web项目的过程与注意事项 一.安装JDK 到http://www.oracle.com/technetwork/java/javase/downloads/ ...

  4. Django项目在linux系统中虚拟环境部署

    1.在linux系统下,安装virtualenv 命令:pip install virtualenv 2.项目部署前的准备 1. Django web project deployment 1.1.  ...

  5. 在linux下用tomcat部署java web项目的过程与注意事项(转)

    在linux下用tomcat部署java web项目的过程与注意事项一.安装JDK到http://www.oracle.com/technetwork/java/javase/downloads/in ...

  6. 【转】前后端分离的项目如何部署发布到Linux

    前后端分离的项目如何部署发布到Linux 前期准备 1.服务器的基本配置信息2.本机远程连接服务器的工具(xshell.xftp或者mobaXterm等等,看你自己喜欢) 第一步:部署环境 1.安装j ...

  7. linux下tomcat的配置及项目的部署流程

    Java的安装配置 1. 在/etc/profile文件中配置相应的信息(如下) export JAVA_HOME=/usr/java/jdk1.6.0_20 export JRE_HOME=/usr ...

  8. mosquitto在Linux环境下的部署/安装/使用/测试

    mosquitto在Linux环境下的部署 看了有三四天的的源码,(当然没怎么好好看了),突然发现对mosquitto的源码有了一点点感觉,于是在第五天决定在Linux环境下部署mosquitto. ...

  9. 阿里云Linux CentOS 7 Docker部署使用gogs搭建自己的git服务器

    一.前言 Git是目前优秀和流行的源代码管理工具.而GitHub是一个面向开源及私有软件项目的托管云平台,但开源免费,私有收费.而公司出于商业化等目的需要搭建自己的源代码托管服务器.通过网上了解Gog ...

随机推荐

  1. Android 动态更换桌面图标

    每当双 11.12 来临之际,Android 手机 Launcher 中的淘宝.天猫图标就会变成双 11.12 主题的图标.实现了动态切换图标.名称 MainActivity package com. ...

  2. 十三、postman导出java代码

    导出成java的OkHttp代码 使用Junit进行接口自动化测试 使用fastJSON解析json字符串 创建个实体类 package com.netease.AcFunTest; public c ...

  3. (转)python3:类方法,静态方法和实例方法以及应用场景

    原文:https://blog.csdn.net/qq_34979346/article/details/83212716 1.实例方法在编程里经常用的是实例方法,直接用实例去调用, 只要 方法里有s ...

  4. 顶部导航TabBar、TabBarView、DefaultTabController

    原文地址:https://www.cnblogs.com/upwgh/p/11369537.html TabBar:Tab页的选项组件,默认为水平排列. TabBarView:Tab页的内容容器,Ta ...

  5. Hashmap(类似字典的东西)

    注意: 键值是唯一的,1个键对应一个值 常用api 打印处字典直接println方法 判断是否存在key值     containsKey() 例子: 基础操作 https://ke.qq.com/w ...

  6. [LeetCode] 294. Flip Game II 翻转游戏 II

    You are playing the following Flip Game with your friend: Given a string that contains only these tw ...

  7. oracle 常用命令【创建表空间用户及删除】

    /*第1步:创建临时表空间 */ create temporary tablespace ZJY_TEMP tempfile '/usr/u01/app/oradata/orcl/ZJY_TEMP.d ...

  8. Java内存分析工具

    内存分析工具 IDEA插件(VisualVM Launcher) 执行main函数的时候,同时启动jvisualvm,实时查看资源消耗情况.如图效果: Eclipse Memory Analyzer ...

  9. 【Python学习之五】函数

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 Python不但能非常灵活地定义函数,而且本身内置 ...

  10. (CSDN迁移) 输入一个链表,从尾到头打印链表每个节点的值

    题目描述 输入一个链表,从尾到头打印链表每个节点的值. 思路1. 翻转链表,使用java自带的翻转函数或者从头到尾依次改变链表的节点指针 /** * public class ListNode { * ...