近期因为自己的需求,想把一台pt服务器用于跑pt的同时,还能当网站云存储使用,大概说下为什么要这么做的原因。

原因前提:有个英文模版站需要提供模板下载,如果用网站本身服务器,硬盘没那么大,如果单加硬盘价格也贵,如果用Google Drive Gsuite对于用户下载比较麻烦,反正我觉得Google Drive的下载是略有复杂的,当然有时候可能还得考虑DMCA的原因。

而我pt服务器的硬盘足够大,刚好服务器已经安装了nginx和php,那么只需要新建一个nginx配置文件就可以了。

我新建网站的需求:只需要一个网站目录即可,无需数据库,用ftp绑定这个网站目录可以上传文件,绑定一个cloudflare的域名过来当云存储用。

这种情况会不会影响网站的效率?

  • 因为我的需求特殊性,所以不考虑这点,基本无大碍。
  • 这样做,对于我来说是又节省了一台大容量硬盘服务器的费用。

一、把pt盒子的nginx配置文件代码复制一份,然后新建文件test,把刚才pt的nginx配置改成网站目录就行,由于用了cloudflare,所以ssl这段随意,不验证服务器端就行了。

cd /etc/nginx/sites-enabled #进入配置文件夹
cat default  #复制里面的代码
返回目录来
vim test
把刚才的代码粘贴进去,然后对应改下
之后再返回来给test文件设置权限
chmod 755 test

比如下面这段,我新建的网站目录是:/home/test,当然还得加上绑定的域名,接下来去完善网站那边。

server {
    listen 80;
    listen [::]:80;
    server_name 域名;

    location /.well-known {
      alias /srv/.well-known;
      allow all;
      default_type "text/plain";
      autoindex    on;
    }

  
}
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name 域名;
    ssl_certificate /etc/ssl/域名ssl证书.pem;
    ssl_certificate_key /etc/ssl/域名ssl证书.key;
    include snippets/ssl-params.conf;
    client_max_body_size 40M;
    server_tokens off;
    root /home/test;

    index index.html index.php index.htm;

    # resolve multi-redirect
    if ($request_uri ~ "^[^?]*?//") {
    rewrite "^" $scheme://$host$uri permanent;
    }

    location ~ \.php$
    {
      fastcgi_read_timeout 240;
      fastcgi_pass  unix:/run/php/php7.4-fpm.sock;
      include snippets/fastcgi-php.conf;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    location ~ /\.ht {
        deny all;
    }

    location /fancyindex {

    }
}

二、完善网站目录和ftp权限

来到home目录

cd /home
mkdir test #新建网站test目录
chown www-data test #设置目录的网站权限
chmod 777 test #这个权限是为了ftp能上传下载,当然也可以用755

创建ftp这块这里就不说了,因为我昨天刚写过,具体参考:vsftpd 530 Login incorrect错误解决

三、验证nginx配置与ftp连接

上面的都完成之后,测试以下nginx先。

nginx -t #看看有没有什么错误,没有就重启nginx服务
service nginx restart #重启nginx 具体根据自己服务器来

现在去连接下ftp工具,如果能连接,能上传下载文件,就完事大吉啦!

把文件通过ftp上传到网站目录去,然后用绑定的域名提供文件对应的下载连接。

疑问?

那么别人可以通过域名能自己连接ftp吗?

  • 不能
  • ftp端口是容易知道,但是ftp有密码不说,还因为域名是绑定cloudflare走了强制ssl,所以不用担心这个问题。