背景
-
问题:使用markdwon写文档的时候,由于场景需要,可能需要将文件到处拷贝,如果文件中含有图片,这个时候显示不出来,就需要一个公共的图片服务器了
(比如我希望使用markdown能直接在本地用atom编写,然后发表在任何博客上,然后在为知笔记也保存一份),这时候我们可以使用拥有公网的服务器搭建图片服务器
,由于自己有一个二手电脑在家里充当服务器,但是没有公网ip(房东的网线),所以还需要做内网穿透。 - markdown插入图片痛点解决:
- 可使用各大论坛的markdown编辑器(csdn等)插入图片功能生成外链,copy下来即可。
- 可利用各大外网服务器搭建自己的图片服务器。
- 可直接利用七牛云或者其他对象服务,就行了。
- **可以利用闲置电脑搭建图片服务器。**本文讲的是这种做法,主要就是为了方便自己以后定制功能,瞎折腾。
介绍
- nginx:这里利用nginx搭建一个图片服务器,使得上传的图片能在任何地方访问到。
-
http:本质上也可以使用nginx+ftp的选型,但是由于http可以基于web做更多的自定义,所以牺牲了一些速度,选择了http。这里使用的是springboot搭建
简单的文件上传 -
frp:这里frp的作用在于做内网穿透,比如你有一台没有用的电脑想做服务器,但是没有公网ip的时候,可以使用frp做穿透。(如果是自己拉电信的网络,有另外的解决方法
,因为不是专线的电信可以打10000申请公网ip,但是会不定时更新,所以自己写一个python脚本监控ip变化时更改绑定的域名解析就可以了。)
nginx
#增加用户jehadftp,指向目录/home/jehadftp,禁止登录SSH权限
useradd -d /home/jehadftp -g ftp -s /sbin/nologin jehadftp
passwd xxx
附上nginx的简单配置
http{
server {
listen 8090;
#server_name配上自己的域名,以便外网访问得到图片
server_name 192.168.1.10 www.yourdomain.com;
location / {
root /home/jehadftp;
index index.shtml index.html index.htm;
}
}
}
http
github地址:
https://github.com/jaryn-fang/springboot-markdown-img.git
这个只是简单的文件上传,用什么去写都行。
frp
frp文档:
https://github.com/fatedier/frp/blob/master/README_zh.md
- 服务端(即你还需要一台拥有公网的服务器,可以国内腾讯云各种做优惠的时候买,基本几块钱/月):
[root@VM_0_8_centos frp_0.19.1_linux_amd64]# cat frps.ini
[common]
bind_port = 7000
- 客户端:
[root@localhost frp_0.19.1_linux_amd64]# cat frpc.ini
[common]
server_addr = 111.230.114.75
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22199
remote_port = 22199
[img-tomcat]
type = tcp
local_ip = 127.0.0.1
local_port = 8089
remote_port = 8089
# custom_domains = www.jhcoder.top
[img-nginx]
type = tcp
local_ip = 127.0.0.1
local_port = 8090
remote_port = 8090
#custom_domains = www.jhcoder.top
[mysql]
type = tcp
local_ip = 127.0.0.1
local_port = 3306
remote_port = 3306
- frp自启动
服务端(腾讯云):
vim /usr/lib/systemd/system/frps.service
###########################文件内容开始
[Unit]
Description=frps
After=network.target
[Service]
TimeoutStartSec=30
ExecStart=/data/frp/frp_0.19.1_linux_amd64/frps -c /data/frp/frp_0.19.1_linux_amd64/frps.ini
ExecStop=/bin/kill $MAINPID
[Install]
WantedBy=multi-user.target
###########################文件内容结束
systemctl enable frps
systemctl start frps
客户端(家里内网)
vim /usr/lib/systemd/system/frpc.service
###########################文件内容开始
[Unit]
Description=frpc
After=network.target
[Service]
TimeoutStartSec=30
ExecStart=/data/frp/frp_0.19.1_linux_amd64/frpc -c /data/frp/frp_0.19.1_linux_amd64/frpc.ini
ExecStop=/bin/kill $MAINPID
[Install]
WantedBy=multi-user.target
###########################文件内容结束
systemctl enable frps
systemctl start frps
最后实现的效果
-
快速地粘贴或者上传图片,获取图片引用地址,节省文档时间。
-
另外提供了图片查看的效果,可重复利用图片
后记
其实思路就在这里,方法有很多,一开始最主要的还是为了方便快速地写markdown文档,解决markdown插入图片麻烦的问题。
版权声明:本文为jaryn_fang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。