美文网首页
这一个月来做的一个电影下载网站项目总结

这一个月来做的一个电影下载网站项目总结

作者: 0x584A | 来源:发表于2016-04-06 18:59 被阅读391次

    这一个月来做的一个电影下载网站项目总结

    Date:2016-4-6 13:51:36 By:0x584A

    前言

    这一个月没发生什么大事吧,首先就是把之前的工作辞了,去了漏洞盒子面试被项目经理虐趴了。惨~~~开始严重怀疑人生... 随后'一蹶不振'在家一个月给人做网站,顺带休息(瞎扯淡,一个月根本没出门好吗!)。最后到手的钱呢,才够买两包烟。哎~明天开始出门找工作。

    说说收获吧,将《Web全栈工程师的自我修养》《代码之髓》阅读完了,收获良多,等有个时间写下读后感。

    1. 项目架构

    购了两台服务器,一台阿狸的用于mysql服务器,随便又买个一台Web服务器(怕阿狸不让架设这类型的站点)。

    现在网站还在备案当中,可以预览此地址查看:http://103.24.176.18:81/

    服务器系统均为Debian8,Web服务则是Nginx,PHP框架选用的是ThinkPHP,数据库老样子是MySQL(本来打算在加个memcache缓存,最终协商在以后的版本中单独做。当然,如果有以后的话)。

    值得一提的是,我在网站的后台管理中,采用了Bootstrap前端框架,算是一边学习一边运用至项目中吧。其好处就是,我不需要去花太多时间在视图的布局及调试上,通过及自带的组件与全局CSS就能实现。

    同样的,虽然优点很多,却有得有失。

    • 类似我这种后端程序员在使用时,如果想定制些好看的样式,那么必须具备良好的CSS基础(推荐书记:禅意花园),能在Bootstrap的样式上进行扩展,或更改。

    • 因为本上掉用组件就需要jQuery库的支持,所以在控制页面DOM的时候基本无差别。

    最终的结果是,后台比前台好看.. 额~

    31.png 32.png

    2. 用到的技术

    整站从后端,前端到运维,都是我一个人独立完成的,总的来说成就感棒棒哒。

    1. 前端的技术优化

      • 线上环境压缩了js及css源文件体积,图片显示用了延迟加载
      • 服务器端开启了Gzip压缩
      • 在后台运行了AJAX进行数据的CURD操作。(因为前台的用户交互操作较少,所以并没运用上AJAX技术)
      • 将网站静态资源放置另一台服务器上(该功能最终没做,其用途是减少对当前Web服务器的HTTP请求处理)
    2. 后端的技术优化

      • 源生ThinkPHP框架的文件缓存,及uri优化
      • MySql针对每条sql做了索引优化
      • 在数据库服务器上定时脚本备份数据库数据
      • 定时清理ThinkPHP工作缓存目录(通过计时任务及PHP脚本实现)

    数据库定时备份脚本(因为ThinkPHP的数据库链接账号是降权用户,所有该脚本都是在服务器上运行,mysqlhotcopy只能在服务器上运行,远端用户并没有该权限!)

    <?php
    // 定时脚本 每天三点半执行脚本
    // 30 3 * * * php /home/mysqlbak/mysqlbak.php
    
    // 获取当前时间 用于创建文件夹及保存文件
    $bakDate = date('Ymdhis',time());
    $bakDay = date('Ymd',time());
    
    // 新建当天的文件夹
    exec("mkdir {$bakDay} && cd {$bakDay} && mkdir Database && mkdir TableSql && mkdir DataSql");
    
    // 备份表结构
    exec("mysqldump -u账号 -p密码 -d 数据库名称 > {$bakDay}/TableSql/{$bakDate}.sql");
    
    // 备份表及数据
    exec("mysqldump -u账号 -p密码 数据库名称 > {$bakDay}/DataSql/{$bakDate}.sql");
    
    // 完整备份数据库 运行在mysql服务器上
    exec("mysqlhotcopy -u账号 -p密码 数据库名称 {$bakDay}/Database/");
    
    

    Nginx的配置项如下:

    server {
        # 指定端口及IP冲突
        listen 80 default_server;
        listen [::]:80 default_server;
    
        # 项目目录地址
        root /home/xjiek/www/dy;
    
        # 默认首页显示页面
        index index.html index.htm index.php;
    
        # 网站域名 默认请求127.0.0.1
        server_name _;
    
        # 站点显示编码集
        charset utf-8;
    
        # 重定向至服务器文件
        location /Public/ {
            alias /home/xjiek/www/dy/Public/;
        }
        location /public/ {
            alias /home/xjiek/www/dy/Public/;
        }
        location /upload/ {
          alias /home/xjiek/www/dy/upload/;
        }
    
        # 图片缓存30天 用户浏览器缓存
        location ~.*\.(jpg|png|jpeg)$
        {
          expires 30d;
        }
    
        #js css缓存一小时 用户浏览器缓存
        location ~.*\.(js|css)?$
        {
          expires 1h;
        }
    
        # ThinkPHP 请求重写 用于忽略入口文件
        location / {
            index  index.php index.html index.html;
            try_files $uri $uri/ /index.php?s=$uri;
        }
    
        location ~ .php$ {
        fastcgi_pass   127.0.0.1:9000;
    
        fastcgi_index index.php;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
        }
    
        # 不启用.htaccess文件配置
        location ~ /\.ht {
            deny all;
        }
    }
    

    相关文章

      网友评论

          本文标题:这一个月来做的一个电影下载网站项目总结

          本文链接:https://www.haomeiwen.com/subject/xgdmlttx.html