ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

使用可道云kodbox在ubuntu云服务器上搭建自己的私有云盘(详细教程)

2020-12-05 13:58:23  阅读:1253  来源: 互联网

标签:php log 云盘 sudo php7.2 nginx ubuntu kodbox fastcgi


目录

前言

可道云是一个国产的云盘产品,用起来还蛮稳定的,还支持对象存储、WebDev挂载等等,在此推荐一波(可道云记得打钱)。官网:kodcloud.com

环境:

  • 主机:阿里云ecs学生机Ubuntu18.04
  • 依赖包:nginx 1.14\php\mariadb\redis
  • 可道云:v1.14

傻瓜式部署

面板方式

可道云官方提供了一些面板方式部署,例如:宝塔面板、AppNode,在宝塔面板的软件商店里可以找到并一键部署,我的实现方式为自定义部署,在此就不赘述了。

Docker方式

可道云官方还提供了Docker的部署,在此推荐使用Docker-compose实现其nginx+fpm的部署方式,官方在其Docker主页里也提供了详细教程,也不赘述了。
Docker主页:kodbox

自定义部署

上述的部署方式虽然很简单,但是很多人并没有依赖于面板,而Docker的可扩展性和可操作性不强,官方在Docker容器内部署了一个nginx,导致可能会与主机环境下的nginx冲突。因此,我最终是在主机环境下自定义搭建,教程如下:

1.依赖环境安装

1.1 Nginx

安装Nginx,命令:

sudo apt-get install nginx

验证安装:

nginx -v

成功安装后会显示版本号。

1.2 MariaDB

安装MariaDB-server,命令:

sudo apt install mariadb-server

安全方式安装,命令:

sudo mysql_secure_installation

随后按照mariadb的提示进行配置就可以了。

1.3 Redis

不想使用Redis做缓存的同学可以跳过这一步,不过还是建议使用Redis来做缓存,更安全高效。
安装Redis,命令:

sudo apt-get install redis-server

验证安装:

ps -aux|grep redis

应该会看到类似如下信息:

redis     5699  0.1  0.1  51452  3728 ?        Ssl  12:05   0:00 /usr/bin/redis-server 127.0.0.1:6379

1.4 PHP

建议将php放在最后进行安装,防止依赖出问题。
安装php及各种插件,命令:

sudo apt-get install php7.2-fpm php7.2-mysql php7.2-curl php7.2-json php7.2-mbstring php7.2-xml  php7.2-intl php7.2-gd php7.2-redis

验证安装:

php -v
sudo service php7.2-fpm status

第一条命令应该会正确显示出php版本7.2,第二条命令应该会显示php7.2-fpm服务处于active状态。

2.环境配置

2.1 Nginx配置

将/etc/nginx/nginx.conf修改为如下配置:

#user  nobody;
worker_processes auto;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        run/nginx.pid;


