• 1.4 linux 路飞项目


    Linux项目部署之发布路飞学城

    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
    tar -zxvf
    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文件夹

    8.部署后端代码所需的环境
    1.激活虚拟环境
    workon s15vuedrf
    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  存放于和manage.py同级的目录
    

    [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:8000

    这个参数是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 ,注意,此时要退出虚拟环境!!!!
    2.安装supervisor,使用python2的包管理工具 easy_install ,注意,此时要退出虚拟环境!!!!
    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:s15luffy]
    command=/root/Envs/s15vuedrf/bin/uwsgi --ini /opt/s15vuedrf/luffy_boy/s15drf/uwsgi.ini

    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步骤如下
    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.6.129;

    当接收到接口数据时,请求url是 192.168.13.79:8000 就进入如下location

    location / {
    #这里是nginx将请求转发给 uwsgi启动的 9000端口
    uwsgi_pass 192.168.6.129:9000;
    # include 就是一个“引入的作用”,就是将外部一个文件的参数,导入到当前的nginx.conf中生效
    include /opt/nginx112/conf/uwsgi_params;
    }
    }

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

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

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

  • 相关阅读:
    System.Xml.XmlException: There is no Unicode byte order mark. Cannot switch to Unicode.
    ClientSide Cookie Management optanoncategoryC0004
    How is OAuth 2 different from OAuth 1?
    Why OAuth 1.0a?
    Converting PKCS#12 certificate into PEM using OpenSSL
    OneTrust Cookie AutoBlocking™
    Ruby on rails开发从头来(windows)(二十二)测试Controller
    Ruby on rails开发从头来(windows)(十九)测试开始
    Ruby on rails开发从头来(windows)(十五)添加用户
    Ruby on rails开发从头来(windows)(十六)登录
  • 原文地址:https://www.cnblogs.com/zzy7372/p/10222745.html
Copyright © 2020-2023  润新知