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

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

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

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

购买服务器

购买服务器的地方有不少,国内有阿里云、腾讯云、百度云等,国外有aws、bwh、Linode等等。若是你是学生的话,建议购买 阿里云 的服务器,由于阿里云有学生认证,打折幅度很是大。mysql

操做系统建议选择ubuntu系统nginx

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

安装软件

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

在Ubuntu系统安装nginx很是简单,只需一行命令sql

sudo apt-get install nginx
复制代码

nginx的经常使用命令有django

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

安装mysqlubuntu

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便可。

访问页面

相关文章
相关标签/搜索