events {
    use epoll;
    worker_connections 51200;
    multi_accept on;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
	access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

	server_names_hash_bucket_size 512;
	client_header_buffer_size 32k;
	large_client_header_buffers 4 32k;
	client_max_body_size 10G;
	
	sendfile        on;
	tcp_nopush     on;
	tcp_nodelay on;
	keepalive_timeout 720;
    
	fastcgi_connect_timeout 3600;
	fastcgi_send_timeout 3600;
	fastcgi_read_timeout 3600;
	fastcgi_buffer_size 64k;
	fastcgi_buffers 4 64k;
	fastcgi_busy_buffers_size 128k;
	fastcgi_temp_file_write_size 256k;
	fastcgi_intercept_errors on;
 
	gzip on;
    gzip_min_length  1k;
    gzip_buffers     4 16k;
    gzip_http_version 1.1;
    gzip_comp_level 2;
    gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml;
    gzip_vary on;
    gzip_proxied   expired no-cache no-store private auth;
    gzip_disable   "MSIE [1-6]\.";
	server_tokens off;
    
    include /etc/nginx/sites-enabled/*;
    include /etc/nginx/conf.d/*;
}
#daemon off;

在配置kodbox对应的conf文件之前,首先要修改一下php-fpm配置文件/etc/php/7.2/fpm/pool.d/www.conf:

sudo vim /etc/php/7.2/fpm/pool.d/www.conf

将其中的:

listen = /run/php/php7.2-fpm.sock
修改为
listen = 127.0.0.1:9000 

随后在/etc/nginx/sites-enabled下,删除原有的default文件,新建文件kodbox.conf,并编辑为以下内容,记得注意fastcgi_pass:

server {
	listen   80; ## listen for ipv4; this line is default and implied
	listen   [::]:80 default ipv6only=on; ## listen for ipv6

	root /var/www/html;
	index index.php index.html index.htm;
        #return 301 https://$host$request_uri;
	# Make site accessible from http://localhost/
	server_name _;
	
	# Disable sendfile as per https://docs.vagrantup.com/v2/synced-folders/virtualbox.html
	sendfile on;

	# Add stdout logging
	# error_log /dev/stdout info;
	# access_log /dev/stdout;

        # Add option for x-forward-for (real ip when behind elb)
        #real_ip_header X-Forwarded-For;
        #set_real_ip_from 172.16.0.0/12;

	# block access to sensitive information about git
	location /.git {
           deny all;
           return 403;
        }

	# pass the PHP scripts to FastCGI server listening on socket
	#
	# enable pathinfo
	location ~ [^/]\.php(/|$) {
                try_files $uri =404;
		fastcgi_pass 127.0.0.1:9000; #这里注意,填写与php-fpm的listen相对应的端口
		fastcgi_index index.php;
		set $path_info $fastcgi_path_info;
        	set $real_script_name $fastcgi_script_name;		
        	if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
		    set $real_script_name $1;
		    set $path_info $2;
        	}
		fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
       		fastcgi_param SCRIPT_NAME $real_script_name;
		fastcgi_param PATH_INFO $path_info;
		include fastcgi_params;
	}

        location ~* \.(jpg|jpeg|gif|png|css|js|ico|webp|tiff|ttf|svg)$ {
                expires           30d;
        }
	
	location ~ .*\.(js|css)?$
	{
		expires      12h;
	}
	# deny access to . files, for security
	#
	location ~ /\. {
    		log_not_found off; 
    		deny all;
	}
        
	location ^~ /.well-known {
                allow all;
                auth_basic off;
        }
	
	location = /favicon.ico {
		log_not_found off;
	}
}

重启nginx和php-fpm:

sudo service php7.2-fpm restart
sudo service nginx restart

2.2 数据库配置

使用如下命令进入mariadb交互界面:

sudo mysql

创建一个新用户admin备用:

GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' IDENTIFIED BY '填密码';
FLUSH PRIVILEGES;

随后退出数据库,使用刚刚创建的用户来登录数据库:

mysql -uadmin -p

创建一个新数据库用于存放云盘数据:

create database kod_box default character set utf8;

2.3 kodbox

今天的主角Kodbox,首先把它的最新版本压缩包下载下来:

wget http://static.kodcloud.com/update/download/kodbox.1.14.zip

将它解压到/var/www/html目录下,或者在该目录下创建一个文件夹kodbox,将它解压到该文件夹下,那么将来就可以通过http://域名或IP/kodbox来访问了。

sudo cp kodbox.1.14.zip /var/www/html/
cd /var/www/html
unzip kodbox.1.14.zip

将/var/www/html整个目录的权限设置为777

cd /var/www
sudo chmod -R 777 html/

访问http://你的域名或IP,开始配置:
第一步
第二步
第三步
配置完成,开始愉快地使用:
在这里插入图片描述
在这里插入图片描述

标签:php,log,云盘,sudo,php7.2,nginx,ubuntu,kodbox,fastcgi
来源: https://blog.csdn.net/qq_26037391/article/details/110678779

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有