刚刚发布了v3.0.0的lolisafe,基于Node.js而拥有轻便、快速部署的特性,确实称得上"A modern self-hosted file upload service",今天就分享一下在Ubuntu下部署lolisafe的过程。
介绍:
Github:https://github.com/WeebDev/lolisafe
Demo:
https://lolisafe.moe
https://safe.moe
https://p.ko.mk
lolisafe的使用非常简单,支持即时拖拽上传,也支持通过API上传,或者通过官方的Chrome拓展(链接)进行上传。
后台界面:
基础环境部署:
以下环境部署均在Ubuntu 14.04
下完成。
大体内容参考自Digital Ocean的"How To Set Up a Node.js Application for Production on Ubuntu 16.04"。
1.Node.js
及npm
最新的lolisafe v3.0.0要求Node.js
最低版本为7.6.0,因此我们这里这样操作:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
参考来源:https://github.com/nodesource/distributions
此时,node.js
和npm
已经都安装完成了,对于一些npm包,可能还需要安装build-essential
:
sudo apt-get install build-essential
2.PM2
通过PM2
我们可以方便地启动和管理Node.js
程序。
sudo npm install -g pm2
部署lolisafe:
1.在想要存放lolisafe的文件夹下,将lolisafe从github上clone下来:
git clone https://github.com/WeebDev/lolisafe.git
2.配置
将config.sample.js
重命名为config.js
;
文件内的参数都有明确的配置说明,因此我只挑部分讲。
开放性:
如果你希望lolisafe仅为私人使用,那么将private
设置为true
,enableUserAccounts
设置为false
;
反之,则分别设置为false
和true
,这将开放上传功能,同时用户可以注册账户以管理自己上传过的文件;
运行端口:
如果你已经有其他程序在占用9999
端口,那么你可以将port
的值设为其他端口;
域名:
如果你不需要域名,那么domain
这一项你不用管,运行lolisafe后直接通过http://ip:port
即可访问。
最大文件:
建议将maxSize
设置为10M-200M以内,同时设置后此处后,在后文的nginx conf部分仍需设置,请注意。
3.安装依赖
在lolisafe的文件夹下,运行:
npm install
4.运行lolisafe
pm2 start lolisafe.js
如显示以下内容,即已经正常运行:
如果你需要修改config.js
参数,可以在修改后通过pm2 restart lolisafe
,重启lolisafe。
绑定域名
如果你希望通过域名访问lolisafe,在上文的config.js
中你应该已经修改了domain
参数,接下来讲解如何通过Nginx反代绑定域名;
在lolisafe v3.0.0中,已经自带了完善的nginx.sample.conf
,修改其中参数即可,下面是一些重要项:
server 127.0.0.1:3000; # 将3000修改为你在config.js中设定的port参数值
server_name lolisafe.moe; #将lolisafe.moe修改为你在config.js中设定的domain参数值
client_max_body_size 100M; # 将100M修改为你在config.js中设定的maxSize参数值
至此,重启一下nginx,即可通过域名直接访问lolisafe了!
16 comments
[...]2017-10-09 update:在《lolisafe:基于Node.js的小清新文件分享/图床平台》中,我找到了Ubuntu系统中更方便的Node.js环境部署方案,大家可以前往参考。[...]
[...]2017-10-09 update:在《lolisafe:基于Node.js的小清新文件分享/图床平台》中,我找到了Ubuntu系统中更方便的Node.js环境部署方案,大家可以前往参考。[...]
[...]https://p.yk.tnPowered by loli-safeRelated:「lolisafe:基于Node.js的小清新文件分享/图床平台」A modern self-hosted file upload service.轻量化的图床平台,简洁无水印,支持外链。目前托管于荷兰「BudgetNode」旗下VPS,非高峰期访问速度优异。*该服务仅面向好友开放。[...]
[...]https://p.yk.tnPowered by loli-safeRelated:「lolisafe:基于Node.js的小清新文件分享/图床平台」A modern self-hosted file upload service.轻量化的图床平台,简洁无水印,支持外链。目前托管于荷兰「BudgetNode」旗下VPS,非高峰期访问速度优异。*该服务仅面向好友开放。[...]
[...]以下的.conf文件我参考了lolisafe中的.conf写法:[...]
[...]2017-10-09 update:在《lolisafe:基于Node.js的小清新文件分享/图床平台》中,我找到了Ubuntu系统中更方便的Node.js环境部署方案,大家可以前往参考。[...]
[...]2017-10-09 update:在《lolisafe:基于Node.js的小清新文件分享/图床平台》中,我找到了Ubuntu系统中更方便的Node.js环境部署方案,大家可以前往参考。[...]
[...]2017-10-09 update:在《lolisafe:基于Node.js的小清新文件分享/图床平台》中,我找到了Ubuntu系统中更方便的Node.js环境部署方案,大家可以前往参考。[...]
[...]https://p.yk.tnPowered by loli-safeRelated:「lolisafe:基于Node.js的小清新文件分享/图床平台」A modern self-hosted file upload service.轻量化的图床平台,简洁无水印,支持外链。目前托管于荷兰「BudgetNode」旗下VPS,非高峰期访问速度优异。*该服务仅面向好友开放。[...]
[...]https://p.yk.tnPowered by loli-safeRelated:「lolisafe:基于Node.js的小清新文件分享/图床平台」A modern self-hosted file upload service.轻量化的图床平台,简洁无水印,支持外链。目前托管于荷兰「BudgetNode」旗下VPS,非高峰期访问速度优异。*该服务仅面向好友开放。[...]
[...]https://p.yk.tnPowered by loli-safeRelated:「lolisafe:基于Node.js的小清新文件分享/图床平台」A modern self-hosted file upload service.轻量化的图床平台,简洁无水印,支持外链。目前托管于荷兰「BudgetNode」旗下VPS,非高峰期访问速度优异。*该服务仅面向好友开放。[...]
[...]以下的.conf文件我参考了lolisafe中的.conf写法:[...]
[...]以下的.conf文件我参考了lolisafe中的.conf写法:[...]
好奇問個,yk.tn域名是怎麼註冊的?
就正常注册的。。但是有翻车几率,现在不建议注册了。。
清新可爱 喜欢喜欢;3