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

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

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

购买服务器

购买服务器的地方有很多,国内有阿里云、腾讯云、百度云等,国外有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

拉取代码

代码仓库为https://github.com/geeeeeeeek/videoproject.git

git clone https://github.com/geeeeeeeek/videoproject.git

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

[uwsgi]chdir           =   /var/www/videoproject
module          =   videoproject.wsgimaster          =   true
processes       =   2
socket          =   127.0.0.1:8001chmod-socket    =   664
uid             =   www-data
gid             =   www-datavacuum          =   truedaemonize       =   %(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即可。

访问页面

基于django的视频点播网站开发-step15-项目部署 1相关推荐

  1. 基于django的视频点播网站开发-step2-搭建环境

    本讲中,带领大家搭建开发环境.我们会依次安装python.pip.django.mysql和其他的一些必要类库. 安装python 安装 Python 非常简单,去 Python 官方网站 找到 Py ...

  2. 基于django的视频点播网站开发-step12-后台订阅功能

    本讲我们会讲到一些关于发邮件的技术.我们知道,订阅功能是一个很常见的功能,当用户订阅某个网站后,网站会通过后台给用户发送网站最新的一些动向,一般是通过邮件来发送的.当你阅读完本节内容,会对发邮件的流程 ...

  3. 基于django的视频点播网站开发-step12-后台订阅功能...

    本讲我们会讲到一些关于发邮件的技术.我们知道,订阅功能是一个很常见的功能,当用户订阅某个网站后,网站会通过后台给用户发送网站最新的一些动向,一般是通过邮件来发送的.当你阅读完本节内容,会对发邮件的流程 ...

  4. 基于django的视频点播网站开发-step11-后台用户管理功能...

    用户管理功能,包含用户添加.列表展示.编辑.删除四大功能.下面我们一一揭晓. 用户添加 我们先实现用户添加功能,我们现在urls.py下添加相关的路由 path('user_add/', views. ...

  5. 基于django的视频点播网站开发-step10-后台评论管理功能...

    本讲中,我们会讲到评论管理功能,数据库中的每一条是来自用户的评价,因此后台中的评论管理只有评论列表和评论删除功能,没有增加评论和编辑评论. 照例我们先添加评论管理的相关路由 path('comment ...

  6. 基于python的电商网站建设_基于Django的电子商务网站开发

    Python的安装 目前市场上Python 2.X系列与Python 3.X系列共存的现象.读者可以安装Python 2.X系列或者Python 3.X系列.如果开发的目的是基于原有Python 2. ...

  7. php动态网站开发论文,浅谈《基于PHP的动态网站开发》课程的项目案例设计

    电子论文 浅谈<基于PHP的动态网站开发>课程的项目案例设计 时间:2020年05月25日 所属分类:电子论文 点击次数: [摘要]在教学资源建设中,案例设计建设是非常重要的资源之一.运用 ...

  8. 基于Django手机销售网站

    1,项目功能: (1)商品分类:该模块中,用户可以根据商品的分类信息进行商品检索. (2)商品预览:该模块主要实现商品的详细信息浏览功能. (3)购物车:用户可以把自己喜欢的商品添加到购物车中. (4 ...

  9. 基于Mint UI和MUI开发VUE项目一之环境搭建和首页的实现

    一:简介 Mint UI 包含丰富的 CSS 和 JS 组件,能够满足日常的移动端开发需要.通过它,可以快速构建出风格统一的页面,提升开发效率.真正意义上的按需加载组件.可以只加载声明过的组件及其样式 ...

  10. 基于python的火车票售票系统/基于django火车票务网站/火车购票系统

    摘  要 随着科学技术的飞速发展,社会的方方面面.各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,火车票售票系统当然也不能排除在外.火车票售票系统是以实际运用为开发背景,运用软件工 ...

最新文章

  1. fiddler抓包_Fiddler抓包详解
  2. 一起撸个朋友圈吧 图片浏览(上)【图片点击前景色】
  3. 用计算机打出二分之一,win10手机计算器怎么输入二分之一?
  4. html颜色叠加代码,html代码大全(基础使用代码)(颜色代码完整版)
  5. SVN命令行更新代码
  6. python绘制社会关系网络图_Python networkx 网络图绘制
  7. html5 自动保存 提示,html5+ SQLite提示数据表不存在
  8. 天使玩偶/SJY摆棋子
  9. Servlet中的转发
  10. 电脑麦克风插孔是哪个_【教程】客所思kx2传奇版接电脑控制面板调试教程
  11. [Spring实战系列](18)注解切面
  12. MySQL的btree索引和hash索引聚集索引
  13. Mongodb Manual阅读笔记:CH6 聚合
  14. My前端bootstrap(一)
  15. JAVA微信小程序论坛系统毕业设计 开题报告
  16. 使用matplotlib画对数函数图像
  17. 中国甜奶油粉市场趋势报告、技术动态创新及市场预测
  18. SDN交换机配置说明—微云
  19. Jinja2渲染的两种方式
  20. Java 9 模块化开发:核心原则与实践

热门文章

  1. matlab实现三角形的外接圆与内接圆
  2. IplImage详解
  3. TeamViewer远程控制软件,让你享受远程办公的便利
  4. python声纹识别_声纹识别(说话人识别)
  5. java求极限值_高等数学——讲透求极限两大方法,夹逼法与换元法
  6. 做了一款DTU,网络通信模块化,代码开源,可以二次开发
  7. ov5640帧率配置_OV5640摄像头的数据处理配置流程(一)
  8. 松散四叉树+网格法实现
  9. 软件测试工程师简历项目经验怎么写?--1000个已成功入职的软件测试工程师简历范文模板(含真实简历)
  10. linux yasm编译,linux安装yasm报错