前言

  • 分享文件,代码时作为外链。
  • 绑定域名,作为图床使用。以后就算更换服务器也能正常使用。
  • 上传方便,在Windows下相当于文件夹
  • 可以白嫖5T空间

Github项目链接

https://github.com/donwa/oneindex

搭建步骤

PHP5.6+,安装并打开curl
OneDrive账号

  1. 安装PHP5.6+和curl

    • 如果PHP版本小于5.6可能会出现500错误。
    • 安装curl后还要打开php支持

      • 修改 php.ini我的是在 /etc/php/7.0/apache2路径下。
      • ;extension=php_curl.dll最前的分号删去,保存,重启PHP服务即可
  2. 访问服务器地址进行安装oneindex1oneindex2
  3. 安装完成后即可进入后台
    https://www.yourdomain.com/?/admin/

crontab定时刷新缓存

  • 如果不进行优化,网页会比网盘延迟很久
  1. 检查是否安装crontabcrontab -l

    • 如果报 “command not found” ,就说明该crontab服务没有安装
    • 如果报 “no crontab for root” ,就说明已经安装crontab服务
  2. 添加任务crontab -e第一次执行会选择编辑器,nano或者vim等添加以下代码

        # 每10分钟刷新一次
        */10 * * * * /usr/bin/php /var/www/html/one.php cache:refresh

代码不一定相同,可以在后台找到。我设置的是1分钟刷新。

  1. 重启服务

    service cron restart    #重启服务
    service cron status     #查看状态

crontab命令详解

Linux crontab是用来定期执行程序的命令。
当安装完成操作系统之后,默认便会启动此任务调度命令。
crond 命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
而 linux 任务调度的工作主要分为以下两类:

  1. 系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存
  2. 个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置
  • Crontab命令有3个参数:

    -e :编辑用户的crontab  
    -l :列出用户的crontab的内容  
    -r :删除用户的crontab的内容  
  • 时间格式如下:

    f1 f2 f3 f4 f5 program
    其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。
    当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,以此类推
    当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,一次类推
    当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,以此类推
    当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,以此类推
    
    *    *    *    *    *
    -    -    -    -    -
    |    |    |    |    |
    |    |    |    |    +----- 星期中星期几 (0 - 7) (星期天 为0)
    |    |    |    +---------- 月份 (1 - 12) 
    |    |    +--------------- 一个月中的第几天 (1 - 31)
    |    +-------------------- 小时 (0 - 23)
    +------------------------- 分钟 (0 - 59)

Apache2开启伪静态

  • 去掉地址栏中的/?/

伪静态作用:伪静态即是网站本身是动态网页如.php、.asp、.aspx等格式动态网页有时这类动态网页还跟“?”加参数来读取数据库内不同资料。开启伪静态后,动态网页即被转换重写成静态网页类型页面,通过浏览器访问地址和真的静态页面没区别。前提服务器支持伪静态重写URL Rewrite功能。

a2enmod rewrite
ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load

/etc/apache2/apache2.conf中修改 AllowOverride修改为以下属性

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride ALL
        Require all granted
</Directory>

重启Apache /etc/init.d/apache2 restart

在网站根目录新建.htaccess文件

AddDefaultCharset utf-8
 
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
 
 
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
 
# otherwise forward it to index.php
RewriteRule . index.php

其他

  • 为了安全考虑,禁止直接访问目录

    • Apache2及以下:修改 /etc/apache2/apache2.conf

        <Directory /var/www/>
                Options Indexes FollowSymLinks
                AllowOverride None
                Require all granted
        </Directory>

    改为

      <Directory /var/www/>
              Options FollowSymLinks
              AllowOverride None
              Require all granted
      </Directory>
    • Apache2以后:修改 /etc/httpd/conf/httpd.conf
      Options Indexes FollowSymLinks #改成Options FollowSymLinks

    修改后重启Apache即可

httpd和apache的区别关系
apache作为web服务,像win下面的IIS一样;apache2以上版本改称为httpd。
httpd和apache关系,简单理解就是apache2以上版本改称为httpd。


参考链接:




扫一扫在手机打开当前页