• uwsgi和nginx进行部署


    本文转载https://blog.csdn.net/weixin_46237597/article/details/114110109

    首先我声明我本人用的是阿里云的服务器。

    • 环境设置

      地址
      ubuntu16.04 安装python3.6踩坑: https://blog.csdn.net/qq_42693848/article/details/88900553
      ubuntu16安装mysql8.0: https://blog.csdn.net/yzf279533105/article/details/105152525
      ubuntu 16.04安装redis的两种方式(apt和编译方式)和卸载: https://blog.csdn.net/Mikeoperfect/article/details/79468944
      Ubuntu16.04 下安装虚拟环境: https://blog.csdn.net/qq_41621362/article/details/89606522

      Ubuntu 16.04 Python 3.6 pip 安装mysqlclient:
      安装mysqlclient一般情况下会出现一些比较麻烦的bug
      如果出来bug可以参考:https://blog.csdn.net/qq_28359387/arti:cle/details/79901971

    • 在虚拟环境中下载你所需要的依赖

      可以把所需要的依赖打包好,批量下载
      打包命令:
      pip freeze>request.txt # request.txt打包好的文件名

      批量下载依赖:
      pip install -r request.txt -i https://pypi.douban.com/simple # i xxxx 豆瓣源

      如果批量下载的途中有依赖下载失败,可以先打开request.txt文件,把该依赖删掉,批量下载完了。切记把刚才删除的依赖在手动下载了

    • 打包vue文件

      在vue终端:
      npm run build # vue会生成一个dist的文件
      现在就可以创建一个目录,然后把Django项目还有dist文件都放在里面

      可以先跑Django项目确保本地的代码是没有问题的

    • 使用uwsgi来部署项目

      首先使用pip下载uwsgi包
      pip install uwsgi

      在刚才放Django项目还dist文件的同级目录下创建一个文件,用来存放uwsgi日志等文件
      cd到刚才创的文件,vi uwsgi.ini进去并且把下面的代码复制到里面:

      [uwsgi]
      socket=127.0.0.1:3399    # 使⽤Nginx连接时使⽤,Django程序所在服务器地址和端⼝号
      # http=172.16.240.177:8000  # 如果uwsgi接收到的是http请求就用这个端口号,否则用上面那个端口号
      chdir=/home/peter/opwf_program/opwf_project/opwf  # 项⽬⽬录绝对路径
    
      wsgi-file=opwf/wsgi.py  # 项⽬中wsgi.py⽂件的⽬录,相对于项⽬⽬录
    
      processes=4  # 进程数(机器核数的1倍)
    
      threads=50  # 线程数
    
      master=True  # uwsgi服务器的⻆⾊
    
      pidfile=uwsgi.pid  # 存放进程编号的⽂件
    
      daemonize=uwsgi.log  # ⽇志⽂件
    
      virtualenv=/home/peter/.virtualenvs/opwfenv  # 指定依赖的虚拟环境
    
      # 记得修改属于你的一些路径和端口
    
    • 配置nginx

      基于APT源安装nginx
      sudo apt-get install nginx

      安装好的文件位置(默认)

      /usr/sbin/nginx:主程序
      /etc/nginx:存放配置文件
      /usr/share/nginx:存放静态文件
      /var/log/nginx:存放日志

      安装完成后在 /etc/nginx/conf.d 下 vi django.conf 文件创建并打开django.conf

      # **配置nginx⾥的django配置**
       server {
      	 listen 8899;  # Django的端口号
      	 server_name 172.16.240.177;
      	 
      	 location / {
      	 include uwsgi_params;
      	 uwsgi_pass 127.0.0.1:3399;  # 这里对应的是uwsgi.ini文件中socket
      	 uwsgi_ignore_client_abort on;
      	 }
      } 
    
      # **配置nginx⾥的vue配置** 
       server {
      	 listen 8888; #1.你想让你的这个项⽬跑在哪个端⼝
      	 server_name 172.16.240.177; #2.当前服务器ip
      	 location / {
      	 root /home/peter/opwf_program/opwf_vue/dist; #3.dist⽂件的位置(我是直接放在home⽬录下了)
      	 try_files $uri $uri/ /index.html; #4.重定向,内部⽂件的指向(照写)
      	 }
       }
    
    • 启动nginx和uwsgi

      开启nginx : systemctl start nginx.service
      关闭nginx: systemctl stop nginx.service
      查看开启的nginx:ps -ef|grep nginx
      重启nginx : service nginx restart
  • 相关阅读:
    委托与事件的关系
    分布式存储ceph——(1)部署ceph
    neutron二
    openstack第五章:cinder
    openstack第六章:dashboard
    openstack第一章:keystone
    openstack第二章:glance
    openstack第三章:nova
    openstack第四章:neutron— 网络服务
    openstack安装
  • 原文地址:https://www.cnblogs.com/kaka007/p/14451234.html
Copyright © 2020-2023  润新知