• AIROBOT系统 之 私人存储 和 DLNA 智能电视云


    需求背景

    • 工作多年之后发现有太多的电子资料到处存放。个人电脑是Mac,硬盘都不大,放不了太多东西。并且有时候想随时随地存放一些东西。所有就有了大家一个私有存储的需求

    • 个人休息在家经常喜欢看电影电视剧,所有就有个想法,上班空隙可以下载自己喜欢看的资源,然后晚上或者休息日可以直接在电视上看,这样就想到了通过DLNA服务来和私有云结合起来

    效果图

    私人存储

    PC


    手机端


    600


    DLNA智能电视






    硬件准备

    600


    上图是我家的私人机房,是不是很牛逼。哈哈。我们整个系统都搭建在Mini PC(如果只是个人测试可以随便搞个虚拟机就行了)上,非常小。适合放在家里。本人在京东购买的,有需要的可以私聊具体信息。


    硬件信息如下

    操作系统:Ubuntu 18.04

    硬件配置:8G内存 + 1T机械硬盘 + 4个CPU

    环境:nginx + fpm

    私人云:NextCloud

    nextcloud简介

    nextcloud 是一个php开发的软件,官网地址:https://nextcloud.com/  。官网提供app方便移动上传。同时PC端提供了大量的插件方便扩展。


    php源码下载地址:https://nextcloud.com/install/# ,下载server端的。

    环境配置

    #安装nginx
    sudo apt-get install nginx
    
    #安装php-fpm 和 php 扩展。本人版本是7.2。
    sudo apt-get install -y php7.2-fpm php7.2-mbstring php7.2-soap 
    php7.2-zip php7.2-xmlrpc php7.2-xml  php7.2-readline php7.2-opcache 
    php7.2-mysql  php7.2-json php7.2-gd  php7.2-curl 
    php7.2-common php7.2-cli php7.2-cgi  
    
    #安装数据库
    sudo apt-get install mysql-server mysql-client
    #nginx 虚拟主机的配置内容
    
    upstream php-handler {
        server 127.0.0.1:9001;
    }
    
    server {
        listen 80;
        listen 10000;
        server_name  www.54php.cn;
        root /data/xxxx/yyyy/nextcloud;
        index  index.php index.html;
        add_header X-Content-Type-Options nosniff;
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Robots-Tag none;
        add_header X-Download-Options noopen;
        add_header X-Permitted-Cross-Domain-Policies none;
    
    	
        location / {
            rewrite ^ /index.php$uri;
        }
    
        location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
            deny all;
        }
        location ~ ^/(?:.|autotest|occ|issue|indie|db_|console) {
            deny all;
        }
    
        location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+).php(?:$|/) {
            fastcgi_split_path_info ^(.+.php)(/.*)$;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_param modHeadersAvailable true;
            fastcgi_param front_controller_active true;
            fastcgi_pass php-handler;
            fastcgi_intercept_errors on;
            fastcgi_request_buffering off;
        }
    
        location ~ ^/(?:updater|ocs-provider)(?:$|/) {
            try_files $uri/ =404;
            index index.php;
        }
    
    
        location ~ .(?:css|js|woff|svg|gif)$ {
            try_files $uri /index.php$uri$is_args$args;
            add_header Cache-Control "public, max-age=15778463";
            add_header X-Content-Type-Options nosniff;
            add_header X-XSS-Protection "1; mode=block";
            add_header X-Robots-Tag none;
            add_header X-Download-Options noopen;
            add_header X-Permitted-Cross-Domain-Policies none;
            # Optional: Don't log access to assets
            access_log off;
        }
    
        location ~ .(?:png|html|ttf|ico|jpg|jpeg)$ {
            try_files $uri /index.php$uri$is_args$args;
            access_log off;
        }
    }


    然后通过访问域名 第一次会 进入安装页面,大家填写具体信息就好了

    配置文件优化

    文件存储目录更改,默认存储在源码目录 data 目录。例如你的源码 /data/xxxx/yyyy/nextcloud 。

    那么存储目录就是 /data/xxxx/yyyy/nextcloud/data。如下图


    600


    为什么要修改存储目录?

        我认为不应该把存储的东西 和 源码 放在一起,因为源码部分可以被误删除,所以为了保证数据的安全要隔离所有私人云数据。

        通过修改 config/config.php 中的 datadirectory ,例如我的就是

    'datadirectory' => '/data/nextcloud_data',


    大家注意这个 存放目录,接下来的DLNA 智能电视云就从这里来的。这样我就把存放的文件 和 php源码隔离开了。后面我做备份保证数据安全也好做了。

    智能电视云:DLNA

    智能电视

    现在基本上家家都换上了智能电视,那么什么是智能电视?举个手机的例子,以前我前两个手机都是国产的普通手机,后来进入了智能手机时代。同理 电视也是一样,就是一个安装了操作系统的电视。可以理解为一个显示屏很大的电脑。

    安装服务

    sudo apt-get install minidlna

    配置文件描述和优化

    #文件路径 /etc/minidlna.conf
    #port 服务端口,默认为8200
    #media_dir 媒体目录可以设置多个,如:media_dir=V,/noah/videos(逗号前为类型标识:A音频,P图片,V视频)
    #friendly_name	服务名称,在其它设备中看到的名称
    #inotify 设置为true,将自动发现媒体目录中的新文件
    
    #我的配置如下
    port=8200
    friendly_name=NasDLNA  #认真看上面的截图,是不是就是显示的名称
    inotify=yes
    media_dir=V,/data/nextcloud_data/xxxxx/files/movie/bt
    media_dir=V,/data/nextcloud_data/xxxxx/files/movie/大视频


    重点讲解下 media_dir 和 port 。

    port 配置的端口可以通过网页直接访问,会展示一些信息


    11.png

    media_dir 大家看到我配置的路径 是不是就是私人云存储文件的地方。下图是私有云截图


    600


    总结

    根据上面的操作 ,本人将私人存储 和 智能电视云就都完成了。我就可以在公司,在外面 随时随地的存放东西到家里。家里来亲朋好友了,可以通过电视给大家播放一些视频和图片。



    原文地址:AIROBOT系统 之 私人存储 和 DLNA 智能电视云
    标签:cloud   私人云   nextcloud   dlna   智能电视   airobot   

    智能推荐

  • 相关阅读:
    装饰器函数(一)
    面向对象的初阶复习
    内置函数/反射/内置方法(单例类面)
    property特殊属性/类方法/静态方法
    多态/封装
    接口类抽象类
    初始继承之顺序/深度优先及广度优先
    类涉及的空间关系及组合(可变项地址面)
    <head></head>
    让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法
  • 原文地址:https://www.cnblogs.com/apanly/p/10406095.html
Copyright © 2020-2023  润新知