• linux --- 7. 路飞学城部署


    一.前端 vue 部署

      1.下载项目的vue 代码(路飞学城为例),

    wget https://files.cnblogs.com/files/pyyu/07-luffy_project_01.zip

      解压缩

    unzip 07-luffy_project_01.zip

      2.配置 node环境

      ①下载node 的代码包

    wget https://nodejs.org/download/release/v8.6.0/node-v8.6.0-linux-x64.tar.gz

      ②解压缩

    tar -zxvf node-v8.6.0-linux-x64.tar.gz

      ③配置环境变量

    ①    vim  /etc/profile





    ③读取配置文件
    source  /etc/profile 

       3.验证node是否正确配置

    node -v 
    npm -v 

    (node就是如同python解释器   npm就是如同pip软件包管理工具)

      4.修改vue的代码文件(api.js)

      ①路径在vue项目下

    /opt/07-luffy_project_01/src/restful

      ② 更改成自己的服务器ip地址

    批量操作:
    
    sed -i  "s/127.0.0.1:8000/192.168.226.128:9000/g"  api.js 


    sed 是linux处理字符串的命令
    -i 是将结果替换到文件
    "s/127.0.0.1:8000/192.168.226.128:9000/g" #解释 s是替换模式

       /你想替换的内容/你想替换的结果/ g是全局替换
    api.js 你想修改操作的文件

      5.打包 vue 生成静态文件夹  dist

    npm install  #解决vue代码所需的模块依赖  
    
    npm run build    #进行编译打包

    查看dist 是否已存在

    cd /opt/07-luffy_project_01/node_modules/vue

    二.前端 uwsgi 部署

       1.下载后端代码 (以路飞学城为例)

    wget  https://files.cnblogs.com/files/pyyu/luffy_boy.zip

       2.创建新的虚拟环境

    mkvirtualenv luffy

       3.解决环境依赖

    解决环境依赖问题 ,可以用requirements.txt解决依赖问题

    1. vim requirements.txt #打开,
    2. 编辑写入如下模块依赖包信息 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 3.安装这个文件 requirements.txt pip3 install -i https://pypi.douban.com/simple -r requirements.txt

      4.使用uwsgi 启动后端

    使用uwsgi.ini配置文件方式启动,内容如下

    [uwsgi] # Django
    -related settings # the base directory (full path) #填写项目的绝对路径(第一层路径) chdir = /opt/luffy_boy # Django's wsgi file #填写crm第二层目录下的wsgi.py文件的路径 module = luffy_boy.wsgi # the virtualenv (full path) #填写虚拟环境的绝对路径 home = /root/Envs/luffy # process-related settings # master master = true # maximum number of worker processes #基于uwsgi的多进程,根据cpu来优化 processes = 4 # the socket (use the full path to be safe #如果你用了nginx反向代理,就填写socket参数 #如果你用了nginx反向代理,就填写socket参数 #如果你用了nginx反向代理,就填写socket参数 #如果你用了nginx反向代理,就填写socket参数 #如果你用了nginx反向代理,就填写socket参数 socket = 0.0.0.0:9001 #如果你没用nginx,想直接通过浏览器测试后端,使用http #http = 0.0.0.0:9001 # ... with appropriate permissions - may be needed # chmod-socket = 664 # clear environment on exit vacuum = true

       5.使用 supervisor也去管理路飞的后台

    [program:s18luffy]
     command=/opt/python36/bin/uwsgi  --ini  /opt/luffy_boy/uwsgi.ini
     stopasgroup=true
     killasgroup=true

     三. nginx反向代理转发

    ①修改nginx.conf内容如下
    
    
    #虚拟主机1
     server {
            #第一个虚拟主机,监听的80端口
            listen       80;
            server_name  192.168.226.128;
            location / {
                root /opt/s18luffy/07-luffy_project_01/dist;
                index index.html;
            }
    }
    
    #虚拟主机2
    
    server {
        listen 9000;
        server_name  192.168.226.128;
        location  / {
            uwsgi_pass 0.0.0.0:9001;
            include uwsgi_params;
        }
    
    }


    ② 重启nginx

    nginx -s reload

     四.启动 redis

        路飞学城用的数据库是sqllite,不需要mysql

       1.下载安装

    yum install redis -y 

       2.启动服务器

    systemctl start redis 

      3.登录客户端

    redis-cli  登录命令

       4.验证

    输入  ping 
    返回一个 pong 代表正确启动

     五.验证是否部署成功

    浏览器访问路飞学城首页,查看课程列表 ,进行alex账户登录
    账户:  alex 
    密码:  alex3714 
    
    登录后,添加购买django课程信息后,
    可以查看购物车信息,代表正确启动路飞学城

     六.其他(永久关闭防火墙)

            iptables -F  #清空规则
            systemctl stop firewalld  #关闭防火墙服务
            systemctl disable firewalld  #禁止开机自启

      

  • 相关阅读:
    go 1.14.3安装micro报错处理记录
    关于redis哨兵机制的一些疑问
    TCP中异常关闭的情况记录
    mysql sleep 死锁例子
    ubuntu16.04 安装go
    innodb存储引擎之内存
    ubuntu16.04环境LNMP实现PHP5.6和PHP7.2
    mysql使用存储过程,批量生成测试数据
    mysql 关于字符串搜索的函数
    电脑上的windows键突然失灵了,肿么办
  • 原文地址:https://www.cnblogs.com/sc-1067178406/p/10651810.html
Copyright © 2020-2023  润新知