博客园
虽然痛苦,却依旧要快乐,并相信着未来。

导航

 

Zfile简介

此项目是一个在线文件目录的程序, 支持各种对象存储和本地存储, 使用定位是个人放常用工具下载, 或做公共的文件库. 不会向多账户方向开发.

前端基于 h5ai 的原有功能使用 Vue 重新开发、后端采用 SpringBoot, 数据库采用内嵌数据库.

预览地址: https://zfile.vip

文档地址: https://docs.zfile.vip

社区地址: https://bbs.zfile.vip

github开源地址:https://github.com/zhaojun1998/zfile/

z-file 安装

安装java依赖

# Debian/Ubuntu系统
apt update
apt install -y openjdk-8-jre-headless unzip

下载项目

下面命令中第一行表示默认安装到用户目录下: ~/zfile 下。

对于 root 用户, ~ = /root, ~/zfile 表示在 /root/zfile 路径下。

对于其他用户, ~ = /hone/用户名 表示在 /home/用户名/ 路径下。如对于 oracle 用户, ~/zfile 则表示安装在 /home/oracle/zfile 下。

如需更改安装路径, 请自行修改,如 export ZFILE_INSTALL_PATH=/data/zfile,表示安装在 /data/zfile 路径下。

export ZFILE_INSTALL_PATH=~/zfile
mkdir -p $ZFILE_INSTALL_PATH && cd $ZFILE_INSTALL_PATH
wget https://c.jun6.net/ZFILE/zfile-release.war
unzip zfile-release.war && rm -rf zfile-release.war
chmod +x $ZFILE_INSTALL_PATH/bin/*.sh

常用命令

 ~/zfile/bin/start.sh       # 启动项目
 ~/zfile/bin/stop.sh        # 停止项目
 ~/zfile/bin/restart.sh     # 重启项目

更新方式

# 停止程序
~/zfile/bin/stop.sh
# 删除安装文件夹 
rm -rf ~/zfile

# 重新下载安装最新版
export ZFILE_INSTALL_PATH=~/zfile
mkdir -p $ZFILE_INSTALL_PATH && cd $ZFILE_INSTALL_PATH
wget https://c.jun6.net/ZFILE/zfile-release.war
unzip zfile-release.war && rm -rf zfile-release.war
chmod +x $ZFILE_INSTALL_PATH/bin/*.sh

DEBUG 模式

配置文件在~/zfile/WEB-INF/classes/application.yml

开启 debug 模式后:

  1. 可以访问 http(s)://ip:port/h2-console ,使用内置的 h2 数据库控制台来维护数据库。
  2. 可以访问 http(s)://ip:port/debug/resetPwd,会将用户名强制重置为 admin,密码修改为 123456。

在配置文件 application.yml 中 zfile -> debug 修改。

NGINX 反向代理

安装

#注:以下命令切勿使用apt 卸载/安装!apt不能彻底卸载或者安装!
#卸载之前安装nginx
apt-get --purge remove nginx

# 安装nginx
apt-get install nginx
#安装位置信息
whereis nginx 
#nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx /usr/share/man/man8/nginx.8.gz
#nginx 配置信息地址:/etc/ngin

配置

主配置信息:/etc/nginx/nginx.conf

修改倒数两行代码,若仅用nginx代理8080端口的话,可以注释掉最后一行;否则,可将sites-enabled内的default删除!

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
	worker_connections 768;
	# multi_accept on;
}

http {

	##
	# Basic Settings
	##

	sendfile on;
	tcp_nopush on;
	tcp_nodelay on;
	keepalive_timeout 65;
	types_hash_max_size 2048;
	# server_tokens off;

	# server_names_hash_bucket_size 64;
	# server_name_in_redirect off;

	include /etc/nginx/mime.types;
	default_type application/octet-stream;

	##
	# SSL Settings
	##

	ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
	ssl_prefer_server_ciphers on;

	##
	# Logging Settings
	##

	access_log /var/log/nginx/access.log;
	error_log /var/log/nginx/error.log;

	##
	# Gzip Settings
	##

	gzip on;

	# gzip_vary on;
	# gzip_proxied any;
	# gzip_comp_level 6;
	# gzip_buffers 16 8k;
	# gzip_http_version 1.1;
	# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

	##
	# Virtual Host Configs
	##

	include /etc/nginx/conf.d/*.conf;
	#include /etc/nginx/sites-enabled/*;
}

在conf.d文件下,随便新建一个a.conf

server {
    listen       80;
    server_name  此处填写你的域名;
    #access_log logs/dazhutizi_top.log;
    #error_log logs/dazhutizi_top_error.log;
    
    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:8080;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

常用命令

# 重新加载配置
nginx -s reload
# 查看nginx.service状态,按q退出
systemctl status nginx
# 关闭服务
systemctl stop nginx
#开启服务,若重启则,restart
systemctl start nginx

# 若报错如下,则说明nginx服务已经存在,已经占据端口80,可对其kill后重启
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
#若报pid无法启动,则以下命令启动
nginx -c /etc/nginx/nginx.conf

# 注意!
# 注意!
# 注意!
# 测试时,请新建一个无痕浏览器,默认浏览器会缓存静态html文件!在短时间内请求相同地址时,直接显示已缓存内容!!!!!!

# nginx -h
nginx version: nginx/1.18.0 (Ubuntu)
Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:
  -?,-h         : this help
  -v            : show version and exit
  -V            : show version and configure options then exit
  -t            : test configuration and exit
  -T            : test configuration, dump it and exit
  -q            : suppress non-error messages during configuration testing
  -s signal     : send signal to a master process: stop, quit, reopen, reload
  -p prefix     : set prefix path (default: /usr/share/nginx/)
  -c filename   : set configuration file (default: /etc/nginx/nginx.conf)
  -g directives : set global directives out of configuration file

posted on 2022-04-09 14:29  砖猿  阅读(484)  评论(0编辑  收藏  举报