刚刚发布了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拓展(链接)进行上传。
后台界面:
lolisafe-4.png


基础环境部署:

lolisafe.png
以下环境部署均在Ubuntu 14.04下完成。
大体内容参考自Digital Ocean的"How To Set Up a Node.js Application for Production on Ubuntu 16.04"
1.Node.jsnpm
最新的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.jsnpm已经都安装完成了,对于一些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设置为trueenableUserAccounts设置为false
反之,则分别设置为falsetrue,这将开放上传功能,同时用户可以注册账户以管理自己上传过的文件;

运行端口:
如果你已经有其他程序在占用9999端口,那么你可以将port的值设为其他端口;

域名:
如果你不需要域名,那么domain这一项你不用管,运行lolisafe后直接通过http://ip:port即可访问。

最大文件:
建议将maxSize设置为10M-200M以内,同时设置后此处后,在后文的nginx conf部分仍需设置,请注意。

3.安装依赖
在lolisafe的文件夹下,运行:

npm install

4.运行lolisafe

pm2 start lolisafe.js

如显示以下内容,即已经正常运行:
lolisafe-2.png
如果你需要修改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了!
lolisafe-3.png

Last modification:July 10, 2019
If you think my article is useful to you, please feel free to appreciate