当前位置: 首页 > news >正文

基于django的视频点播网站开发-step15-项目部署

项目部署是一个比较大的工程,但这是笔者最喜欢的一个环节,因为在部署过程中,会遇到很多疑难问题,这些问题能促使我学到很多很多的技术。

项目部署,顾名思义,就是将自己的程序存放到远程服务器上面,让全世界的网友都能访问到。在部署之前,我们需要提前准备好一些部署的知识,包括购买服务器、安装服务器软件、服务器配置、等等。

笔者专门购买了服务器来部署我们的视频播放网站,为了避免备案,笔者购买了国外的服务器。

购买服务器

购买服务器的地方有很多,国内有阿里云、腾讯云、百度云等,国外有aws、bwh、Linode等等。如果你是学生的话,建议购买 阿里云 的服务器,因为阿里云有学生认证,打折幅度非常大。

操作系统建议选择ubuntu系统

笔者购买的是aws服务器,操作系统是Ubuntu16.04

安装软件

需要安装的软件有nginx、mysql、python、uwsgi、django,另外还有项目的依赖库。

在Ubuntu系统安装nginx非常简单,只需一行命令

sudo apt-get install nginx
复制代码

nginx的常用命令有

sudo service nginx start  # 启动nginx
sudo service nginx restart # 重启nginx
sudo service nginx stop # 关闭nginx
复制代码

安装mysql

sudo apt-get install mysql-server
复制代码

启动mysql

sudo service mysql start
复制代码

安装uwsgi

pip3 install uwsgi
复制代码

安装django

pip3 install Django
复制代码

拉取代码

代码仓库为github.com/geeeeeeeek/…

git clone https://github.com/geeeeeeeek/videoproject.git
复制代码

项目里面 uwsgi.ini 为配置文件

[uwsgi]

chdir           =   /var/www/videoproject
module          =   videoproject.wsgi

master          =   true
processes       =   2 
socket          =   127.0.0.1:8001

chmod-socket    =   664
uid             =   www-data
gid             =   www-data

vacuum          =   true

daemonize       =   %(chdir)/uwsgi.log
复制代码

nginx就是通过该配置文件和uwsgi通信的,uwsgi是以socket方式运行。

然后运行该配置

uwsgi --ini uwsgi.ini   
复制代码

服务器配置

需要配置nginx 在/etc/nginx/sites-enabled/下新建配置文件video.conf,并写入

upstream django {
    server 127.0.0.1:8001;
}

server {
    listen 80;
    server_name yourhost.com; # 配置成你自己的域名
    rewrite ^(.*) https://$host$1 permanent;
}

server {
        listen 443;
        server_name yourhost.com; # 配置成你自己的域名
        ssl on;
        ssl_certificate /home/ubuntu/1_v.mypython.me_bundle.crt; # 配置成你自己的https证书
        ssl_certificate_key /home/ubuntu/2_v.mypython.me.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;

    location /static/ {
           alias /var/www/videoproject/static/;
        }

    location /upload/ {
           alias /var/www/videoproject/upload/;
        }


        location / {
             include         uwsgi_params;
            uwsgi_pass      django;
        }

}
复制代码

nginx 与 uwsgi通信方式: server 127.0.0.1:8001

最后重启nginx即可。

访问页面

相关文章:

  • php任务队列
  • OpsRamp推出以服务为中心的AIOps和云监控功能
  • C# 如何在Excel 动态生成PivotTable
  • 08.Android之View事件问题
  • .naturalWidth 和naturalHeight属性,
  • 数据模型
  • 深度解析利用ES6进行Promise封装总结
  • 上传本地项目到git.oschina
  • ES6系统学习----从Apollo Client看解构赋值
  • 前端临床手札——文件上传
  • IDEA Git版本回滚提交方式
  • spring framework 模块简介
  • Vue2.5 零基础开发去哪儿网实战(二) - 起步 Vue.js
  • 数组(list)分组、分段
  • 编译并导入OpenSSL
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • Android Volley源码解析
  • docker容器内的网络抓包
  • ES6语法详解(一)
  • GraphQL学习过程应该是这样的
  • js 实现textarea输入字数提示
  • Linux CTF 逆向入门
  • MYSQL 的 IF 函数
  • php中curl和soap方式请求服务超时问题
  • Python进阶细节
  • Quartz初级教程
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • TypeScript迭代器
  • Vue学习第二天
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 盘点那些不知名却常用的 Git 操作
  • 区块链分支循环
  • 微服务入门【系列视频课程】
  • 延迟脚本的方式
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​渐进式Web应用PWA的未来
  • #100天计划# 2013年9月29日
  • #Linux(帮助手册)
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (39)STM32——FLASH闪存
  • (ibm)Java 语言的 XPath API
  • (javascript)再说document.body.scrollTop的使用问题
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (二)换源+apt-get基础配置+搜狗拼音
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (南京观海微电子)——COF介绍
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法